aboutsummaryrefslogtreecommitdiff
path: root/src/CGEditor.hpp
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2022-02-12 19:13:34 +0100
committerLoic Guegan <manzerbredes@mailbox.org>2022-02-12 19:13:34 +0100
commita359219e33fdf3afb5ddfbb084563054a947b106 (patch)
tree91dab9c21321f73152993183cd6e8cf4a04017f8 /src/CGEditor.hpp
Create project
Diffstat (limited to 'src/CGEditor.hpp')
-rw-r--r--src/CGEditor.hpp37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/CGEditor.hpp b/src/CGEditor.hpp
new file mode 100644
index 0000000..d30d05e
--- /dev/null
+++ b/src/CGEditor.hpp
@@ -0,0 +1,37 @@
+#pragma once
+
+#include "Types.hpp"
+#include "components/Margin.hpp"
+#include "components/Menu.hpp"
+#include "components/MoveTable.hpp"
+#include "components/Scrollbar.hpp"
+
+#include <string>
+
+namespace cgeditor {
+
+class CGEditor {
+ /// @brief Prepare element for drawing and draw
+ void CallDrawElement(Element);
+ /// @brief Draw all elements of a component
+ void DrawComponent(Component *);
+
+ Scrollbar *SBV, *SBH;
+ MoveTable *MT;
+ Margin *MA;
+ Menu *ME;
+
+protected:
+ Status status;
+ ///@brief Draw the Chess Game Editor on the canvas using current status
+ void Draw();
+ /// @brief Draw an element on the canvas
+ virtual void DrawElement(const Element &) = 0;
+ /// @brief Handle event that occured during editor drawing
+ virtual void HandleEvent(const Event &) = 0;
+
+public:
+ CGEditor();
+ ~CGEditor();
+};
+} // namespace cgeditor \ No newline at end of file