#ifndef AuswahlBox_H #define AuswahlBox_H #include "Array.h" #include "Drawing.h" namespace Framework { class TextFeld; //! TextField.h class VScrollBar; //! Scroll.h class Rahmen; //! Border.h class Knopf; //! Button.h class AlphaFeld; //! AlphaField.h class Text; //! Tet.h class Schrift; //! Font.h class TextRenderer; //! A 2D GUI Framework drawing. Represents a box from which //! the user can select different values by expanding it class AuswahlBox : public ZeichnungHintergrund { public: class Style : public ZeichnungHintergrund::Style { public: //! If this flag is set, each value in the list has a border static const __int64 FeldRahmen = 0x000001000; //! If this flag is set, each value in the list has a background static const __int64 FeldHintergrund = 0x000002000; //! If this flag is set, each value in the list has an image //! as background static const __int64 FeldHBild = 0x000004000; //! If this flag is set, each value in the list has a //! transparent background static const __int64 FeldHAlpha = 0x000008000; //! If this flag is set, each value in the list has a //! color gradient static const __int64 FeldBuffer = 0x000010000; //! If this flag is set, the currently selected value //! gets a background static const __int64 AuswahlHintergrund = 0x000020000; //! If this flag is set, the currently selected value //! gets a background image static const __int64 AuswahlHBild = 0x000040000; //! If this flag is set, the currently selected value //! gets a transparent background static const __int64 AuswahlHAlpha = 0x000080000; //! If this flag is set, the currently selected value //! gets a color gradient static const __int64 AuswahlBuffer = 0x000100000; //! If this flag is set, the currently selected value //! gets a border static const __int64 AuswahlRahmen = 0x000200000; //! If this flag is set, each value has its own backgrounds //! and borders instead of sharing the same ones static const __int64 MultiStyled = 0x000400000; //! Sets a maximum height for the expanded list. A scrollbar //! appears automatically when there are more elements than //! can be visible static const __int64 MaxHeight = 0x004000000; //! If this flag is set, the element the mouse is pointing //! at has a background static const __int64 MausHintergrund = 0x008000000; //! If this flag is set, the element the mouse is pointing //! at has a background image static const __int64 MausHBild = 0x010000000; //! If this flag is set, the element the mouse is pointing //! at has a transparent background static const __int64 MausHAlpha = 0x020000000; //! If this flag is set, the element the mouse is pointing //! at has a color gradient static const __int64 MausBuffer = 0x040000000; //! If this flag is set, the element the mouse is pointing //! at has a border static const __int64 MausRahmen = 0x080000000; //! const int NachObenAusklappen = 0x100000000; //! const int AutoAusklappRichtung = 0x200000000; //! Normal style: Visible, Enabled, Border, FieldBorder, //! SelectionBuffer, SelectionBorder, MaxHeight, VScroll, //! MouseBorder, MouseBuffer 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; //! Processes mouse messages //! \param me The event triggered by the mouse input DLLEXPORT void doMausEreignis(MausEreignis& me, bool userRet) override; public: //! Constructor DLLEXPORT AuswahlBox(); //! Destructor DLLEXPORT virtual ~AuswahlBox(); //! Sets the parameter of the callback function that is called when //! the user selects a new element \param p The parameter DLLEXPORT void setEventParam(void* p); //! Sets the callback function that is called when the user //! selects a new element \param eAk The callback function call: //! eAk( parameter, this, 0, selectionIndex ) DLLEXPORT void setEventAktion( std::function event); //! Sets the used TextRenderer //! \param textRd The text renderer DLLEXPORT void setTextRendererZ(TextRenderer* textRd); //! Sets the used font //! \param schrift The font DLLEXPORT void setSchriftZ(Schrift* schrift); //! Adds a selectable entry to the list. The first entry is //! automatically selected at the beginning \param txt The text of //! the entry DLLEXPORT void addEintrag(const char* txt); //! Adds a selectable entry to the list. The first entry is //! automatically selected at the beginning \param txt The text of //! the entry DLLEXPORT void addEintrag(Text* txt); //! Adds a selectable entry to the list. The first entry is //! automatically selected at the beginning \param txt A pointer to //! the entry DLLEXPORT void addEintragZ(TextFeld* txt); //! Changes the text of an entry //! \param i The index of the entry //! \param txt The new text DLLEXPORT void setEintrag(int i, const char* txt); //! Changes the text of an entry //! \param i The index of the entry //! \param txt The new text DLLEXPORT void setEintrag(int i, Text* txt); //! Changes an entry //! \param i The index of the entry //! \param txt A pointer to the new entry DLLEXPORT void setEintragZ(int i, TextFeld* txt); //! Deletes an entry //! \param i The index of the entry DLLEXPORT void removeEintrag(int i); //! Sets a pointer to the button used for expanding and collapsing //! the list \param ausK The button DLLEXPORT void setAusklappKnopfZ(Knopf* ausK); //! Sets a pointer to a border used for a specific entry //! \param i The index of the entry \param rahmen The border DLLEXPORT void setEintragRahmenZ(int i, Rahmen* rahmen); //! Sets the color of a border used for a specific entry //! \param i The index of the entry \param f The color in //! A8R8G8B8 format DLLEXPORT void setEintragRahmenFarbe(int i, int f); //! Sets the width of a border used for a specific entry //! \param i The index of the entry \param rbr The width //! of the border in pixels DLLEXPORT void setEintragRahmenBreite(int i, int rbr); //! Sets a background color used for a specific entry //! \param i The index of the entry \param f The color in //! A8R8G8B8 format DLLEXPORT void setEintragHintergrundFarbe(int i, int f); //! Sets a pointer to a background image used for a specific //! entry \param i The index of the entry //! \param bgB The background image DLLEXPORT void setEintragHintergrundBildZ(int i, Bild* bgB); //! Sets a background image by copying, used for a specific //! entry \param i The index of the entry \param bgB The //! background image DLLEXPORT void setEintragHintergrundBild(int i, Bild* bgB); //! Sets a pointer to a color gradient used for a specific //! entry \param i The index of the entry \param af The //! color gradient DLLEXPORT void setEintragAlphaFeldZ(int i, AlphaFeld* af); //! Sets the color of a color gradient used for a specific //! entry \param i The index of the entry \param afF The //! color in A8R8G8B8 format DLLEXPORT void setEintragAlphaFeldFarbe(int i, int afF); //! Sets the strength of a color gradient used for a specific //! entry \param i The index of the entry \param afSt The //! strength DLLEXPORT void setEintragAlphaFeldStrength(int i, int afSt); //! Sets a pointer to a border used for the selected entry //! \param rahmen The border DLLEXPORT void setAuswRahmenZ(Rahmen* rahmen); //! Sets the color of a border used for the selected entry //! \param f The color in A8R8G8B8 format DLLEXPORT void setAuswRahmenFarbe(int f); //! Sets the width of a border used for the selected entry //! \param rbr The width in pixels DLLEXPORT void setAuswRahmenBreite(int rbr); //! Sets the background color used for the selected entry //! \param f The color in A8R8G8B8 format DLLEXPORT void setAuswHintergrundFarbe(int f); //! Sets a pointer to a background image used for the selected //! entry \param bgB The image DLLEXPORT void setAuswHintergrundBildZ(Bild* bgB); //! Sets a background image by copying, used for the selected //! entry \param bgB The image DLLEXPORT void setAuswHintergrundBild(Bild* bgB); //! Sets a pointer to a color gradient used for the selected //! entry \param af The color gradient DLLEXPORT void setAuswAlphaFeldZ(AlphaFeld* af); //! Sets the color of a color gradient used for the selected //! entry \param afF The color in A8R8G8B8 format DLLEXPORT void setAuswAlphaFeldFarbe(int afF); //! Sets the strength of a color gradient used for the selected //! entry \param afSt The strength DLLEXPORT void setAuswAlphaFeldStrength(int afSt); //! Sets a pointer to a border used with the MultiStyled flag //! when selecting a specific entry \param i //! The index of the entry \param rahmen The border DLLEXPORT void setMsAuswRahmenZ(int i, Rahmen* rahmen); //! Sets the color of a border used with the MultiStyled flag when //! selecting a specific entry \param i The index //! of the entry \param f The color in A8R8G8B8 format DLLEXPORT void setMsAuswRahmenFarbe(int i, int f); //! Sets the width of a border used with the MultiStyled flag when //! selecting a specific entry \param i The //! index of the entry \param rbr The width in pixels DLLEXPORT void setMsAuswRahmenBreite(int i, int rbr); //! Sets the background color used with the MultiStyled flag when //! selecting a specific entry \param i The index //! of the entry \param f The color in A8R8G8B8 format DLLEXPORT void setMsAuswHintergrundFarbe(int i, int f); //! Sets a pointer to a background image used with the MultiStyled //! flag when selecting a specific entry //! \param i The index of the entry //! \param bgB The image DLLEXPORT void setMsAuswHintergrundBildZ(int i, Bild* bgB); //! Sets a background image by copying, used with the MultiStyled //! flag when selecting a specific entry //! \param i The index of the entry //! \param bgB The image DLLEXPORT void setMsAuswHintergrundBild(int i, Bild* bgB); //! Sets a pointer to a color gradient used with the MultiStyled //! flag when selecting a specific entry //! \param i The index of the entry //! \param af The color gradient DLLEXPORT void setMsAuswAlphaFeldZ(int i, AlphaFeld* af); //! Sets the color of a color gradient used with the MultiStyled flag //! when selecting a specific entry \param i The //! index of the entry \param afF The color in A8R8G8B8 format DLLEXPORT void setMsAuswAlphaFeldFarbe(int i, int afF); //! Sets the strength of a color gradient used with the MultiStyled //! flag when selecting a specific entry \param i //! The index of the entry \param afSt The strength DLLEXPORT void setMsAuswAlphaFeldStrength(int i, int afSt); //! Sets a pointer to a border used for the entry the mouse is //! pointing at \param rahmen The border DLLEXPORT void setMausRahmenZ(Rahmen* rahmen); //! Sets the color of a border used for the entry the mouse is //! pointing at \param f The color in A8R8G8B8 format DLLEXPORT void setMausRahmenFarbe(int f); //! Sets the width of a border used for the entry the mouse is //! pointing at \param rbr The width of the border in pixels DLLEXPORT void setMausRahmenBreite(int rbr); //! Sets the background color used for the entry the mouse is //! pointing at \param f The color in A8R8G8B8 format DLLEXPORT void setMausHintergrundFarbe(int f); //! Sets a pointer to a background image used for the entry the mouse //! is pointing at \param bgB The image DLLEXPORT void setMausHintergrundBildZ(Bild* bgB); //! Sets a background image by copying, used for the entry the mouse //! is pointing at \param bgB The image DLLEXPORT void setMausHintergrundBild(Bild* bgB); //! Sets a color gradient used for the entry the mouse is pointing //! at \param af The color gradient DLLEXPORT void setMausAlphaFeldZ(AlphaFeld* af); //! Sets the color of a color gradient used for the entry the mouse //! is pointing at \param afF The color in A8R8G8B8 format DLLEXPORT void setMausAlphaFeldFarbe(int afF); //! Sets the strength of a color gradient used for the entry the mouse //! is pointing at \param afSt The strength DLLEXPORT void setMausAlphaFeldStrength(int afSt); //! Sets a pointer to a border used with the MultiStyled flag for a //! specific entry the mouse is pointing at //! \param i The index of the entry //! \param rahmen The border DLLEXPORT void setMsMausRahmenZ(int i, Rahmen* rahmen); //! Sets the color of a border used with the MultiStyled flag for a //! specific entry the mouse is pointing at \param i //! The index of the entry \param f The color in A8R8G8B8 format DLLEXPORT void setMsMausRahmenFarbe(int i, int f); //! Sets the width of a border used with the MultiStyled flag for a //! specific entry the mouse is pointing at //! \param i The index of the entry //! \param rbr The width in pixels DLLEXPORT void setMsMausRahmenBreite(int i, int rbr); //! Sets the background color used with the MultiStyled flag for a //! specific entry the mouse is pointing at \param i //! The index of the entry \param f The color in A8R8G8B8 format DLLEXPORT void setMsMausHintergrundFarbe(int i, int f); //! Sets a pointer to a background image used with the MultiStyled //! flag for a specific entry the mouse is pointing at //! \param i The index of the entry \param bgB The image DLLEXPORT void setMsMausHintergrundBildZ(int i, Bild* bgB); //! Sets a background image by copying, used with the MultiStyled //! flag for a specific entry the mouse is pointing at //! \param i The index of the entry \param bgB The image DLLEXPORT void setMsMausHintergrundBild(int i, Bild* bgB); //! Sets a pointer to a color gradient used with the MultiStyled //! flag for a specific entry the mouse is pointing at //! \param i The index of the entry \param af The color gradient DLLEXPORT void setMsMausAlphaFeldZ(int i, AlphaFeld* af); //! Sets the color of a color gradient used with the MultiStyled //! flag for a specific entry the mouse is pointing at //! \param i The index of the entry //! \param afF The color in A8R8G8B8 format DLLEXPORT void setMsMausAlphaFeldFarbe(int i, int afF); //! Sets the strength of a color gradient used with the MultiStyled //! flag for a specific entry the mouse is pointing at //! \param i The index of the entry //! \param afSt The strength DLLEXPORT void setMsMausAlphaFeldStrength(int i, int afSt); //! Selects an element //! \param i The index of the element DLLEXPORT void setAuswahl(int i); //! Expands the list for selection DLLEXPORT void ausklappen(); //! Collapses the list DLLEXPORT void einklappen(); //! Scrolls in the list to a specific entry //! \param i The index of the entry DLLEXPORT void scrollZuEintrag(int i); //! Sets the maximum expansion height of the list //! \param maxHeight The maximum height in pixels DLLEXPORT void setMaxAuskappHeight(int maxHeight); //! Sets the height of the entries //! \param height The height in pixels DLLEXPORT void setEintragHeight(int height); //! Adds styles to a specific entry if the MultiStyled flag //! is set \param i The index of the entry \param //! abStyle The style to add DLLEXPORT void addMsStyle(int i, __int64 abStyle); //! Sets styles of a specific entry if the MultiStyled flag //! is set \param i The index of the entry \param abStyle The //! style \param add 1 if the styles should be added, //! 0 if they should be removed DLLEXPORT void setMsStyle(int i, __int64 abStyle, bool add); //! Replaces the styles of a specific entry if the MultiStyled //! flag is set \param i The index of the entry \param //! abStyle The new style DLLEXPORT void setMsStyle(int i, __int64 abStyle); //! Removes styles from a specific entry if the MultiStyled //! flag is set \param i The index of the entry \param //! abStyle The style to remove DLLEXPORT void removeMsStyle(int i, __int64 abStyle); //! Updates the object. Called by the framework //! \param tickVal The time in seconds since the last call //! of this function \return 1 if something changed //! and the image needs to be redrawn. 0 otherwise DLLEXPORT bool tick(double tickVal) override; //! Processes keyboard messages //! \param te The event triggered by the keyboard input DLLEXPORT void doTastaturEreignis(TastaturEreignis& te) override; //! Draws the object to zRObj if it is visible //! \param zRObj The image to draw into DLLEXPORT void render(Bild& zRObj) override; //! Returns the index of an entry //! \param txt The text of the entry DLLEXPORT int getEintragPos(const char* txt) const; //! Returns the index of an entry //! \param txt The text of the entry DLLEXPORT int getEintragPos(Text* txt) const; //! Returns the text of an entry //! \param i The index of the entry DLLEXPORT Text* getEintragText(int i) const; //! Returns the text of an entry without increased reference counter //! \param i The index of the entry DLLEXPORT Text* zEintragText(int i) const; //! Returns an entry //! \param i The index of the entry DLLEXPORT TextFeld* getEintrag(int i) const; //! Returns an entry without increased reference counter //! \param i The index of the entry DLLEXPORT TextFeld* zEintrag(int i) const; //! Returns the index of the selected entry DLLEXPORT int getAuswahl() const; //! Returns the number of entries DLLEXPORT int getEintragAnzahl() const; //! Returns whether the list is currently expanded DLLEXPORT bool istAusgeklappt() const; //! Returns the maximum height of the expanded list DLLEXPORT int getMaxHeight() const; //! Returns the height of an entry DLLEXPORT int getEintragHeight() const; //! Returns the button used for expanding and collapsing the list DLLEXPORT Knopf* getAusklappKnopf() const; //! Returns the button without increased reference counter used for //! expanding and collapsing the list DLLEXPORT Knopf* zAusklappKnopf() const; //! Returns the border of an entry //! \param i The index of the entry DLLEXPORT Rahmen* getEintragRahmen(int i) const; //! Returns the border of an entry without increased reference counter //! \param i The index of the entry DLLEXPORT Rahmen* zEintragRahmen(int i) const; //! Returns the color of a border of an entry in A8R8G8B8 format //! \param i The index of the entry DLLEXPORT int getEintragRahmenFarbe(int i) const; //! Returns the width of a border of an entry //! \param i The index of the entry DLLEXPORT int getEintragRahmenBreite(int i) const; //! Returns the color gradient of an entry //! \param i The index of the entry DLLEXPORT AlphaFeld* getEintragAlphaFeld(int i) const; //! Returns the color gradient of an entry without increased reference //! counter \param i The index of the entry DLLEXPORT AlphaFeld* zEintragAlphaFeld(int i) const; //! Returns the color of a color gradient of an entry in A8R8G8B8 format //! \param i The index of the entry DLLEXPORT int getEintragAlphaFeldFarbe(int i) const; //! Returns the strength of a color gradient of an entry //! \param i The index of the entry DLLEXPORT int getEintragAlphaFeldStrength(int i) const; //! Returns the background color of an entry in A8R8G8B8 format //! \param i The index of the entry DLLEXPORT int getEintragHintergrundFarbe(int i) const; //! Returns the background image of an entry //! \param i The index of the entry DLLEXPORT Bild* getEintragHintergrundBild(int i) const; //! Returns the background image of an entry without increased reference //! counter \param i The index of the entry DLLEXPORT Bild* zEintragHintergrundBild(int i) const; //! Returns the border used when selecting an entry DLLEXPORT Rahmen* getAuswRahmen() const; //! Returns the border without increased reference counter used when //! selecting an entry DLLEXPORT Rahmen* zAuswRahmen() const; //! Returns the color of the border in A8R8G8B8 format used when //! selecting an entry DLLEXPORT int getAuswRahmenFarbe() const; //! Returns the width of the border used when selecting an entry DLLEXPORT int getAuswRahmenBreite() const; //! Returns the color gradient used when selecting an entry DLLEXPORT AlphaFeld* getAuswAlphaFeld() const; //! Returns the color gradient without increased reference counter used //! when selecting an entry DLLEXPORT AlphaFeld* zAuswAlphaFeld() const; //! Returns the color of the color gradient used when selecting //! an entry DLLEXPORT int getAuswAlphaFeldFarbe() const; //! Returns the strength of the color gradient used when selecting //! an entry DLLEXPORT int getAuswAlphaFeldStrength() const; //! Returns the background color in A8R8G8B8 format used when //! selecting an entry DLLEXPORT int getAuswHintergrundFarbe() const; //! Returns the background image used when selecting an entry DLLEXPORT Bild* getAuswHintergrundBild() const; //! Returns the background image without increased reference counter used //! when selecting an entry DLLEXPORT Bild* zAuswHintergrundBild() const; //! Returns the border used with the MultiStyled flag when selecting //! a specific entry \param i The index of the entry DLLEXPORT Rahmen* getMsAuswRahmen(int i) const; //! Returns the border without increased reference counter used with the //! MultiStyled flag when selecting a specific entry //! \param i The index of the entry DLLEXPORT Rahmen* zMsAuswRahmen(int i) const; //! Returns the color of the border in A8R8G8B8 format used with the //! MultiStyled flag when selecting a specific entry //! \param i The index of the entry DLLEXPORT int getMsAuswRahmenFarbe(int i) const; //! Returns the width of the border used with the MultiStyled flag when //! selecting a specific entry \param i The index of the entry DLLEXPORT int getMsAuswRahmenBreite(int i) const; //! Returns the color gradient used with the MultiStyled flag when //! selecting a specific entry \param i The index of the entry DLLEXPORT AlphaFeld* getMsAuswAlphaFeld(int i) const; //! Returns the color gradient without increased reference counter used //! with the MultiStyled flag when selecting a specific entry //! \param i The index of the entry DLLEXPORT AlphaFeld* zMsAuswAlphaFeld(int i) const; //! Returns the color of the color gradient in A8R8G8B8 format used with //! the MultiStyled flag when selecting a specific entry //! \param i The index of the entry DLLEXPORT int getMsAuswAlphaFeldFarbe(int i) const; //! Returns the strength of the color gradient used with the MultiStyled //! flag when selecting a specific entry //! \param i The index of the entry DLLEXPORT int getMsAuswAlphaFeldStrength(int i) const; //! Returns the background color in A8R8G8B8 format used with the //! MultiStyled flag when selecting a specific entry //! \param i The index of the entry DLLEXPORT int getMsAuswHintergrundFarbe(int i) const; //! Returns the background image used with the MultiStyled flag when //! selecting a specific entry \param i The index of the entry DLLEXPORT Bild* getMsAuswHintergrundBild(int i) const; //! Returns the background image without increased reference counter used //! with the MultiStyled flag when selecting a specific entry //! \param i The index of the entry DLLEXPORT Bild* zMsAuswHintergrundBild(int i) const; //! Returns the border used when the mouse is pointing at an entry DLLEXPORT Rahmen* getMausRahmen() const; //! Returns the border without increased reference counter used when //! the mouse is pointing at an entry DLLEXPORT Rahmen* zMausRahmen() const; //! Returns the color of the border in A8R8G8B8 format used when //! the mouse is pointing at an entry DLLEXPORT int getMausRahmenFarbe() const; //! Returns the width of the border used when the mouse is pointing //! at an entry DLLEXPORT int getMausRahmenBreite() const; //! Returns the color gradient used when the mouse is pointing //! at an entry DLLEXPORT AlphaFeld* getMausAlphaFeld() const; //! Returns the color gradient without increased reference counter used //! when the mouse is pointing at an entry DLLEXPORT AlphaFeld* zMausAlphaFeld() const; //! Returns the color of the color gradient in A8R8G8B8 format used //! when the mouse is pointing at an entry DLLEXPORT int getMausAlphaFeldFarbe() const; //! Returns the strength of the color gradient used when the mouse //! is pointing at an entry DLLEXPORT int getMausAlphaFeldStrength() const; //! Returns the background color in A8R8G8B8 format used when the //! mouse is pointing at an entry DLLEXPORT int getMausHintergrundFarbe() const; //! Returns the background image used when the mouse is pointing //! at an entry DLLEXPORT Bild* getMausHintergrundBild() const; //! Returns the background image without increased reference counter used //! when the mouse is pointing at an entry DLLEXPORT Bild* zMausHintergrundBild() const; //! Returns the border used with the Multistyle flag when the mouse //! is pointing at a specific entry \param i The index of the entry DLLEXPORT Rahmen* getMsMausRahmen(int i) const; //! Returns the border without increased reference counter used with the //! Multistyle flag when the mouse is pointing at a specific entry //! \param i The index of the entry DLLEXPORT Rahmen* zMsMausRahmen(int i) const; //! Returns the color of the border in A8R8G8B8 format used with the //! Multistyle flag when the mouse is pointing at a specific entry //! \param i The index of the entry DLLEXPORT int getMsMausRahmenFarbe(int i) const; //! Returns the width of the border used with the Multistyle flag //! when the mouse is pointing at a specific entry //! \param i The index of the entry DLLEXPORT int getMsMausRahmenBreite(int i) const; //! Returns the color gradient used with the Multistyle flag when //! the mouse is pointing at a specific entry \param i The index //! of the entry DLLEXPORT AlphaFeld* getMsMausAlphaFeld(int i) const; //! Returns the color gradient without increased reference counter used //! with the Multistyle flag when the mouse is pointing at a specific //! entry \param i The index of the entry DLLEXPORT AlphaFeld* zMsMausAlphaFeld(int i) const; //! Returns the color of the color gradient in A8R8G8B8 format used with //! the Multistyle flag when the mouse is pointing at a specific entry //! \param i The index of the entry DLLEXPORT int getMsMausAlphaFeldFarbe(int i) const; //! Returns the strength of the color gradient used with the Multistyle //! flag when the mouse is pointing at a specific entry //! \param i The index of the entry DLLEXPORT int getMsMausAlphaFeldStrength(int i) const; //! Returns the background color in A8R8G8B8 format used with the //! Multistyle flag when the mouse is pointing at a specific entry //! \param i The index of the entry DLLEXPORT int getMsMausHintergrundFarbe(int i) const; //! Returns the background image used with the Multistyle flag when //! the mouse is pointing at a specific entry //! \param i The index of the entry DLLEXPORT Bild* getMsMausHintergrundBild(int i) const; //! Returns the background image without increased reference counter used //! with the Multistyle flag when the mouse is pointing at a specific //! entry \param i The index of the entry DLLEXPORT Bild* zMsMausHintergrundBild(int i) const; //! Checks whether a point is inside this object //! \param x The x coordinate of the point //! \param y The y coordinate of the point //! \return 1 if the point is inside, 0 otherwise DLLEXPORT bool istPunktInnen(int x, int y) const override; //! Checks whether a specific style is set for a specific entry with the //! MultiStyled flag \param i The index of the entry //! \param abStyle The style DLLEXPORT inline bool hatMsStyle(int i, __int64 abStyle) const; //! Checks whether a specific style is not set for a specific entry with //! the MultiStyled flag \param i The index of the entry //! \param abStyle The style DLLEXPORT inline bool hatMsStyleNicht(int i, __int64 abStyle) const; DLLEXPORT Zeichnung* dublizieren() const override; //! Creates a copy of the drawing }; } // namespace Framework #endif