#ifndef AuswahlBox_H #define AuswahlBox_H #include "Array.h" #include "Zeichnung.h" namespace Framework { class TextFeld; //! TextFeld.h class VScrollBar; //! Scroll.h class Rahmen; //! Rahmen.h class Knopf; //! Knopf.h class AlphaFeld; //! AlphaFeld.h class Text; //! Tet.h class Schrift; //! Schrift.h class TextRenderer; //! Eine Zeichnung des 2D GUI Frameworks. Repräsentiert eine Box, aus der //! der Nutzer durch ausklappen verschiedene Werte auswählen kann class AuswahlBox : public ZeichnungHintergrund { public: class Style : public ZeichnungHintergrund::Style { public: //! Wenn dieser Flag gesetzt ist, hat jeder Wert aus der Liste einen //! Rahmen static const __int64 FeldRahmen = 0x000001000; //! Wenn dieser Flag gesetzt ist, hat jeder Wert aus der Liste einen //! Hintergrund static const __int64 FeldHintergrund = 0x000002000; //! Wenn dieser Flag gesetzt ist, hat jeder Wert aus der Liste ein //! Bild als Hintergrund static const __int64 FeldHBild = 0x000004000; //! Wenn dieser Flag gesetzt ist, hat jeder Wert aus der Liste einen //! Transparenten Hintergrund static const __int64 FeldHAlpha = 0x000008000; //! Wenn dieser Flag gesetzt ist, hat jeder Wert aus der Liste einen //! Farbübergang static const __int64 FeldBuffer = 0x000010000; //! Wenn dieser Flag gesetzt ist, bekommt der Wert, der gerade //! ausgewählt Hintergrund static const __int64 AuswahlHintergrund = 0x000020000; //! Wenn dieser Flag gesetzt ist, bekommt der Wert, der gerade //! ausgewählt ist ein Hintergrundbild static const __int64 AuswahlHBild = 0x000040000; //! Wenn dieser Flag gesetzt ist, bekommt der Wert, der gerade //! ausgewählt ist einen transparenten Hintergrund static const __int64 AuswahlHAlpha = 0x000080000; //! Wenn dieser Flag gesetzt ist, bekommt der Wert, der gerade //! ausgewählt ist einen Farbübergang static const __int64 AuswahlBuffer = 0x000100000; //! Wenn dieser Flag gesetzt ist, bekommt der Wert, der gerade //! ausgewählt ist einen Rahmen static const __int64 AuswahlRahmen = 0x000200000; //! Wenn dieser Flag gesetzt ist, hat jeder Wert seine eigenen //! Hintergründe unt Rahmen und nicht alle die selben static const __int64 MultiStyled = 0x000400000; //! Legt eine maximale Höhe der ausgeklappten Liste fest. Es //! erscheint automatisch eine Scrollbar wenn mehr Elemente da sind //! als sichtbar sein können static const __int64 MaxHeight = 0x004000000; //! Wenn dieser Flag gesetzt ist, hat ein Element, wo die Maus drau //! zeigt, einen Hintergrund static const __int64 MausHintergrund = 0x008000000; //! Wenn dieser Flag gesetzt ist, hat ein Element, wo die Maus drauf //! zeigt, ein Hintergrundbild static const __int64 MausHBild = 0x010000000; //! Wenn dieser Flag gesetzt ist, hat ein Element, wo die Maus drauf //! zeigt, einen transparenten Hintergrund static const __int64 MausHAlpha = 0x020000000; //! Wenn dieser Flag gesetzt ist, hat ein Element, wo die Maus drauf //! zeigt, einen Farbübergang static const __int64 MausBuffer = 0x040000000; //! Wenn dieser Flag gesetzt ist, hat ein Element, wo die Maus drauf //! zeigt, einen Rahmen static const __int64 MausRahmen = 0x080000000; //! const int NachObenAusklappen = 0x100000000; //! const int AutoAusklappRichtung = 0x200000000; //! Normaler Style: Sichtbar, Erlaubt, Rahmen, FeldRahmen, //! AuswahlBuffer, AuswahlRahmen, MaxHöhe, VScroll, MausRahmen, //! MausBuffer static const __int64 Normal = Sichtbar | Erlaubt | Rahmen | FeldRahmen | AuswahlBuffer | AuswahlRahmen | MaxHeight | VScroll | MausRahmen | MausBuffer | Hintergrund | MEIgnoreParentInside | MEIgnoreVerarbeitet; }; private: TextRenderer* textRd; Array<__int64>* msStyle; RCArray* members; Knopf* ausfahren; Rahmen* auswRahmen; int auswBgF; Bild* auswBgB; AlphaFeld* auswAf; RCArray* msAuswRahmen; Array* msAuswBgF; RCArray* msAuswBgB; RCArray* msAuswAf; Rahmen* mausRahmen; int mausBgF; Bild* mausBgB; AlphaFeld* mausAf; RCArray* msMausRahmen; Array* msMausBgF; RCArray* msMausBgB; RCArray* msMausAf; int anzahl; int auswahl; bool ausgeklappt; int ausklappHeight; int ausklapMaxHeight; int eintragHeight; double tickval; int mausEintrag; bool scrollAnzeigen; void* eAkP; std::function eAk; //! Verarbeitet Maus Nachrichten //! \param me Das Ereignis, was durch die Mauseingabe ausgelößt wurde DLLEXPORT void doMausEreignis(MausEreignis& me, bool userRet) override; public: //! Konstruktor DLLEXPORT AuswahlBox(); //! Destruktor DLLEXPORT virtual ~AuswahlBox(); //! Setzt den Parameter der Rückruffunktion, die aufgerufen wird, wenn //! der Benutzer ein neues element auswählt \param p Der Parameter DLLEXPORT void setEventParam(void* p); //! Setzt die Rückruffunktion, die Aufgerufen wird, wenn der Benutzer //! ein neues Element auswählt \param eAk Die Rückruffunktion Aufruf: //! eAk( parameter, this, 0, auswahlIndex ) DLLEXPORT void setEventAktion( std::function event); //! Setzt den verwendeten TextRenderer //! \param textRd Der Textrenderer DLLEXPORT void setTextRendererZ(TextRenderer* textRd); //! Setzt die verwendete Schrift //! \param schrift Die Schrift DLLEXPORT void setSchriftZ(Schrift* schrift); //! Fügt der Liste einen auswählbaren Eintrag hinzu. Der erste Eintrag //! ist zu Beginn automatisch ausgewählt \param txt Der Text des //! Eintrags DLLEXPORT void addEintrag(const char* txt); //! Fügt der Liste einen auswählbaren Eintrag hinzu. Der erste Eintrag //! ist zu Beginn automatisch ausgewählt \param txt Der Text des //! Eintrags DLLEXPORT void addEintrag(Text* txt); //! Fügt der Liste einen auswählbaren Eintrag hinzu. Der erste Eintrag //! ist zu Beginn automatisch ausgewählt \param txt Ein Zeiger auf den //! Eintrag DLLEXPORT void addEintragZ(TextFeld* txt); //! Ändert den Text eines Eintrags //! \param i Der Index des Eintrags //! \param txt Der neue Text DLLEXPORT void setEintrag(int i, const char* txt); //! Ändert den Text eines Eintrags //! \param i Der Index des Eintrags //! \param txt Der neue Text DLLEXPORT void setEintrag(int i, Text* txt); //! Ändert einen Eintrag //! \param i Der Index des Eintrags //! \param txt Ein Zeiger auf den neuen Eintrag DLLEXPORT void setEintragZ(int i, TextFeld* txt); //! Löscht einen Eintrag //! \param i Der Index des Eintrags DLLEXPORT void removeEintrag(int i); //! Setzt einen Zeiger auf den Knopf, der zum aus und einklappen der //! Liste verwendet wird \param ausK Der Knopf DLLEXPORT void setAusklappKnopfZ(Knopf* ausK); //! Setzt einen Zeiger auf einen Rahmen, der für einen bestimmten //! Eintrag benutzt wird \param i Der Index des Eintrags \param rahmen //! Der Rahemn DLLEXPORT void setEintragRahmenZ(int i, Rahmen* rahmen); //! Setzt die Farbe eines Rahmens, der für einen bestimmten Eintrag //! benutzt wird \param i Der Index des Eintrags \param f Die farbe im //! A8R8G8B8 Format DLLEXPORT void setEintragRahmenFarbe(int i, int f); //! Setzt die Breite eines Rahmens, der für einen bestimmten Eintrag //! benutzt wird \param i Der Index des Eintrags \param rbr Die Breite //! des Rahmens in Pixeln DLLEXPORT void setEintragRahmenBreite(int i, int rbr); //! Setzt eine Hintergrund Farbe, die für einen bestimmten Eintrag //! benutzt wird \param i Der Index des Eintrags \param f Die farbe im //! A8R8G8B8 Format DLLEXPORT void setEintragHintergrundFarbe(int i, int f); //! Setzt einen zeiger auf ein Hintergrund Bild, das für einen //! bestimmten Eintrag benutzt wird \param i Der Index des Eintrags //! \param bgB Das Hintergrund Bild DLLEXPORT void setEintragHintergrundBildZ(int i, Bild* bgB); //! Setzt ein Hintergrund Bild durch Kopieren, das für einen bestimmten //! Eintrag benutzt wird \param i Der Index des Eintrags \param bgB Das //! Hintergrund Bild DLLEXPORT void setEintragHintergrundBild(int i, Bild* bgB); //! Setzt einen zeiger auf einen Farbübergangn, der für einen bestimmten //! Eintrag benutzt wird \param i Der Index des Eintrags \param af Der //! Farbübergang DLLEXPORT void setEintragAlphaFeldZ(int i, AlphaFeld* af); //! Setzt dei Farbe eines Farbübergangns, der für einen bestimmten //! Eintrag benutzt wird \param i Der Index des Eintrags \param afF Die //! Farbe im A8R8G8B8 Format DLLEXPORT void setEintragAlphaFeldFarbe(int i, int afF); //! Setzt dei Stärke eines Farbübergangns, der für einen bestimmten //! Eintrag benutzt wird \param i Der Index des Eintrags \param afSt Die //! Stärke DLLEXPORT void setEintragAlphaFeldStrength(int i, int afSt); //! Setzt eienen Zeiger auf einen Rahmen, der bei dem ausgewählten //! Eintrag verwendet wird \param rahmen Der Rahmen DLLEXPORT void setAuswRahmenZ(Rahmen* rahmen); //! Setzt die Farbe eines Rahmens, der bei dem ausgewählten Eintrag //! verwendet wird \param f Die Farbe im A8R8G8B8 Format DLLEXPORT void setAuswRahmenFarbe(int f); //! Setzt die Breite eines Rahmens, der bei dem ausgewählten Eintrag //! verwendet wird \param rbr Die Breite in Pixeln DLLEXPORT void setAuswRahmenBreite(int rbr); //! Setzt die Hintergrund Farbe, die bei dem ausgewählten Eintrag //! verwendet wird \param f Die Farbe im A8R8G8B8 Format DLLEXPORT void setAuswHintergrundFarbe(int f); //! Setzt den Zeiger auf ein Hintergrund Bild, das bei dem ausgewählten //! Eintrag verwendet wird \param bgB Das Bild DLLEXPORT void setAuswHintergrundBildZ(Bild* bgB); //! Setzt ein Hintergrund Bild durch kopieren, das bei dem ausgewählten //! Eintrag verwendet wird \param bgB Das Bild DLLEXPORT void setAuswHintergrundBild(Bild* bgB); //! Setzt den Zeiger auf einen Farbübergang, der bei dem ausgewählten //! Eintrag verwendet wird \param af Der Farbübergang DLLEXPORT void setAuswAlphaFeldZ(AlphaFeld* af); //! Setzt die Farbe eines Farbübergangs, der bei dem ausgewählten //! Eintrag verwendet wird \param afF Die Farbe im A8R8G8B8 Format DLLEXPORT void setAuswAlphaFeldFarbe(int afF); //! Setzt die Stärke eines Farbübergangs, der bei dem ausgewählten //! Eintrag verwendet wird \param afSt Die Stärke DLLEXPORT void setAuswAlphaFeldStrength(int afSt); //! Setzt eienen Zeiger auf einen Rahmen, der bei dem Flag MultiStyled //! bei der Auswahl eines bestimmten Eintrags verwendet wird \param i //! Der Index des Eintrags \param rahmen Der Rahmen DLLEXPORT void setMsAuswRahmenZ(int i, Rahmen* rahmen); //! Setzt die Farbe einens Rahmens, der bei dem Flag MultiStyled bei der //! Auswahl eines bestimmten Eintrags verwendet wird \param i Der Index //! des Eintrags \param f Die Farbe im A8R8G8B8 Format DLLEXPORT void setMsAuswRahmenFarbe(int i, int f); //! Setzt die Breite einens Rahmens, der bei dem Flag MultiStyled bei //! der Auswahl eines bestimmten Eintrags verwendet wird \param i Der //! Index des Eintrags \param rbr Die Breite in Pixeln DLLEXPORT void setMsAuswRahmenBreite(int i, int rbr); //! Setzt die Hintergrundfarbe, die bei dem Flag MultiStyled bei der //! Auswahl eines bestimmten Eintrags verwendet wird \param i Der Index //! des Eintrags \param f Die Farbe im A8R8G8B8 Format DLLEXPORT void setMsAuswHintergrundFarbe(int i, int f); //! Setzt eienen Zeiger auf eine Hintergrund Bild, das bei dem Flag //! MultiStyled bei der Auswahl eines bestimmten Eintrags verwendet wird //! \param i Der Index des Eintrags //! \param bgB Das Bild DLLEXPORT void setMsAuswHintergrundBildZ(int i, Bild* bgB); //! Setzt eien Hintergrund Bild durch kopieren, das bei dem Flag //! MultiStyled bei der Auswahl eines bestimmten Eintrags verwendet wird //! \param i Der Index des Eintrags //! \param bgB Das Bild DLLEXPORT void setMsAuswHintergrundBild(int i, Bild* bgB); //! Setzt eienen Zeiger auf einen Farbverlauf, der bei dem Flag //! MultiStyled bei der Auswahl eines bestimmten Eintrags verwendet wird //! \param i Der Index des Eintrags //! \param af Der Farbverlauf DLLEXPORT void setMsAuswAlphaFeldZ(int i, AlphaFeld* af); //! Setzt die Farbe eines Farbverlaufs, der bei dem Flag MultiStyled bei //! der Auswahl eines bestimmten Eintrags verwendet wird \param i Der //! Index des Eintrags \param afF Die Farbe im A8R8G8B8 Format DLLEXPORT void setMsAuswAlphaFeldFarbe(int i, int afF); //! Setzt die Stärke eines Farbverlaufs, der bei dem Flag MultiStyled //! bei der Auswahl eines bestimmten Eintrags verwendet wird \param i //! Der Index des Eintrags \param afSt Die Stärke DLLEXPORT void setMsAuswAlphaFeldStrength(int i, int afSt); //! Setzt einen Zeiger auf einen Rahmen, der bei dem Eintrag verwendet //! wird, auf den die Maus zeigt \param rahmen Der Rahmen DLLEXPORT void setMausRahmenZ(Rahmen* rahmen); //! Setzt die Farbe eines Rahmens, der bei dem Eintrag verwendet wird, //! auf den die Maus zeigt \param f Die Farbe im A8R8G8B8 Format DLLEXPORT void setMausRahmenFarbe(int f); //! Setzt die Breite eines Rahmens, der bei dem Eintrag verwendet wird, //! auf den die Maus zeigt \param rbr Die Breite des Rahmens in Pixeln DLLEXPORT void setMausRahmenBreite(int rbr); //! Setzt die Hintergrund Farbe, die bei dem Eintrag verwendet wird, auf //! den die Maus zeigt \param f Die Farbe im A8R8G8B8 Format DLLEXPORT void setMausHintergrundFarbe(int f); //! Setzt einen Zeiger auf ein Hintergrund Bild, das bei dem Eintrag //! verwendet wird, auf den die Maus zeigt \param bgB Das Bild DLLEXPORT void setMausHintergrundBildZ(Bild* bgB); //! Setzt ein Hintergrund Bild durch kopieren, das bei dem Eintrag //! verwendet wird, auf den die Maus zeigt \param bgB Das Bild DLLEXPORT void setMausHintergrundBild(Bild* bgB); //! Setzt einen Farbverlauf, der bei dem Eintrag verwendet wird, auf den //! die Maus zeigt \param af Der Farbverlauf DLLEXPORT void setMausAlphaFeldZ(AlphaFeld* af); //! Setzt die Farbe eines Farbverlaufs, der bei dem Eintrag verwendet //! wird, auf den die Maus zeigt \param afF Die Farbe im A8R8G8B8 Format DLLEXPORT void setMausAlphaFeldFarbe(int afF); //! Setzt die Stärke eines Farbverlaufs, der bei dem Eintrag verwendet //! wird, auf den die Maus zeigt \param afSt Die Stärke DLLEXPORT void setMausAlphaFeldStrength(int afSt); //! Setzt einen Zeiger auf einen Rahmen, der bei dem Flag MultiStyled //! bei einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt //! \param i Der Index des Eintrags //! \param rahmen Der Rahmen DLLEXPORT void setMsMausRahmenZ(int i, Rahmen* rahmen); //! Setzt die Farbe eines Rahmes, der bei dem Flag MultiStyled bei einem //! bestimmten Eintrag verwendet wird, auf den die Maus zeigt \param i //! Der Index des Eintrags \param f Die Farbe im A8R8G8B8 Format DLLEXPORT void setMsMausRahmenFarbe(int i, int f); //! Setzt die Breite eines Rahmes, der bei dem Flag MultiStyled bei //! einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt //! \param i Der Index des Eintrags //! \param rbr Die Breite in Pixeln DLLEXPORT void setMsMausRahmenBreite(int i, int rbr); //! Setzt die Hintergrund Farbe, die bei dem Flag MultiStyled bei einem //! bestimmten Eintrag verwendet wird, auf den die Maus zeigt \param i //! Der Index des Eintrags \param f Die Farbe im A8R8G8B8 Format DLLEXPORT void setMsMausHintergrundFarbe(int i, int f); //! Setzt einen Zeiger auf Hintergrund Bild, das bei dem Flag //! MultiStyled bei einem bestimmten Eintrag verwendet wird, auf den die //! Maus zeigt \param i Der Index des Eintrags \param bgB Das Bild DLLEXPORT void setMsMausHintergrundBildZ(int i, Bild* bgB); //! Setzt ein Hintergrund Bild durch kopieren, das bei dem Flag //! MultiStyled bei einem bestimmten Eintrag verwendet wird, auf den die //! Maus zeigt \param i Der Index des Eintrags \param bgB Das Bild DLLEXPORT void setMsMausHintergrundBild(int i, Bild* bgB); //! Setzt einen Zeiger auf einen Farbübergang, der bei dem Flag //! MultiStyled bei einem bestimmten Eintrag verwendet wird, auf den die //! Maus zeigt \param i Der Index des Eintrags \param af Der Farbverlauf DLLEXPORT void setMsMausAlphaFeldZ(int i, AlphaFeld* af); //! Setzt die Farbe einens Farbübergangs, der bei dem Flag MultiStyled //! bei einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt //! \param i Der Index des Eintrags //! \param afF Die Farbe im A8R8G8B8 Format DLLEXPORT void setMsMausAlphaFeldFarbe(int i, int afF); //! Setzt die Stärke einens Farbübergangs, der bei dem Flag MultiStyled //! bei einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt //! \param i Der Index des Eintrags //! \param afSt Die Stärke DLLEXPORT void setMsMausAlphaFeldStrength(int i, int afSt); //! Wählt ein Element aus //! \param i Der Index des Elements DLLEXPORT void setAuswahl(int i); //! Klappt die Liste zum Auswählen aus DLLEXPORT void ausklappen(); //! Klappt die Liste zum Auswählen ein DLLEXPORT void einklappen(); //! Scrollt in der Liste zu einem bestimmten Eintrag //! \param i Der Index des Eintrags DLLEXPORT void scrollZuEintrag(int i); //! Setzt die maximale Ausklapp Höhe der Liste //! \param maxHeight Die maximale Höhe in Pixeln DLLEXPORT void setMaxAuskappHeight(int maxHeight); //! Setzt die Höhe der Einträge //! \param height Die Höhe in Pixeln DLLEXPORT void setEintragHeight(int height); //! Fügt Styles zu einem bestimmten Eintrag hinzu, falls der Flag //! MultiStyled gesetzt wurde \param i Der Index des Eintrags \param //! abStyle Der Style, der hinzugefügt werden soll DLLEXPORT void addMsStyle(int i, __int64 abStyle); //! Setzt Styles eines bestimmten Eintrags, falls der Flag MultiStyled //! gesetzt wurde \param i Der Index des Eintrags \param abStyle Der //! Style \param add 1, falls die Styles hinzugefügt werden sollen und //! 0, falls sie entfernt werden sollen DLLEXPORT void setMsStyle(int i, __int64 abStyle, bool add); //! Ersetzt die Styles eines bestimmten Eintrags, falls der Flag //! MultiStyled gesetzt wurde \param i Der Index des Eintrags \param //! abStyle Der neue Style DLLEXPORT void setMsStyle(int i, __int64 abStyle); //! Entfernt Styles von einem bestimmten Eintrag, falls der Flag //! MultiStyled gesetzt wurde \param i Der Index des Eintrags \param //! abStyle Der Style, der entfernt werden soll DLLEXPORT void removeMsStyle(int i, __int64 abStyle); //! Aktualisiert das Objekt. Wird vom Framework aufgerufen //! \param tickVal Die Zeit in sekunden, die seit dem lezten Aufruf //! dieser Funktion vergangen ist \return 1, wenn sich etwas verändert //! hat und das Bild neu gezeichnet werden muss. 0 sonst DLLEXPORT bool tick(double tickVal) override; //! Verarbeitet Tastatur Nachrichten //! \param me Das Ereignis, was durch die Tastatureingabe ausgelößt //! wurde DLLEXPORT void doTastaturEreignis(TastaturEreignis& te) override; //! Zeichnet das Objekt nach zRObj, falls es sichtbar ist //! \param zRObj Das Bild, in welches gezeichnet werden soll DLLEXPORT void render(Bild& zRObj) override; //! Gibt den Index eines Eintrags zurück //! \param txt Der Text des Eintrags DLLEXPORT int getEintragPos(const char* txt) const; //! Gibt den Index eines Eintrags zurück //! \param txt Der Text des Eintrags DLLEXPORT int getEintragPos(Text* txt) const; //! Gibt den Text eines Eintrags zurück //! \param i Der Index des Eintrags DLLEXPORT Text* getEintragText(int i) const; //! Gibt den Text eines Eintrags ohne erhöhten Reference Counter zurück //! \param i Der Index des Eintrags DLLEXPORT Text* zEintragText(int i) const; //! Gibt einen Eintrag zurück //! \param i Der Index des Eintrags DLLEXPORT TextFeld* getEintrag(int i) const; //! Gibt einen Eintrag ohne erhöhten Reference Counter zurück //! \param i Der Index des Eintrags DLLEXPORT TextFeld* zEintrag(int i) const; //! Gibt den Index des Ausgewählten Eintrags zurück DLLEXPORT int getAuswahl() const; //! Gibt die Anzahl der Einträge zurück DLLEXPORT int getEintragAnzahl() const; //! Gibt zurück, ob die Liste gerade Ausgeklappt ist DLLEXPORT bool istAusgeklappt() const; //! Gibt die maximale Höhe der ausgeklappten Liste zurück DLLEXPORT int getMaxHeight() const; //! Gibt die Höhe eines Eintrags zurück DLLEXPORT int getEintragHeight() const; //! Gibt den Knopf zurück, der zum aus- und einklappen dr Liste //! verwendet wird DLLEXPORT Knopf* getAusklappKnopf() const; //! Gibt den Knopf ohne erhöhten Reference Counter zurück, der zum aus- //! und einklappen dr Liste verwendet wird DLLEXPORT Knopf* zAusklappKnopf() const; //! Gibt den Rahmen eines Eintrags zurück //! \param i Der Index des Eintrags DLLEXPORT Rahmen* getEintragRahmen(int i) const; //! Gibt den Rahmen eines Eintrags ohne erhöhten Reference Counter //! zurück \param i Der Index des Eintrags DLLEXPORT Rahmen* zEintragRahmen(int i) const; //! Gibt die Farbe eines Rahmens eines Eintrags im A8R8G8B8 Format //! zurück \param i Der Index des Eintrags DLLEXPORT int getEintragRahmenFarbe(int i) const; //! Gibt die Breite eines Rahmens eines Eintrags zurück //! \param i Der Index des Eintrags DLLEXPORT int getEintragRahmenBreite(int i) const; //! Gibt den Farbübergang eines Eintrags zurück //! \param i Der Index des Eintrags DLLEXPORT AlphaFeld* getEintragAlphaFeld(int i) const; //! Gibt den Farbübergang eines Eintrags ohne erhöhten Reference Counter //! zurück \param i Der Index des Eintrags DLLEXPORT AlphaFeld* zEintragAlphaFeld(int i) const; //! Gibt die Farbe eines Farbübergangs eines Eintrags im A8R8G8B8 Format //! zurück \param i Der Index des Eintrags DLLEXPORT int getEintragAlphaFeldFarbe(int i) const; //! Gibt die Stärke eines Farbübergangs eines Eintrags zurück //! \param i Der Index des Eintrags DLLEXPORT int getEintragAlphaFeldStrength(int i) const; //! Gibt die Hintergrund Farbe eines Eintrags im A8R8G8B8 Format zurück //! \param i Der Index des Eintrags DLLEXPORT int getEintragHintergrundFarbe(int i) const; //! Gibt das Hintergrund Bild eines Eintrags zurück //! \param i Der Index des Eintrags DLLEXPORT Bild* getEintragHintergrundBild(int i) const; //! Gibt das Hintergrund Bild eines Eintrags ohne erhöhten Reference //! Counter zurück \param i Der Index des Eintrags DLLEXPORT Bild* zEintragHintergrundBild(int i) const; //! Gibt den Rahmen zurück, der bei der Auswahl eines Eintrags verwendet //! wird DLLEXPORT Rahmen* getAuswRahmen() const; //! Gibt den Rahmen ohne erhöhten Reference Counter zurück, der bei der //! Auswahl eines Eintrags verwendet wird DLLEXPORT Rahmen* zAuswRahmen() const; //! Gibt die Farbe des Rahmens im A8R8G8B8 Format zurück, der bei der //! Auswahl eines Eintrags verwendet wird DLLEXPORT int getAuswRahmenFarbe() const; //! Gibt die Breite des Rahmens zurück, der bei der Auswahl eines //! Eintrags verwendet wird DLLEXPORT int getAuswRahmenBreite() const; //! Gibt den Farbübergang zurück, der bei der Auswahl eines Eintrags //! verwendet wird DLLEXPORT AlphaFeld* getAuswAlphaFeld() const; //! Gibt den Farbübergang ohne erhöhten Reference Counter zurück, der //! bei der Auswahl eines Eintrags verwendet wird DLLEXPORT AlphaFeld* zAuswAlphaFeld() const; //! Gibt die Farbe des Farbübergangs zurück, der bei der Auswahl eines //! Eintrags verwendet wird DLLEXPORT int getAuswAlphaFeldFarbe() const; //! Gibt die Stärke des Farbübergangs zurück, der bei der Auswahl eines //! Eintrags verwendet wird DLLEXPORT int getAuswAlphaFeldStrength() const; //! Gibt die Hintergrundfarbe im A8R8G8B8 Format zurück, die bei der //! Auswahl eines Eintrags verwendet wird DLLEXPORT int getAuswHintergrundFarbe() const; //! Gibt das Hintergrundbild zurück, das bei der Auswahl eines Eintrags //! verwendet wird DLLEXPORT Bild* getAuswHintergrundBild() const; //! Gibt das Hintergrundbild ohne erhöhten Reference Counter zurück, das //! bei der Auswahl eines Eintrags verwendet wird DLLEXPORT Bild* zAuswHintergrundBild() const; //! Gibt den Rahmen zurück, der bei dem Flag MultiStyled bei der auswahl //! eines bestimmten Eintrags verwendet wird \param i Der Index des //! Eintrags DLLEXPORT Rahmen* getMsAuswRahmen(int i) const; //! Gibt den Rahmen ohne erhöhten Reference Counter zurück, der bei dem //! Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet //! wird \param i Der Index des Eintrags DLLEXPORT Rahmen* zMsAuswRahmen(int i) const; //! Gibt die Farbe des Rahmens im A8R8G8B8 Format zurück, der bei dem //! Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet //! wird \param i Der Index des Eintrags DLLEXPORT int getMsAuswRahmenFarbe(int i) const; //! Gibt die Breite des Rahmens zurück, der bei dem Flag MultiStyled bei //! der auswahl eines bestimmten Eintrags verwendet wird \param i Der //! Index des Eintrags DLLEXPORT int getMsAuswRahmenBreite(int i) const; //! Gibt den Farbübergang zurück, der bei dem Flag MultiStyled bei der //! auswahl eines bestimmten Eintrags verwendet wird \param i Der Index //! des Eintrags DLLEXPORT AlphaFeld* getMsAuswAlphaFeld(int i) const; //! Gibt den Farbübergang ohne erhöhten Reference Counter zurück, der //! bei dem Flag MultiStyled bei der auswahl eines bestimmten Eintrags //! verwendet wird \param i Der Index des Eintrags DLLEXPORT AlphaFeld* zMsAuswAlphaFeld(int i) const; //! Gibt die Farbe des Farbübergangs im A8R8G8B8 Format zurück, der bei //! dem Flag MultiStyled bei der auswahl eines bestimmten Eintrags //! verwendet wird \param i Der Index des Eintrags DLLEXPORT int getMsAuswAlphaFeldFarbe(int i) const; //! Gibt die Stärke des Farbübergangs zurück, der bei dem Flag //! MultiStyled bei der auswahl eines bestimmten Eintrags verwendet wird //! \param i Der Index des Eintrags DLLEXPORT int getMsAuswAlphaFeldStrength(int i) const; //! Gibt die Hintergrund Farbe im A8R8G8B8 Format zurück, die bei dem //! Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet //! wird \param i Der Index des Eintrags DLLEXPORT int getMsAuswHintergrundFarbe(int i) const; //! Gibt das Hintergrund Bild zurück, das bei dem Flag MultiStyled bei //! der auswahl eines bestimmten Eintrags verwendet wird \param i Der //! Index des Eintrags DLLEXPORT Bild* getMsAuswHintergrundBild(int i) const; //! Gibt das Hintergrund Bild ohne erhöhten Reference Counter zurück, //! das bei dem Flag MultiStyled bei der auswahl eines bestimmten //! Eintrags verwendet wird \param i Der Index des Eintrags DLLEXPORT Bild* zMsAuswHintergrundBild(int i) const; //! Gibt den Rahmen zurück, der verwendet wird, wenn die Maus auf einen //! Eintrag zeigt DLLEXPORT Rahmen* getMausRahmen() const; //! Gibt den Rahmen ohne erhöhten Reference Counter zurück, der //! verwendet wird, wenn die Maus auf einen Eintrag zeigt DLLEXPORT Rahmen* zMausRahmen() const; //! Gibt die Farbe des Rahmens im A8R8G8B8 Format zurück, der verwendet //! wird, wenn die Maus auf einen Eintrag zeigt DLLEXPORT int getMausRahmenFarbe() const; //! Gibt die Breite des Rahmens zurück, der verwendet wird, wenn die //! Maus auf einen Eintrag zeigt DLLEXPORT int getMausRahmenBreite() const; //! Gibt den Farbübergang zurück, der verwendet wird, wenn die Maus auf //! einen Eintrag zeigt DLLEXPORT AlphaFeld* getMausAlphaFeld() const; //! Gibt den Farbübergang ohne erhöhten Reference Counter zurück, der //! verwendet wird, wenn die Maus auf einen Eintrag zeigt DLLEXPORT AlphaFeld* zMausAlphaFeld() const; //! Gibt die Farbe des Farbübergangs im A8R8G8B8 Format zurück, der //! verwendet wird, wenn die Maus auf einen Eintrag zeigt DLLEXPORT int getMausAlphaFeldFarbe() const; //! Gibt die Breite des Farbübergangs zurück, der verwendet wird, wenn //! die Maus auf einen Eintrag zeigt DLLEXPORT int getMausAlphaFeldStrength() const; //! Gibt die Hintergrund Farbe im A8R8G8B8 Format zurück, die verwendet //! wird, wenn die Maus auf einen Eintrag zeigt DLLEXPORT int getMausHintergrundFarbe() const; //! Gibt das Hintergrund Bild zurück, das verwendet wird, wenn die Maus //! auf einen Eintrag zeigt DLLEXPORT Bild* getMausHintergrundBild() const; //! Gibt das Hintergrund Bild ohne erhöhten Reference Counter zurück, //! das verwendet wird, wenn die Maus auf einen Eintrag zeigt DLLEXPORT Bild* zMausHintergrundBild() const; //! Gibt den Rahmen zurück, der bei dem Flag Multistyle verwendet wird, //! wenn die Maus auf einen bestimmten Eintrag zeigt \param i Der Index //! des Eintrags DLLEXPORT Rahmen* getMsMausRahmen(int i) const; //! Gibt den Rahmen ohne erhöhten Reference Counter zurück, der bei dem //! Flag Multistyle verwendet wird, wenn die Maus auf einen bestimmten //! Eintrag zeigt \param i Der Index des Eintrags DLLEXPORT Rahmen* zMsMausRahmen(int i) const; //! Gibt die Farbe des Rahmens im A8R8G8B8 Format zurück, der bei dem //! Flag Multistyle verwendet wird, wenn die Maus auf einen bestimmten //! Eintrag zeigt \param i Der Index des Eintrags DLLEXPORT int getMsMausRahmenFarbe(int i) const; //! Gibt die Breite des Rahmens zurück, der bei dem Flag Multistyle //! verwendet wird, wenn die Maus auf einen bestimmten Eintrag zeigt //! \param i Der Index des Eintrags DLLEXPORT int getMsMausRahmenBreite(int i) const; //! Gibt den Farbübergang zurück, der bei dem Flag Multistyle verwendet //! wird, wenn die Maus auf einen bestimmten Eintrag zeigt \param i Der //! Index des Eintrags DLLEXPORT AlphaFeld* getMsMausAlphaFeld(int i) const; //! Gibt den Farbübergang ohne erhöhten Reference Counter zurück, der //! bei dem Flag Multistyle verwendet wird, wenn die Maus auf einen //! bestimmten Eintrag zeigt \param i Der Index des Eintrags DLLEXPORT AlphaFeld* zMsMausAlphaFeld(int i) const; //! Gibt die Farbe des Farbübergangs im A8R8G8B8 Format zurück, der bei //! dem Flag Multistyle verwendet wird, wenn die Maus auf einen //! bestimmten Eintrag zeigt \param i Der Index des Eintrags DLLEXPORT int getMsMausAlphaFeldFarbe(int i) const; //! Gibt die Stärke des Farbübergangs zurück, der bei dem Flag //! Multistyle verwendet wird, wenn die Maus auf einen bestimmten //! Eintrag zeigt \param i Der Index des Eintrags DLLEXPORT int getMsMausAlphaFeldStrength(int i) const; //! Gibt die Hintergrund Farbe im A8R8G8B8 Format zurück, die bei dem //! Flag Multistyle verwendet wird, wenn die Maus auf einen bestimmten //! Eintrag zeigt \param i Der Index des Eintrags DLLEXPORT int getMsMausHintergrundFarbe(int i) const; //! Gibt das Hintergrund Bild zurück, das bei dem Flag Multistyle //! verwendet wird, wenn die Maus auf einen bestimmten Eintrag zeigt //! \param i Der Index des Eintrags DLLEXPORT Bild* getMsMausHintergrundBild(int i) const; //! Gibt das Hintergrund Bild ohne erhöhten Reference Counter zurück, //! das bei dem Flag Multistyle verwendet wird, wenn die Maus auf einen //! bestimmten Eintrag zeigt \param i Der Index des Eintrags DLLEXPORT Bild* zMsMausHintergrundBild(int i) const; //! Prüft, ob ein Punkt in diesem Objekt liegt //! \param x die x koordinate des punktes //! \param y die y koordinate des punktes //! \return 1, wenn der punkt innen ist, 0 sonst DLLEXPORT bool istPunktInnen(int x, int y) const override; //! Prüft, ob bei dem Flag MultiStyled für einen Bestimmten Eintrag ein //! bestimmter Style gesetzt wurde \param i Der Index des Eintrags //! \param abStyle Der Style DLLEXPORT inline bool hatMsStyle(int i, __int64 abStyle) const; //! Prüft, ob bei dem Flag MultiStyled für einen Bestimmten Eintrag ein //! bestimmter Style nicht gesetzt wurde \param i Der Index des Eintrags //! \param abStyle Der Style DLLEXPORT inline bool hatMsStyleNicht(int i, __int64 abStyle) const; DLLEXPORT Zeichnung* dublizieren() const override; //! Erzeugt eine Kopie des Zeichnungs }; } // namespace Framework #endif