about summary refs log tree commit diff stats
path: root/src/subway_map.h
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2024-06-06 11:09:15 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2024-06-06 11:09:15 -0400
commitf9d209b21596e5aac09a7743385065803749f6a0 (patch)
treeb5465072c5aadeebc4e6b8b0b189e04eea83b9a1 /src/subway_map.h
parent13d2a129f6972e6e752da9c9cb686a63d5550517 (diff)
downloadlingo-ap-tracker-f9d209b21596e5aac09a7743385065803749f6a0.tar.gz
lingo-ap-tracker-f9d209b21596e5aac09a7743385065803749f6a0.tar.bz2
lingo-ap-tracker-f9d209b21596e5aac09a7743385065803749f6a0.zip
Subway: Click to activate scroll / sticky popup
Diffstat (limited to 'src/subway_map.h')
-rw-r--r--src/subway_map.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/subway_map.h b/src/subway_map.h index 986998a..8b8c6a6 100644 --- a/src/subway_map.h +++ b/src/subway_map.h
@@ -32,6 +32,7 @@ class SubwayMap : public wxPanel {
32 void OnMouseMove(wxMouseEvent &event); 32 void OnMouseMove(wxMouseEvent &event);
33 void OnMouseScroll(wxMouseEvent &event); 33 void OnMouseScroll(wxMouseEvent &event);
34 void OnMouseLeave(wxMouseEvent &event); 34 void OnMouseLeave(wxMouseEvent &event);
35 void OnMouseClick(wxMouseEvent &event);
35 void OnTimer(wxTimerEvent &event); 36 void OnTimer(wxTimerEvent &event);
36 void OnZoomSlide(wxCommandEvent &event); 37 void OnZoomSlide(wxCommandEvent &event);
37 38
@@ -41,6 +42,8 @@ class SubwayMap : public wxPanel {
41 wxPoint MapPosToVirtualPos(wxPoint pos) const; 42 wxPoint MapPosToVirtualPos(wxPoint pos) const;
42 wxPoint RenderPosToMapPos(wxPoint pos) const; 43 wxPoint RenderPosToMapPos(wxPoint pos) const;
43 44
45 void EvaluateScroll(wxPoint pos);
46
44 void SetZoomPos(wxPoint pos); 47 void SetZoomPos(wxPoint pos);
45 void SetScrollSpeed(int scroll_x, int scroll_y); 48 void SetScrollSpeed(int scroll_x, int scroll_y);
46 void SetZoom(double zoom, wxPoint static_point); 49 void SetZoom(double zoom, wxPoint static_point);
@@ -60,6 +63,7 @@ class SubwayMap : public wxPanel {
60 int zoom_x_ = 0; // in render space 63 int zoom_x_ = 0; // in render space
61 int zoom_y_ = 0; 64 int zoom_y_ = 0;
62 65
66 bool scroll_mode_ = false;
63 wxTimer* scroll_timer_; 67 wxTimer* scroll_timer_;
64 int scroll_x_ = 0; 68 int scroll_x_ = 0;
65 int scroll_y_ = 0; 69 int scroll_y_ = 0;
@@ -74,6 +78,8 @@ class SubwayMap : public wxPanel {
74 78
75 std::unique_ptr<quadtree::Quadtree<int, GetItemBox>> tree_; 79 std::unique_ptr<quadtree::Quadtree<int, GetItemBox>> tree_;
76 std::optional<int> hovered_item_; 80 std::optional<int> hovered_item_;
81 std::optional<int> actual_hover_;
82 bool sticky_hover_ = false;
77 83
78 NetworkSet networks_; 84 NetworkSet networks_;
79 std::set<std::string> checked_paintings_; 85 std::set<std::string> checked_paintings_;