about summary refs log tree commit diff stats
path: root/area_window.h
blob: 3e7c001174ebe3aa3d61063fff9a60e4e85bda6e (plain) (blame)
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
#ifndef AREA_WINDOW_H_C2653ACF
#define AREA_WINDOW_H_C2653ACF

#include <wx/wxprec.h>

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

#include "area_popup.h"

class AreaWindow : public wxWindow {
 public:
  static constexpr int ACTUAL_SIZE = 64;
  static constexpr int BORDER_SIZE = 5;
  static constexpr int EFFECTIVE_SIZE = ACTUAL_SIZE + BORDER_SIZE * 2;

  AreaWindow(wxWindow* parent, int area_id, AreaPopup* popup);

  int GetAreaId() const { return area_id_; }

  AreaPopup* GetPopup() { return popup_; }

  void UpdateIndicators();

 private:
  void OnPaint(wxPaintEvent& event);
  void OnEnterWindow(wxMouseEvent& event);
  void OnLeaveWindow(wxMouseEvent& event);

  void Redraw();

  int area_id_;
  wxBitmap rendered_;
  AreaPopup* popup_;
};

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