about summary refs log tree commit diff stats
path: root/data/maps/the_gold
Commit message (Expand)AuthorAgeFilesLines
* Converted puzzle symbols to an enumStar Rauchenberger2025-08-201-1/+1
* Maps have display names nowStar Rauchenberger2025-08-201-0/+1
* Added "endings" object typeStar Rauchenberger2025-08-201-1/+4
* Added the_goldStar Rauchenberger2025-08-141-0/+10
o-ap-tracker/commit/tracker_panel.h?h=v1.0.0&id=9f25878acfe1c7281a96f83742349516510c5b6d'>9f25878 ^
9798316 ^
531898b ^
9798316 ^

09d67fb ^

4fb25ff ^

8c5b719 ^







531898b ^
02c331f ^






53a2ec2 ^
02c331f ^
e07e031 ^
9798316 ^
02c331f ^
8c5b719 ^
9798316 ^


8c5b719 ^

ba59d40 ^

9798316 ^
3037b93 ^
9798316 ^
3037b93 ^

ba59d40 ^

3037b93 ^



9f25878 ^
02c331f ^
8c5b719 ^



9798316 ^


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72








                                



                   
                
 
                                     
        

                                 

                          

                       







                                                        
         






                               
                       
    
 
                                    
                                        
                                                


                

                         

                            
                     
                        
                     

                          

                                      



                      
 
                                    



                                            


                                                           
#ifndef TRACKER_PANEL_H_D675A54D
#define TRACKER_PANEL_H_D675A54D

#include <wx/wxprec.h>

#ifndef WX_PRECOMP
#include <wx/wx.h>
#endif

#include <optional>
#include <set>
#include <string>

class AreaPopup;

class TrackerPanel : public wxPanel {
 public:
  TrackerPanel(wxWindow *parent);

  void UpdateIndicators();

  void SetPanelsMode();

  void SetSavedataPath(std::string savedata_path);

  bool IsPanelsMode() const { return panels_mode_; }

  const std::set<std::string> &GetSolvedPanels() const {
    return solved_panels_;
  }

 private:
  struct AreaIndicator {
    int area_id = -1;
    AreaPopup *popup = nullptr;
    int real_x1 = 0;
    int real_y1 = 0;
    int real_x2 = 0;
    int real_y2 = 0;
    bool active = true;
  };

  void OnPaint(wxPaintEvent &event);
  void OnMouseMove(wxMouseEvent &event);
  void OnRefreshSavedata(wxCommandEvent &event);

  void Redraw();

  void RefreshSavedata();

  void SetUpRefreshButton();

  wxImage map_image_;
  wxImage player_image_;
  wxBitmap rendered_;
  wxBitmap scaled_player_;

  wxButton *refresh_button_ = nullptr;

  int offset_x_ = 0;
  int offset_y_ = 0;
  double scale_x_ = 0;
  double scale_y_ = 0;

  std::vector<AreaIndicator> areas_;

  bool panels_mode_ = false;
  std::optional<std::string> savedata_path_;
  std::set<std::string> solved_panels_;
};

#endif /* end of include guard: TRACKER_PANEL_H_D675A54D */