aboutsummaryrefslogtreecommitdiff
path: root/src/game_tab/editor/EditorCanvas.hpp
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2022-02-23 18:11:55 +0100
committerLoic Guegan <manzerbredes@mailbox.org>2022-02-23 18:11:55 +0100
commitce941c146aea7925bded6b9d2a0d0559d3156ad3 (patch)
tree4c52e02600e3fd127bfb28b3e974d45541ec9e4e /src/game_tab/editor/EditorCanvas.hpp
Create repository
Diffstat (limited to 'src/game_tab/editor/EditorCanvas.hpp')
-rw-r--r--src/game_tab/editor/EditorCanvas.hpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/game_tab/editor/EditorCanvas.hpp b/src/game_tab/editor/EditorCanvas.hpp
new file mode 100644
index 0000000..b3bb29f
--- /dev/null
+++ b/src/game_tab/editor/EditorCanvas.hpp
@@ -0,0 +1,33 @@
+#pragma once
+
+#include "../HalfMove.hpp"
+#include "CGEditor.hpp"
+#include "ochess.hpp"
+#include "../board/Theme.hpp"
+
+// Foreign events
+wxDECLARE_EVENT(GOTO_MOVE_EVENT, wxCommandEvent);
+wxDECLARE_EVENT(PREVIOUS_MOVE_EVENT, wxCommandEvent);
+wxDECLARE_EVENT(NEXT_MOVE_EVENT, wxCommandEvent);
+wxDECLARE_EVENT(DELETE_MOVE_EVENT, wxCommandEvent);
+wxDECLARE_EVENT(PROMOTE_MOVE_EVENT, wxCommandEvent);
+wxDECLARE_EVENT(SET_AS_MAINLINE_EVENT, wxCommandEvent);
+
+class EditorCanvas : public wxPanel, public cgeditor::CGEditor {
+ wxPaintDC *dc;
+ bool NeedRedraw;
+ wxPoint Middle(cgeditor::Element e);
+ wxBitmap hide_icon;
+ Theme t;
+
+public:
+ EditorCanvas(wxFrame *parent);
+ void OnPaint(wxPaintEvent &event);
+ void MouseEvent(wxMouseEvent &event);
+ void DrawElement(const cgeditor::Element &e);
+ void HandleEvent(const cgeditor::Event &e);
+ void SetMoves(HalfMove *moves, HalfMove *current);
+ void OnKeyEvent(wxKeyEvent &event);
+
+ DECLARE_EVENT_TABLE()
+};