Color¶
Beschreibung¶
Diese Klasse verwaltet alles, was mit Farben zu tun hat. Mit dieser Klasse kann man die Farben sämtlicher Elemente, Screens etc. anpassen.
(Anmerkung zu dieser Seite: Aufgrund eines Bugs funktionieren Verlinkungen innerhalb dieser Dokumentationsseite aktuell nicht, diese haben zu Anzeigefehlern geführt und wurden aus diesen Gründen vorzeitig entfernt. Wir bitten dies zu entschuldigen.)
Funktionen¶
inline |
Color (const Color& prim, const Color& item, const Color& border, const Color* secondary, bool isBorderSet = false) |
inline |
Color (const uint8_t r, const uint8_t g, const uint8_t b, const bool) |
inline |
Color (const bool, const Color& other) |
inline const Color |
setColorOffset (const Color& color, const int offset) const |
inline const Color |
createItemColor (const Color& color) const |
inline const „Color |
createBorderColor (const Color& color) const |
inline |
Color (const Color& other) |
inline |
Color (const Color& prim, const int offset) |
inline |
Color (const Color& prim, const Color& item) |
inline |
Color (const Color& prim, const bool, const Color& border) |
inline |
Color (const Color& prim, const Color& item, const Color& border) |
inline |
Color (const Color& prim, const bool, const bool, const Color& secondary) |
inline |
Color (const Color& prim, const bool, Color& border, const Color& secondary) |
inline |
Color (const Color& prim, const Color& item, const bool, const Color& secondary) |
inline |
Color (const Color& prim, const Color& item, const Color& border, const Color& secondary) |
inline |
Color (const uint8_t r, const uint8_t g, const uint8_t b): Color(Color(r,g,b, true), 0) |
inline |
~Color () |
inline Color |
operator! () const |
inline Color |
operator+ (const Color& secondary) const |
inline Color |
operator| (const Color& other) |
inline Color |
operator= (const Color& other) |
inline Color |
getPrimColor () |
inline Color |
getItemColor () |
inline Color |
getBorderColor () |
inline Color |
getSecondaryItemColor () |
inline Color |
getSecondaryBorderColor () |
inline Color |
getSecondaryColor () |
inline uint8_t |
getRed () |
inline uint8_t |
getGreen () |
inline uint8_t |
getBlue ()“ |
inline bool |
hasSecondaryColor () const |
inline Color |
setPrimaryColor (const Color& color) |
inline Color |
setItemColor const Color& color) |
inline Color |
setBorderColor (const Color& color) |
inline Color |
setSecondaryColor (const Color& color) |
inline Color |
setSecondaryItemColor (const Color& color) |
inline Color |
setSecondaryBorderColor (const Color& color) |
inline void |
setPrimaryColor (const Color& color) |
inline void |
setItemColour (const Color& color) |
inline void |
setBorderColour (const Color& color) |
inline void |
setSecondaryColour (const Color& color) |
inline void |
setSecondaryItemColour (const Color& color) |
inline void |
setSecondaryBorderColour (const Color& color) |
inline String |
toString () const |
Variablen und Konstanten¶
uint8_t |
r_prim |
uint8_t |
g_prim |
uint8_t |
b_prim |
uint8_t |
r_item |
uint8_t |
g_item |
uint8_t |
b_item |
uint8_t |
r_border |
uint8_t |
g_border |
uint8_t |
n_border |
Color* |
secondaryColor = nullptr |
const bool |
isBorderSet = false |
Farbwerte¶
Hier ist eine Übersicht aller Macros, die anstelle von der Color (r, g, b) Schreibweise verwendet werden können, um
einfacher häufig verwendete Farben zu erstellen.
COLOR_RED |
Color (255, 0, 0 ) |
COLOR_GREEN |
Color (0, 255, 0 ) |
COLOR_BLUE |
Color (0, 0, 255 ) |
COLOR_BLACK |
Color (0, 0, 0 ) |
COLOR_WHITE |
Color (255, 255, 255 ) |
COLOR_YELLOW |
Color (255, 255, 0 ) |
COLOR_MAGENTA |
Color (255, 0, 255 ) |
COLOR_CYAN |
Color (0, 255, 255 ) |
COLOR_GRAY |
Color (128, 128, 128 ) |
COLOR_DARK_RED |
Color (128, 0, 0 ) |
COLOR_DARK_GREEN |
Color (0, 128, 0 ) |
COLOR_DARK_BLUE |
Color (0, 0, 128 ) |
COLOR_DARK_YELLOW |
Color (128, 128, 0 ) |
COLOR_DARK_MAGENTA |
Color (128, 0, 128 ) |
COLOR_DARK_CYAN |
Color (0, 128, 128 ) |
COLOR_LIGHT_RED |
Color (255, 128, 128 ) |
COLOR_LIGHT_GREEN |
Color (128, 255, 128 ) |
COLOR_LIGHT_BLUE |
Color (128, 128, 255 ) |
COLOR_LIGHT_YELLOW |
Color (255, 255, 128 ) |
COLOR_LIGHT_MAGENTA |
Color (255, 128, 255 ) |
COLOR_LIGHT_CYAN |
Color (128, 255, 255 ) |
COLOR_ORANGE |
Color (255, 165, 0 ) |
COLOR_PURPLE |
Color (128, 0, 128 )) |
COLOR_PINK |
Color (255, 192, 203 ) |
COLOR_LIME |
Color (0, 255, 0 ) |
COLOR_TEAL |
Color (0, 128, 128 ) |
COLOR_BROWN |
Color (139, 69, 19 ) |
COLOR_NAVY |
Color (0, 0, 128 ) |
Funktionen Beschreibung¶
inline Color(const Color& prim, const Color& item, const Color& border, const Color* secondary, bool isBorderSet = false)¶
1 inline Color(const Color& prim, const Color& item, const Color& border, const Color* secondary, bool isBorderSet = false):
2 r_prim(prim.getRed()), g_prim(prim.getGreen()), b_prim(prim.getBlue()),
3 r_item(item.getRed()), g_item(item.getGreen()), b_item(item.getBlue()),
4 r_border(border.getRed()), g_border(border.getGreen()), b_border(border.getBlue()),
5 isBorderSet(isBorderSet)
6 {
7 // LOGGER_PATTERN("Erstelle Farbe (_,_,_)", prim.r_prim, prim.g_prim, prim.b_prim)
8 if (secondary) secondaryColor = new Color(*secondary);
9 else secondaryColor = nullptr;
10 }
Dieser Konstruktor wird genutzt, um die RGB Werte der Parameter, also der Hauptfarbe prim, der Farbe des Objektes
item und der Umrandunsfarbe border zu extrahieren, und mit ihnen die entsprechenden Variablen zu initialisieren.
Außerdem findet eine Initialisierung von isBorderSet statt.
inline Color(const uint8_t r, const uint8_t g, const uint8_t b, const bool)¶
1 inline Color(const uint8_t r, const uint8_t g, const uint8_t b, const bool):
2 r_prim(r), g_prim(g), b_prim(b),
3 r_item(0), g_item(0), b_item(0),
4 r_border(0), g_border(0), b_border(0),
5 secondaryColor(nullptr),
6 isBorderSet(false)
7 {}
Dieser Konstruktor wird genutzt, um mit den RGB übergebenen Werten nur die Variablen r_prim, g_prim und b_prim zu initialisieren.
Daher eignet sich der Konstruktor besonders, um ein Color-Objekt ohne Item oder Border zu erstellen.
inline Color(const bool, const Color& other)¶
1 inline Color(const bool, const Color& other):
2 r_prim(other.r_prim), g_prim(other.g_prim), b_prim(other.b_prim),
3 r_item(0), g_item(0), b_item(0),
4 r_border(0), g_border(0), b_border(0),
5 secondaryColor(nullptr),
6 isBorderSet(false)
7 {}
Dieser Konstruktor wird genutzt, um mit der übergebenen Farbe other nur die Variablen r_prim, g_prim und b_prim zu initialisieren.
Daher eignet sich der Konstruktor besonders, um von einer Farbe, die vorher auch Farbinformationen zu einem Icon oder Border gehabt hat, nur die Hauptfarbe zu extrahieren.
inline const Color setColorOffset(const Color& color, const int offset) const¶
1 inline const Color setColorOffset(const Color& color, const int offset) const {
2 if (offset == 0) return Color(0, color);
3
4 LOGGER_PATTERN ("_ + _ + _ + _ < 0", static_cast<int>(color.r_prim), static_cast<int>(color.g_prim), static_cast<int>(color.b_prim), offset)
5
6 // Very dark colours should only become lighter
7 if (static_cast<int>(color.r_prim) + static_cast<int>(color.g_prim) + static_cast<int>(color.b_prim) + offset <= 0) return Color(color, std::abs(offset));
8
9 const uint8_t r = std::min(std::max(static_cast<int>(color.r_prim) + offset, 0), 255);
10 const uint8_t g = std::min(std::max(static_cast<int>(color.g_prim) + offset, 0), 255);
11 const uint8_t b = std::min(std::max(static_cast<int>(color.b_prim) + offset, 0), 255);
12
13 LOGGER_PATTERN("Berechne Offset: _ + _ = _", color.toString(), offset, Color(r, g, b, 0).toString())
14
15 return Color(r, g, b, 0);
16 }
Mit dieser Funktion kann aus einer Farbe eine neue Farbe erstellt werden, deren RGB Werte um einen bestimmten offset verschoben ist gegenüber der Ausgangsfarbe.
if (offset == 0) return Color(0, color);
Sollte kein offset angegeben werden, wird dieser Color Konstruktor aufgerufen. Die neue Farbe ist äquivalent zur alten.
if (static_cast<int>(color.r_prim) + static_cast<int>(color.g_prim) + static_cast<int>(color.b_prim) + offset <= 0) return Color(color, std::abs(offset));
Besonders dunkle Farben sollen nur heller und nicht noch dunkler werden, deshalb wird hier geprüft, ob die Summe von
r_prim, g_prim und b_prim kleinergleich 0 ist. Wenn ja, wird der Color mit std::abs(offset) aufgerufen, um aus einer negativen Zahl
eine positive zu erhalten.
const uint8_t r = std::min(std::max(static_cast<int>(color.r_prim) + offset, 0), 255);
const uint8_t g = std::min(std::max(static_cast<int>(color.g_prim) + offset, 0), 255);
const uint8_t b = std::min(std::max(static_cast<int>(color.b_prim) + offset, 0), 255);
LOGGER_PATTERN("Berechne Offset: _ + _ = _", color.toString(), offset, Color(r, g, b, 0).toString())
return Color(r, g, b, 0);
Andernfalls werden mithilfe des offset neue RGB Werte berechnet. Dafür wird der maximale Wert aus 0 und static_cast<int>(color.r_prim) + offset bestimmt, also dem Wert für
auf einen int gecasteten Wert für r_prim addiert mit dem offset. Anschließend vergleichen wir das gerade ermittelte Maximum mit 255 und weisen r dem Wert des daraus
resultierenden Minumums zu. Da wir r_prim von einem uint8_t zu einem normalen int casten und das Ergebnis der Addition deshalb >255 sein kann, ist dieses Minumum äußerst wichtig.
Mit den Variablen g und b wird genauso verfahren.
Anschließend wird dieser Color Konstruktor aufgerufen, wodurch aus den neuen RGB Werten ein Color Objekt entsteht.
inline const Color createItemColor(const Color& color) const¶
1 inline const Color createItemColor(const Color& color) const {
2 if (r_prim + g_prim + b_prim < (120*3)) return Color(255,255,255, 0);
3 else return Color(0,0,0, 0);
4 }
Mit dieser Funktion wird automatisch eine Farbe für ein Item bestimmt. Dieses kann hier entweder weiß oder schwarz werden, je nachdem, welche Farbe sichtbarer ist. Sollte die Summe aus r_prim, g_prim und b_prim kleiner sein als der Referenzwert, so wird der Color Konstruktor aufgerufen, um eine Farbe in Weiß zu erstellen. Andernfalls wird derselbe Konstruktor aufgerufen, um eine Farbe in Schwarz zu erstellen.
inline const Color createBorderColor(const Color& color) const¶
1 inline const Color createBorderColor(const Color& color) const {
2 if (r_prim + g_prim + b_prim < (60*3)) return Color(255,255,255, 0);
3 else return Color(0,0,0, 0);
4 }
Mit dieser Funktion wird automatisch eine Farbe für die Umrandung bestimmt. Diese kann hier entweder weiß oder schwarz werden, je nachdem, welche Farbe sichtbarer ist. Sollte die Summe aus r_prim, g_prim und b_prim kleiner sein als der Referenzwert, so wird der Color Konstruktor aufgerufen, um eine Farbe in Weiß zu erstellen. Andernfalls wird derselbe Konstruktor aufgerufen, um eine Farbe in Schwarz zu erstellen. TODO
inline Color(const Color& other)¶
1 inline Color(const Color& other): Color(other, other.getItemColor(), other.getBorderColor(), other.secondaryColor) {}
Mithilfe dieser Copy Konstruktors kann ein Objekt der Color Klasse kopiert werden.
inline Color(const Color& prim, const int offset)¶
1 inline Color(const Color& prim, const int offset): Color(setColorOffset(prim, offset), createItemColor(prim), createBorderColor(prim), nullptr) {}
Mithilfe dieses Konstruktors kann aus einer Farbe eine neue Farbe mit einem offset erstellt werden. Dafür erfolgt bei der Initialisierung ein Funktionsaufruf von colorsetColorOffset mit den gegebenen Parametern.
inline Color(const Color& prim, const Color& item)¶
1 inline Color(const Color& prim, const Color& item): Color(prim, item, createBorderColor(prim), nullptr) {}
Mithilfe dieses Konstruktors kann eine Farbe mit einer selbst festgelegten Item Farbe erstellt werden. Die Borderfarbe wird mit colorcreatebordercolor generiert.
inline Color(const Color& prim, const bool, const Color& border)¶
1 inline Color(const Color& prim, const bool, const Color& border): Color(prim, createItemColor(prim), border, nullptr) {}
Mithilfe dieses Konstruktors kann eine Farbe mit einer selbst festgelegten Umrandungs Farbe erstellt werden. Die Item Farbe wird mit colorcreateitemcolor generiert.
inline Color(const Color& prim, const Color& item, const Color& border)¶
1 inline Color(const Color& prim, const Color& item, const Color& border): Color(prim, item, border, nullptr) {}
Mithilfe dieses Konstruktors kann eine Farbe mit einer selbst festgelegten Item Farbe und einer selbst festgelegten Umrandungs Farbe erstellt werden.
inline Color(const Color& prim, const bool, const bool, const Color& secondary)¶
1 inline Color(const Color& prim, const bool, const bool, const Color& secondary): Color(prim, createItemColor(prim), createBorderColor(prim), new Color(secondary)) {}
Mithilfe dieses Konstruktors kann eine Farbe zusammen mit einer zusätzlichen Zweitfarbe (siehe secondaryColor) erstellt werden. Die Item Farbe und Umrandungs Farbe werden mit createItemColor bzw. createBorderColor generiert.
inline Color(const Color& prim, const bool, Color& border, const Color& secondary)¶
1 inline Color(const Color& prim, const bool, Color& border, const Color& secondary): Color(prim, createItemColor(prim), border, new Color(secondary)) {}
Mithilfe dieses Konstruktors kann eine Farbe mit einer selbst festgelegten Umrandungsfarbe zusammen mit einer zusätzlichen Zweitfarbe (siehe secondaryColor) erstellt werden. Die Item Farbe wird mit createitemcolor generiert.
inline Color(const Color& prim, const Color& item, const bool, const Color& secondary)¶
1 inline Color(const Color& prim, const Color& item, const bool, const Color& secondary): Color(prim, item, createBorderColor(prim), new Color(secondary)) {}
Mithilfe dieses Konstruktors kann eine Farbe mit einer selbst festgelegten Item Farbe zusammen mit einer zusätzlichen Zweitfarbe (siehe secondaryColor ) erstellt werden. Die Umrandungs Farbe wird mit createBorderColor generiert.
inline Color(const Color& prim, const Color& item, const Color& border, const Color& secondary)¶
1 inline Color(const Color& prim, const Color& item, const Color& border, const Color& secondary): Color(prim, item, border, new Color(secondary)) {}
Mithilfe dieses Konstruktors kann eine Farbe mit einer selbst festgelegten Item Farbe und einer selbst festgelegten Umrandungs Farbe zusammen mit einer zusätzlichen Zweitfarbe (siehe secondaryColor) erstellt werden.
inline Color(const uint8_t r, const uint8_t g, const uint8_t b): Color(Color(r,g,b, true), 0)¶
1 inline Color(const uint8_t r, const uint8_t g, const uint8_t b): Color(Color(r,g,b, true), 0) {
Mithilfe dieses Konstruktors kann man mit Angabe von RGB Werten den Color Konstruktor aufrufen.
inline ~Color()¶
1 inline ~Color() { delete secondaryColor; }
Der Destructor wird bei der Zerstörung eines Color Objektes aufgerufen und gibt den von secondaryColor belegten Speicherplatz wieder frei.
inline Color operator!() const¶
1 inline Color operator!() const { return Color(255-r_prim, 255-g_prim, 255-b_prim); }
Diese Funktion invertiert die RGB Werte einer Farbe und erzeugt ruft den Color Konstruktor auf, um diese neue Farbe zu erstellen.
inline Color operator+(const Color& secondary) const¶
1 inline Color operator+(const Color& secondary) const { return Color(*this, getItemColor(), getBorderColor(), secondary); }
Diese Funktion addiert eine Farbe mit einer zweiten, übergebenen Farbe. Sie gibt ein neues Color Objekt mit diesen addierten Farbwerten nach dem Konstruktoraufruf von Color zurück.
inline Color operator|(const Color& other)¶
1 inline Color operator|(const Color& other) const {
2 // LOGGER_PATTERN("isBorderSet: _, prim: (_, _, _)|(_, _, _)|(_, _, _), other: (_, _, _)|(_, _, _)|(_, _, _)", isBorderSet, r_prim, g_prim, b_prim, r_item, g_item, b_item, r_border, g_border, b_border, other.r_prim, other.g_prim, other.b_prim, other.r_item, other.g_item, other.b_item, other.r_border, other.g_border, other.b_border)
3 if (!isBorderSet) return Color(*this, other, getBorderColor(), secondaryColor, true); // 1. add item color
4 else return Color(*this, getItemColor(), other, secondaryColor); // 2. add border color
5 }
Diese Funktion nimmt eine Farbe other und benutzt diese Farbe als Hauptfarbe für eine neues Color Objekt, wenn bereits eine Umrandungsfarbe festgelegt ist (isBorderSet<colorvisborderset>).
Dafür wird der Color Konstruktor aufgerufen. Dabei wird mithilfe von getBorderColor die Umrandunsfarbe übergeben. Desweiteren übergeben wir true an den
Konstruktor, da dieses Objekt eine Umrandungsfarbe besitzt.
Ist noch keine Umrandungsfarbe festgelet, wird other stattdessen als Umrandunsfarbe für ein neues Objekt verwendet und es wird ebenso dieser Color Konstruktor aufgerufen.
Mithilfe von getItemColor wird die Farbe des Items als Hauptfarbe übermittelt.
inline Color& operator=(const Color& other)¶
1 inline Color& operator=(const Color& other) {
2 if (this != &other) { // Selbstzuweisung vermeiden
3 r_prim = other.r_prim; g_prim = other.g_prim; b_prim = other.b_prim;
4 r_item = other.r_item; g_item = other.g_item; b_item = other.b_item;
5 r_border = other.r_border; g_border = other.g_border; b_border = other.b_border;
6
7 delete secondaryColor;
8 secondaryColor = nullptr;
9
10 if (other.secondaryColor != nullptr)
11 secondaryColor = new Color(*other.secondaryColor);
12 }
13 return *this;
14 }
Diese Funktion überschreibt die Farbwerte von einem Objekt mit den Farbwerten eines anderen Objekts.
Um eine Selbstzuweisung zu verhindern, wird mit this != &other sichergestellt, dass tatsächlich zwei verschiedene Objekte betrachtet werden.
Anschließend werden r_prim, g_prim, b_prim, r_item, g_item, b_item,
r_border, g_border und b_border mit den entsprechenden Werten der anderen Farbe other überschrieben.
Schließlich wird secondaryColor gelöscht und der Speicherplatz freigegeben. Sollte other hingegen eine secondaryColor besitzen,
so wird für das aktuelle Objekt eine neue secondaryColor erstellt, die auf den Speicherplatz der anderen zeigt.
inline Color getPrimColor()¶
1 inline Color getPrimColor() const { return Color( *this, 0 ); }
Diese Getter-Funktion gibt die Hauptfarbe eines Color Objektes aus.
inline Color getItemColor()¶
1 inline Color getItemColor() const { return Color( r_item, g_item, b_item ); }
Diese Getter-Funktion gibt die Item Farbe eines Color Objektes aus.
inline Color getBorderColor()¶
1 inline Color getBorderColor() const { return Color( r_border, g_border, b_border); }
Diese Getter-Funktion gibt die Umrandungs Farbe eines Color Objektes aus.
inline Color getSecondaryItemColor()¶
1 inline Color getSecondaryItemColor() const { return getSecondaryColor().getItemColor(); }
Diese Getter-Funktion gibt die Item Farbe der Zweitfarbe eines Color Objektes aus.
inline Color getSecondaryBorderColor()¶
1 inline Color getSecondaryBorderColor() const { return getSecondaryColor().getBorderColor(); }
Diese Getter-Funktion gibt die Umrandungs Farbe der Zweitfarbe eines Color Objektes aus.
inline Color getSecondaryColor()¶
1 inline Color getSecondaryColor() const {
2 if (secondaryColor) return *secondaryColor;
3 else return *this;
4 }
Diese Getter-Funktion gibt die Zweitfarbe eines Color Objektes aus. Wenn ein Objekt keine Zweifarbe besitzt, wird stattdessen das Color Objekt zurückgegeben.
inline uint8_t getRed()¶
1 inline uint8_t getRed () const { return r_prim; }
Gibt den Rotanteil einer Farbe (r_prim) zurück.
inline uint8_t getGreen()¶
1 inline uint8_t getGreen () const { return g_prim; }
Gibt den Grünanteil einer Farbe (g_prim) zurück.
inline uint8_t getBlue()¶
1 inline uint8_t getBlue () const { return b_prim; }
Gibt den Blauanteil einer Farbe (b_prim) zurück.
inline bool hasSecondaryColor() const¶
1 inline bool hasSecondaryColor() const { return secondaryColor != nullptr; }
Diese Funktion gibt true zurück, wenn ein Color Objekt eine Zweitfarbe (secondaryColor) besitzt, und false falls es keine besitzt.
inline Color setPrimaryColor(const Color& color) const¶
1 inline Color setPrimaryColor(const Color& color) const { return Color(color, getItemColor(), getBorderColor(), secondaryColor); }
Mit dieser Funktion lässt sich die Hauptfarbe eines Color Objektes setzen. Die Funktion gibt ein neues Objekt zurück.
inline Color setItemColor(const Color& color) const¶
1 inline Color setItemColor(const Color& color) const { return Color(getPrimColor(), color, getBorderColor(), secondaryColor); }
Mit dieser Funktion lässt sich die Item Farbe eines Color Objektes setzen. Die Funktion gibt ein neues Objekt zurück.
inline Color setBorderColor(const Color& color) const¶
1 inline Color setBorderColor(const Color& color) const { return Color(getPrimColor(), getItemColor(), color, secondaryColor); }
Mit dieser Funktion lässt sich die Umrandungs Farbe eines Color Objektes setzen. Die Funktion gibt ein neues Objekt zurück.
inline Color setSecondaryColor(const Color& color) const¶
1 inline Color setSecondaryColor(const Color& color) const { return Color(getPrimColor(), getItemColor(), getBorderColor(), color); }
Mit dieser Funktion lässt sich die Zweitfarbe eines Color Objektes setzen. Die Funktion gibt ein neues Objekt zurück.
inline Color setSecondaryItemColor(const Color& color) const¶
1 inline Color setSecondaryItemColor(const Color& color) const { return Color(*this, getItemColor(), getBorderColor(), Color(*secondaryColor, secondaryColor->getItemColor(), color)); }
Mit dieser Funktion lässt sich die Item Farbe der Zweitfarbe eines Color Objektes setzen. Die Funktion gibt ein neues Objekt zurück.
inline Color setSecondaryBorderColor(const Color& color) const¶
1 inline Color getSecondaryBorderColor() const { return getSecondaryColor().getBorderColor(); }
Mit dieser Funktion lässt sich die Umrandungs Farbe der Zweitfarbe eines Color Objektes setzen. Die Funktion gibt ein neues Objekt zurück.
inline void setPrimaryColor(const Color& color)¶
1 inline void setPrimaryColor(const Color& color) { r_prim = color.r_prim; g_prim = color.g_prim; b_prim = color.b_prim; }
Mit dieser Funktion lässt sich die Hauptfarbe des aktuellen Color Objektes verändern.
inline void setItemColor(const Color& color)¶
1 inline void setItemColor(const Color& color) { r_item = color.r_prim; g_item = color.g_prim; b_item = color.b_prim; }
Mit dieser Funktion lässt sich die Item Farbe des aktuellen Color Objektes verändern.
inline void setBorderColor(const Color& color)¶
1 inline void setBorderColor(const Color& color) { r_border = color.r_prim; g_border = color.g_prim; b_border = color.b_prim; }
Mit dieser Funktion lässt sich die Umrandungs Farbe des aktuellen Color Objektes verändern.
inline void setSecondaryColor(const Color& color)¶
1 inline void setSecondaryColor(const Color& color) { secondaryColor->r_prim = color.r_prim; secondaryColor->g_prim = color.g_prim; secondaryColor->b_prim = color.b_prim; }
Mit dieser Funktion lässt sich die Zweitfarbe des aktuellen Color Objektes verändern.
inline void setSecondaryItemColor(const Color& color)¶
1 inline void setSecondaryItemColor(const Color& color) { secondaryColor->r_item = color.r_prim; secondaryColor->g_item = color.g_prim; secondaryColor->b_item = color.b_prim; }
Mit dieser Funktion lässt sich die Item Farbe der Zweitfarbe des aktuellen Color Objektes verändern.
inline void setSecondaryBorderColor(const Color& color)¶
1 inline void setSecondaryBorderColor(const Color& color) { secondaryColor->r_border = color.r_prim; secondaryColor->g_border = color.g_prim; secondaryColor->b_border = color.b_prim; }
Mit dieser Funktion lässt sich die Umrandungs Farbe der Zweitfarbe des aktuellen Color Objektes verändern.
inline String toString() const¶
1 inline String toString() const {
2 return "Color(" + String(r_prim) + ", " + String(g_prim) + ", " + String(b_prim) + ")";
3 }
Diese Funktion gibt einen String in der Form Color(r,g,b) zurück,
wobei die jeweiligen Zahlenwerte an Stelle von „r“,“g“ bzw. „b“ ausgegeben werden.
Variablen Beschreibung¶
uint8_t r_prim¶
Gibt den Rotanteil an, den eine Farbe haben kann (0 bis 255).
uint8_t g_prim¶
Gibt den Grünanteil an, den eine Farbe haben kann (0 bis 255).
uint8_t b_prim¶
Gibt den Blauanteil an, den eine Farbe haben kann (0 bis 255).
uint8_t r_item¶
Gibt den Rotanteil an, den die Farbe eines Item haben kann (0 bis 255).
uint8_t g_item¶
Gibt den Grünanteil an, den die Farbe eines Item haben kann (0 bis 255).
uint8_t b_item¶
Gibt den Blauanteil an, den die Farbe eines Item haben kann (0 bis 255).
uint8_t r_border¶
Gibt den Rotanteil an, den die Farbe einer Umrandung haben kann (0 bis 255).
uint8_t g_border¶
Gibt den Grünanteil an, den die Farbe einer Umrandung haben kann (0 bis 255).
uint8_t b_border¶
Gibt den Blauanteil an, den die Farbe einer Umrandung haben kann (0 bis 255).
Color* secondaryColor = nullptr¶
Die secondaryColor ist eine zusätzliche (Zweit)Farbe, die im Color Objekt gespeichert werden kann, wenn der Bedarf ist. Sie ist nützlich, wenn z.B. ein Button in seiner
aktivierten Form eine andere Farbe haben soll, als in seiner deaktivierten Form. ie aus einer anderen Farbe (bzw. einem anderen Color Objekt) erstellt werden kann.
const bool isBorderSet = false¶
Speichert, ob bereits eine Umrandungsfarbe für ein Objekt festgelegt ist.