From b34d3b09e7fc9d796d56157ca5f9adb864a31c76 Mon Sep 17 00:00:00 2001 From: Loek Le Blansch Date: Tue, 15 Oct 2024 17:00:11 +0200 Subject: more shuffling --- docs/class-diag.puml | 39 ++++++++++++++++++++++++++++++++++----- 1 file changed, 34 insertions(+), 5 deletions(-) (limited to 'docs') 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" <> { + remove_artist(Artist &) + get_artists() : forward_list -- - - artists : forward_list + - artists : forward_list + - artist_count : size_t + - museum : Museum & + -- + - deleted_artists : forward_list + - cleanup() } class Tile { + data : TileData + + color : Color + + behavior : uniq + + 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" <> { } 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" <> { 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, data), data) @@ -306,11 +324,21 @@ rectangle Group_Visualization as "Visualization" <> { } 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 -- cgit v1.2.3