diff options
author | Loek Le Blansch <loek@pipeframe.xyz> | 2024-10-15 17:00:11 +0200 |
---|---|---|
committer | Loek Le Blansch <loek@pipeframe.xyz> | 2024-10-15 17:00:11 +0200 |
commit | b34d3b09e7fc9d796d56157ca5f9adb864a31c76 (patch) | |
tree | 4cbfc46f3e824394520a409cff5667dba5e24ff1 /docs | |
parent | 3d9a47f0f6dcb6e6e33bf2d2bd34fa903422ac62 (diff) |
more shuffling
Diffstat (limited to 'docs')
-rw-r--r-- | docs/class-diag.puml | 39 |
1 files changed, 34 insertions, 5 deletions
diff --git a/docs/class-diag.puml b/docs/class-diag.puml index cfa954d..389395a 100644 --- a/docs/class-diag.puml +++ b/docs/class-diag.puml @@ -129,10 +129,24 @@ rectangle Group_Model as "Model" <<group>> { + remove_artist(Artist &) + get_artists() : forward_list<Artist *> -- - - artists : forward_list<Artist> + - artists : forward_list<Artist *> + - artist_count : size_t + - museum : Museum & + -- + - deleted_artists : forward_list<Artist *> + - cleanup() } class Tile { + data : TileData + + color : Color + + behavior : uniq<TileBehaviorStrategy> + + set_data(TileData &) + + set_type(type : const string &) + + update() + + step(Artist *) + + get_neighbor(dx, dy) : Tile * + -- + - museum : Museum & } struct TileData { + x : unsigned int @@ -141,8 +155,12 @@ rectangle Group_Model as "Model" <<group>> { } class Artist { + update() + + step : bool + + color : Color + + data : ArtistData -- - data : ArtistData + - museum : Museum & } struct ArtistData { + x : float @@ -288,10 +306,10 @@ rectangle Group_Visualization as "Visualization" <<group>> { width : unsigned int height : unsigned int } - enum Scancode { - } - + enum MouseCode { } + enum KeyboardCode { } package SDL3 { } + class View { + window_size(width, height) + dialog_file(callback : fn(files : vec<string>, data), data) @@ -306,11 +324,21 @@ rectangle Group_Visualization as "Visualization" <<group>> { } class ViewController { + update() + + ev_keydown(KeyboardCode); + + ev_mousedown(MouseCode); + + ev_mousemove(x, y); + -- + - draw_artists : bool <<+get>> <<+set>> + - cmd_base : const Command * } ViewController ..> View ViewController <-- View - View -> SDL3 + View --> SDL3 + + View .> Rectangle + ViewController .> KeyboardCode + ViewController .> MouseCode } } /' LAYOUT '/ @@ -327,6 +355,7 @@ main -d-> Museum main -u-> LoadFilesCommand main -[norank]> Deserializer main -[norank]> View +main .l> Exception ' LAYOUT Group_TileBehavior -r[hidden] Group_TileAppearance |