TDME2  1.9.200
GUIKnobController.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <tdme/tdme.h>
9 
15 
16 /**
17  * GUI knob controller
18  * @author Andreas Drewke
19  */
21 {
22  friend class GUIKnob;
23 
24 private:
25  GUINode* knobNode { nullptr };
26  bool disabled { false };
27  float valueFloat { 0.0f };
29  int mouseLastX { -1 };
30 
31  // forbid class copy
33 
34  /**
35  * Private constructor
36  * @param node node
37  */
39 
40  /**
41  * Update knob
42  */
43  void updateKnob();
44 
45 public:
46  // overridden methods
47  bool isDisabled() override;
48  void setDisabled(bool disabled) override;
49  void initialize() override;
50  void dispose() override;
51  void postLayout() override;
52  void handleMouseEvent(GUINode* node, GUIMouseEvent* event) override;
53  void handleKeyboardEvent(GUIKeyboardEvent* event) override;
54  void tick() override;
55  void onFocusGained() override;
56  void onFocusLost() override;
57  bool hasValue() override;
58  const MutableString& getValue() override;
59  void setValue(const MutableString& value) override;
60 
61 };
void onFocusGained() override
On focus gained.
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 onFocusLost() override
On focus lost.
void setValue(const MutableString &value) override
Set value.
GUIKnobController(GUINode *node)
Private constructor.
void handleMouseEvent(GUINode *node, GUIMouseEvent *event) override
Handle mouse event.
void tick() override
Tick method will be executed once per frame.
void setDisabled(bool disabled) override
Set disabled.
const MutableString & getValue() override
GUI knob element.
Definition: GUIKnob.h:28
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