From 009cfbee0c28bb9c80e305de4a9c430350d6dde6 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Tue, 11 Mar 2025 17:49:13 -0400 Subject: Handled tilted subway items --- src/subway_map.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/subway_map.cpp') diff --git a/src/subway_map.cpp b/src/subway_map.cpp index f00f03f..94292fd 100644 --- a/src/subway_map.cpp +++ b/src/subway_map.cpp @@ -611,7 +611,18 @@ void SubwayMap::Redraw() { if (draw_type == ItemDrawType::kBox) { gcdc.SetPen(*wxThePenList->FindOrCreatePen(*wxBLACK, 1)); gcdc.SetBrush(*brush_color); - gcdc.DrawRectangle(real_area_pos, {real_area_size, real_area_size}); + + if (subway_item.tilted) { + constexpr int AREA_TILTED_SIDE = + static_cast(AREA_ACTUAL_SIZE / 1.41421356237); + const wxPoint poly_points[] = {{AREA_TILTED_SIDE, 0}, + {2 * AREA_TILTED_SIDE, AREA_TILTED_SIDE}, + {AREA_TILTED_SIDE, 2 * AREA_TILTED_SIDE}, + {0, AREA_TILTED_SIDE}}; + gcdc.DrawPolygon(4, poly_points, subway_item.x, subway_item.y); + } else { + gcdc.DrawRectangle(real_area_pos, {real_area_size, real_area_size}); + } } else if (draw_type == ItemDrawType::kOwl || draw_type == ItemDrawType::kOwlExit) { gcdc.SetPen(*wxThePenList->FindOrCreatePen(*wxBLACK, 1)); gcdc.SetBrush(*brush_color); -- cgit 1.4.1