#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<TextFeld>* members; Knopf* ausfahren; Rahmen* auswRahmen; int auswBgF; Bild* auswBgB; AlphaFeld* auswAf; RCArray<Rahmen>* msAuswRahmen; Array<int>* msAuswBgF; RCArray<Bild>* msAuswBgB; RCArray<AlphaFeld>* msAuswAf; Rahmen* mausRahmen; int mausBgF; Bild* mausBgB; AlphaFeld* mausAf; RCArray<Rahmen>* msMausRahmen; Array<int>* msMausBgF; RCArray<Bild>* msMausBgB; RCArray<AlphaFeld>* msMausAf; int anzahl; int auswahl; bool ausgeklappt; int ausklappHeight; int ausklapMaxHeight; int eintragHeight; double tickval; int mausEintrag; bool scrollAnzeigen; void* eAkP; std::function<void(void*, AuswahlBox*, int, int)> 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<void(void*, AuswahlBox*, int, int)> 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