#ifndef AREA_POPUP_H_03FAC988 #define AREA_POPUP_H_03FAC988 #include #ifndef WX_PRECOMP #include #endif #include class AreaPopup : public wxScrolledCanvas { public: AreaPopup(wxWindow* parent, int area_id); void ResetIndicators(); void UpdateIndicators(); private: enum IndicatorType { kLOCATION, kPAINTING, }; struct IndicatorInfo { // For locations, the id is an index into the map area's locations list. // For paintings, it is a real painting id. int id; IndicatorType type; int y; IndicatorInfo(int id, IndicatorType type, int y) : id(id), type(type), y(y) {} }; void OnPaint(wxPaintEvent& event); void OnDPIChanged(wxDPIChangedEvent& event); void LoadIcons(); int area_id_; const wxBitmap* unchecked_eye_; const wxBitmap* checked_eye_; const wxBitmap* unchecked_owl_; const wxBitmap* checked_owl_; int full_width_ = 0; int full_height_ = 0; wxSize header_extent_; std::vector indicators_; wxBitmap rendered_; }; #endif /* end of include guard: AREA_POPUP_H_03FAC988 */