Elements¶
Beschreibung¶
Elemente sind vordefinierte Funktionseinheiten, die auf einem Screen eingefügt werden können. Dazu gehören Button, Number_Input und Textbox.
Funktionen¶
relevant für eigenes Menü
void |
setPosition (const uint16_t posX, const uint16_t posY, const uint8_t rotation) |
bool |
setsize (const uint16_t sizeX, const uint16_t sizeY, const uint8_t rotation = 0) |
void |
setDisplay (Display* const disp) |
Element () |
|
virtual |
~Element () |
virtual bool |
select () = 0 |
virtual void |
loop (Inputs& input) = 0 |
virtual void |
draw () = 0 |
virtual void |
checkSize (uint16_t sizeX, uint16_t sizeY, uint8_t rotation) = 0 |
virtual void |
setTouch (Inputs& input) = 0 |
Variablen und Konstanten¶
uint16_t |
|
uint16_t |
|
uint16_t |
|
uint16_t |
|
uint16_t |
|
Funktionen Beschreibung¶
Element ()¶
1Element::Element() {}
Der Konstruktor wird bei der Erzeugung eines neuen Objekts der Element Klasse aufgerufen.
virtual ~Element ()¶
1Element::~Element() {}
Der Destruktor wird bei der Zerstörung eines Objekts der Element Klasse aufgerufen.
virtual bool select () = 0¶
Die Funktion wird aufgerufen, wenn ein Element berührt wird.
Diese virtuelle Funktion muss von einer abgeleiteten Klasse überschrieben werden.
(Siehe Button, NumberInput, Textbox)
virtual void loop(Inputs& input) = 0¶
Die Funktion wird bei jedem Update aufgerufen. Diese virtuelle Funktion muss von einer abgeleiteten Klasse überschrieben werden. (Siehe „Button“, „NumberInput“, „Textbox“)
virtual void draw () = 0¶
Die Funktion zeichnet das Element. Diese virtuelle Funktion muss von einer abgeleiteten Klasse überschrieben werden. (Siehe Button_Round, Button_Rect, Button_Blank, Textbox_Blank, Textbox_Rect, Number_Counter, Number_Slider)
virtual void setTouch(Inputs& input) = 0¶
Diese virtuelle Funktion muss von einer abgeleiteten Klasse überschrieben werden. (Siehe „Button“, „NumberInput“, „Textbox“)
bool setSize(const uint16_t sizeX, const uint16_t sizeY, const uint8_t rotation = 0)¶
1bool Element::setSize(uint16_t sizeX, uint16_t sizeY, uint8_t rotation) {
2 if (!checkSize(sizeX, sizeY, rotation)) return false;
3
4 this->sizeX = sizeX;
5 this->sizeY = sizeY;
6 this->rotation = rotation;
7
8 return true;
9}
Die Funktion gibt aus, ob das Element zeichenbar ist oder nicht. Gibt sie „true“ zurück lässt sich das Element zeichnen, bei „false“ ist das Element zu groß bzw. zu klein zum zeichnen.
Hierbei wird zuerst checkSize ausgeführt. Gibt dieser Funktionsaufruf „false“ zurück, so gibt auch die setSize Funktion false zurück und das Element ist nicht zeichenbar.
Andernfalls erfolgt die Zuweisung der Werte der Parameter posX, posY und rotation zu den entsprechenden Membervariablen des aktuellen Objektes. Danach gibt die Funktion true zurück, das Element lässt sich zeichnen.
void setDisplay(Display* const dis)¶
1void Element::setDisplay(Display* const disp) {
2 display = disp;
3}
Diese Funktion weist display des aktuellen Element Objekts den Wert des übergebenen disp zu.
Diese Funktion sollte vor allen anderen Funktionen zuerst aufgerufen werden, um einen reibungslosen Ablauf zu gewährleisten.
virtual bool checkSize(uint16_t sizeX, uint16_t sizeY, uint8_t rotation) = 0¶
Diese virtuelle Funktion muss von einer abgeleiteten Klasse überschrieben werden. (Siehe Button_Round, Button_Rect, Button_Blank, Number_Counter, Number_Slider)
void setPosition(const uint16_t posX, const uint16_t posY);¶
1void Element::setPosition(uint16_t posX, uint16_t posY) {
2 this->posX = posX;
3 this->posY = posY;
4}
Diese Funktion legt die Position des Element Objektes auf dem Display fest. Dafür erfolgt die Zuweisung der Werte der Parameter posX und posY zu den entsprechenden Membervariablen des aktuellen Objektes.
Variablen und Konstanten Beschreibung¶
uint16_t posX¶
Gibt die X-Koordinate (in Pixeln) eines Element Objektes an.
uint16_t posY¶
Gibt die Y-Koordinate (in Pixeln) eines Element Objektes an.
uint16_t sizeX¶
Gibt die Höhe eines Element Objektes an, bzw. die Größe des Objektes in X-Richtung (in Pixeln).
uint16_t sizeY¶
Gibt die Breite eines Element Objektes an, bzw. die Größe des Objektes in Y-Richtung (in Pixeln).
uint8_t rotation¶
Gibt an, ob das Element hochkant oder seitwärts dargestellt werden soll. Rotation kann die Werte von 0 bis 3 annehmen, da es je zwei mögliche Darstellungsformen vom Hoch- und Querformat gibt („normal“ und auf dem Kopf).
Display* display¶
Ein Pointer auf ein Display Objekt. Auf display lassen sich neben einem konkreten Screen auch diverse „Elemente“ zeichnen bzw. anzeigen.
Somit ist display von großer Wichtigkeit für das gesamte Projekt.