TDME2  1.9.200
GUIMoveableController.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <tdme/tdme.h>
9 
15 
16 /**
17  * GUI moveable controller
18  * @author Andreas Drewke
19  */
21 {
22  friend class GUIMoveable;
23 
24 private:
26  int mouseLastX { -1 };
27  int mouseLastY { -1 };
28  bool dragging { false };
29  bool clicked { false };
30 
31  // forbid class copy
33 
34  /**
35  * Private constructor
36  * @param node node
37  */
39 
40 public:
41  /**
42  * Start moving
43  * @param mouseX mouse x
44  * @param mouseY mouse y
45  */
46  void startMoving(int mouseX, int mouseY);
47 
48  // overridden methods
49  bool isDisabled() override;
50  void setDisabled(bool disabled) override;
51  void initialize() override;
52  void dispose() override;
53  void postLayout() override;
54  void handleMouseEvent(GUINode* node, GUIMouseEvent* event) override;
55  void handleKeyboardEvent(GUIKeyboardEvent* event) override;
56  void tick() override;
57  void onFocusGained() override;
58  void onFocusLost() override;
59  bool hasValue() override;
60  const MutableString& getValue() override;
61  void setValue(const MutableString& value) override;
62  void onSubTreeChange() override;
63 };
void dispose() override
Dispose controller.
void postLayout() override
Post layout event.
void initialize() override
Initialize controller after element has been created.
void handleKeyboardEvent(GUIKeyboardEvent *event) override
Handle keyboard event.
void setValue(const MutableString &value) override
Set value.
void handleMouseEvent(GUINode *node, GUIMouseEvent *event) override
Handle mouse event.
GUIMoveableController(GUINode *node)
Private constructor.
void tick() override
Tick method will be executed once per frame.
void setDisabled(bool disabled) override
Set disabled.
void startMoving(int mouseX, int mouseY)
Start moving.
void onSubTreeChange() override
On sub tree change.
GUI moveable element.
Definition: GUIMoveable.h:28
GUI node controller base class.
GUI node base class.
Definition: GUINode.h:64
Mutable utf8 aware string class.
Definition: MutableString.h:23
#define FORBID_CLASS_COPY(CLASS)
Definition: tdme.h:6