about summary refs log tree commit diff stats
path: root/data/maps/the_nuanced/rooms/Back Room.txtpb
diff options
context:
space:
mode:
Diffstat (limited to 'data/maps/the_nuanced/rooms/Back Room.txtpb')
0 files changed, 0 insertions, 0 deletions
eb71dc931c812b57d39566f71069a51cb66f4d'>^
531898b ^
9798316 ^

79424e8 ^
09d67fb ^
4fb25ff ^

8c5b719 ^







531898b ^
02c331f ^






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

8c5b719 ^

ba59d40 ^

9798316 ^
3037b93 ^
0121ce8 ^
9798316 ^
3037b93 ^

ba59d40 ^

3037b93 ^



0121ce8 ^
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
73
74
75








                                



                   
                
 
                                     
        

                                 
                                    
 

                       







                                                        
         






                               
                       
    
 
                                    
                                        
                                                
 
                

                

                         

                            
                     
                        
                       
                     

                          

                                      



                      
                          
 
                                    



                                            


                                                           
#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(bool reset);

  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 Resize();
  void Redraw();

  void RefreshSavedata();

  void SetUpRefreshButton();

  wxImage map_image_;
  wxImage player_image_;
  wxBitmap scaled_map_;
  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;
  int real_area_size_ = 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 */