about summary refs log blame commit diff stats
path: root/src/tracker_panel.h
blob: 06ec7a01e23bdbbb719eff294753420436f7fbdd (plain) (tree)
1
2
3
4
5
6
7
8
9







                                
                
 
                                     
        
                                 
                          
         





                               
                       
    
 
                                    
                                        


                     
                        
                     




                          
 
                                    

                                                           
#ifndef TRACKER_PANEL_H_D675A54D
#define TRACKER_PANEL_H_D675A54D

#include <wx/wxprec.h>

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

class AreaPopup;

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

  void UpdateIndicators();

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

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

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

  std::vector<AreaIndicator> areas_;
};

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