| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613 |
- #ifndef SelectionBox_H
- #define SelectionBox_H
- #include "Array.h"
- #include "Drawing.h"
- namespace Framework
- {
- class TextField; //! TextField.h
- class VScrollBar; //! Scroll.h
- class Border; //! Border.h
- class Button; //! Button.h
- class AlphaField; //! AlphaField.h
- class Text; //! Tet.h
- class Font; //! Font.h
- class TextRenderer;
- //! A 2D GUI Framework drawing. Represents a box from which
- //! the user can select different values by expanding it
- class SelectionBox : public DrawableBackground
- {
- public:
- class Style : public DrawableBackground::Style
- {
- public:
- //! If this flag is set, each value in the list has a border
- static const __int64 FieldBorder = 0x000001000;
- //! If this flag is set, each value in the list has a background
- static const __int64 FieldBackground = 0x000002000;
- //! If this flag is set, each value in the list has an image
- //! as background
- static const __int64 FieldHImage = 0x000004000;
- //! If this flag is set, each value in the list has a
- //! transparent background
- static const __int64 FieldHAlpha = 0x000008000;
- //! If this flag is set, each value in the list has a
- //! color gradient
- static const __int64 FieldBuffer = 0x000010000;
- //! If this flag is set, the currently selected value
- //! gets a background
- static const __int64 SelectionBackground = 0x000020000;
- //! If this flag is set, the currently selected value
- //! gets a background image
- static const __int64 SelectionHImage = 0x000040000;
- //! If this flag is set, the currently selected value
- //! gets a transparent background
- static const __int64 SelectionHAlpha = 0x000080000;
- //! If this flag is set, the currently selected value
- //! gets a color gradient
- static const __int64 SelectionBuffer = 0x000100000;
- //! If this flag is set, the currently selected value
- //! gets a border
- static const __int64 SelectionBorder = 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 MouseBackground = 0x008000000;
- //! If this flag is set, the element the mouse is pointing
- //! at has a background image
- static const __int64 MouseHImage = 0x010000000;
- //! If this flag is set, the element the mouse is pointing
- //! at has a transparent background
- static const __int64 MouseHAlpha = 0x020000000;
- //! If this flag is set, the element the mouse is pointing
- //! at has a color gradient
- static const __int64 MouseBuffer = 0x040000000;
- //! If this flag is set, the element the mouse is pointing
- //! at has a border
- static const __int64 MouseBorder = 0x080000000;
- //! const int NachObenDropDownen = 0x100000000;
- //! const int AutoDropDownRichtung = 0x200000000;
- //! Normal style: Visible, Enabled, Border, FieldBorder,
- //! SelectionBuffer, SelectionBorder, MaxHeight, VScroll,
- //! MouseBorder, MouseBuffer
- static const __int64 Normal
- = Visible | Allowed | Border | FieldBorder | SelectionBuffer
- | SelectionBorder | MaxHeight | VScroll | MouseBorder | MouseBuffer
- | Background | MEIgnoreParentInside | MEIgnoreProcessed;
- };
- private:
- TextRenderer* textRd;
- Array<__int64>* msStyle;
- RCArray<TextField>* members;
- Button* ausfahren;
- Border* selBorder;
- int selBgF;
- Image* selBgB;
- AlphaField* selAf;
- RCArray<Border>* msSelBorder;
- Array<int>* msSelBgF;
- RCArray<Image>* msSelBgB;
- RCArray<AlphaField>* msSelAf;
- Border* mouseBorder;
- int mouseBgF;
- Image* mouseBgB;
- AlphaField* mouseAf;
- RCArray<Border>* msMouseBorder;
- Array<int>* msMouseBgF;
- RCArray<Image>* msMouseBgB;
- RCArray<AlphaField>* msMouseAf;
- int anzahl;
- int selection;
- bool ausgeklappt;
- int ausklappHeight;
- int ausklapMaxHeight;
- int entryHeight;
- double tickval;
- int mouseEntry;
- bool scrollAnzeigen;
- void* eAkP;
- std::function<void(void*, SelectionBox*, int, int)> eAk;
- //! Processes mouse messages
- //! \param me The event triggered by the mouse input
- DLLEXPORT void doMouseEvent(MouseEvent& me, bool userRet) override;
- public:
- //! Constructor
- DLLEXPORT SelectionBox();
- //! Destructor
- DLLEXPORT virtual ~SelectionBox();
- //! 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<void(void*, SelectionBox*, int, int)> event);
- //! Sets the used TextRenderer
- //! \param textRd The text renderer
- DLLEXPORT void setTextRendererZ(TextRenderer* textRd);
- //! Sets the used font
- //! \param font The font
- DLLEXPORT void setFontZ(Font* font);
- //! 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 addEntry(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 addEntry(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 addEntryZ(TextField* txt);
- //! Changes the text of an entry
- //! \param i The index of the entry
- //! \param txt The new text
- DLLEXPORT void setEntry(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 setEntry(int i, Text* txt);
- //! Changes an entry
- //! \param i The index of the entry
- //! \param txt A pointer to the new entry
- DLLEXPORT void setEntryZ(int i, TextField* txt);
- //! Deletes an entry
- //! \param i The index of the entry
- DLLEXPORT void removeEntry(int i);
- //! Sets a pointer to the button used for expanding and collapsing
- //! the list \param ausK The button
- DLLEXPORT void setDropDownButtonZ(Button* ausK);
- //! Sets a pointer to a border used for a specific entry
- //! \param i The index of the entry \param border The border
- DLLEXPORT void setEntryBorderZ(int i, Border* border);
- //! 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 setEntryBorderColor(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 setEntryBorderWidth(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 setEntryBackgroundColor(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 setEntryBackgroundImageZ(int i, Image* 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 setEntryBackgroundImage(int i, Image* 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 setEntryAlphaFieldZ(int i, AlphaField* 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 setEntryAlphaFieldColor(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 setEntryAlphaFieldStrength(int i, int afSt);
- //! Sets a pointer to a border used for the selected entry
- //! \param border The border
- DLLEXPORT void setSelBorderZ(Border* border);
- //! Sets the color of a border used for the selected entry
- //! \param f The color in A8R8G8B8 format
- DLLEXPORT void setSelBorderColor(int f);
- //! Sets the width of a border used for the selected entry
- //! \param rbr The width in pixels
- DLLEXPORT void setSelBorderWidth(int rbr);
- //! Sets the background color used for the selected entry
- //! \param f The color in A8R8G8B8 format
- DLLEXPORT void setSelBackgroundColor(int f);
- //! Sets a pointer to a background image used for the selected
- //! entry \param bgB The image
- DLLEXPORT void setSelBackgroundImageZ(Image* bgB);
- //! Sets a background image by copying, used for the selected
- //! entry \param bgB The image
- DLLEXPORT void setSelBackgroundImage(Image* bgB);
- //! Sets a pointer to a color gradient used for the selected
- //! entry \param af The color gradient
- DLLEXPORT void setSelAlphaFieldZ(AlphaField* af);
- //! Sets the color of a color gradient used for the selected
- //! entry \param afF The color in A8R8G8B8 format
- DLLEXPORT void setSelAlphaFieldColor(int afF);
- //! Sets the strength of a color gradient used for the selected
- //! entry \param afSt The strength
- DLLEXPORT void setSelAlphaFieldStrength(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 border The border
- DLLEXPORT void setMsSelBorderZ(int i, Border* border);
- //! 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 setMsSelBorderColor(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 setMsSelBorderWidth(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 setMsSelBackgroundColor(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 setMsSelBackgroundImageZ(int i, Image* 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 setMsSelBackgroundImage(int i, Image* 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 setMsSelAlphaFieldZ(int i, AlphaField* 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 setMsSelAlphaFieldColor(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 setMsSelAlphaFieldStrength(int i, int afSt);
- //! Sets a pointer to a border used for the entry the mouse is
- //! pointing at \param border The border
- DLLEXPORT void setMouseBorderZ(Border* border);
- //! Sets the color of a border used for the entry the mouse is
- //! pointing at \param f The color in A8R8G8B8 format
- DLLEXPORT void setMouseBorderColor(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 setMouseBorderWidth(int rbr);
- //! Sets the background color used for the entry the mouse is
- //! pointing at \param f The color in A8R8G8B8 format
- DLLEXPORT void setMouseBackgroundColor(int f);
- //! Sets a pointer to a background image used for the entry the mouse
- //! is pointing at \param bgB The image
- DLLEXPORT void setMouseBackgroundImageZ(Image* bgB);
- //! Sets a background image by copying, used for the entry the mouse
- //! is pointing at \param bgB The image
- DLLEXPORT void setMouseBackgroundImage(Image* bgB);
- //! Sets a color gradient used for the entry the mouse is pointing
- //! at \param af The color gradient
- DLLEXPORT void setMouseAlphaFieldZ(AlphaField* 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 setMouseAlphaFieldColor(int afF);
- //! Sets the strength of a color gradient used for the entry the mouse
- //! is pointing at \param afSt The strength
- DLLEXPORT void setMouseAlphaFieldStrength(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 border The border
- DLLEXPORT void setMsMouseBorderZ(int i, Border* border);
- //! 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 setMsMouseBorderColor(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 setMsMouseBorderWidth(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 setMsMouseBackgroundColor(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 setMsMouseBackgroundImageZ(int i, Image* 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 setMsMouseBackgroundImage(int i, Image* 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 setMsMouseAlphaFieldZ(int i, AlphaField* 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 setMsMouseAlphaFieldColor(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 setMsMouseAlphaFieldStrength(int i, int afSt);
- //! Selects an element
- //! \param i The index of the element
- DLLEXPORT void setSelection(int i);
- //! Expands the list for selection
- DLLEXPORT void expand();
- //! Collapses the list
- DLLEXPORT void collapse();
- //! Scrolls in the list to a specific entry
- //! \param i The index of the entry
- DLLEXPORT void scrollToEntry(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 setEntryHeight(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 doKeyboardEvent(KeyboardEvent& te) override;
- //! Draws the object to zRObj if it is visible
- //! \param zRObj The image to draw into
- DLLEXPORT void render(Image& zRObj) override;
- //! Returns the index of an entry
- //! \param txt The text of the entry
- DLLEXPORT int getEntryPos(const char* txt) const;
- //! Returns the index of an entry
- //! \param txt The text of the entry
- DLLEXPORT int getEntryPos(Text* txt) const;
- //! Returns the text of an entry
- //! \param i The index of the entry
- DLLEXPORT Text* getEntryText(int i) const;
- //! Returns the text of an entry without increased reference counter
- //! \param i The index of the entry
- DLLEXPORT Text* zEntryText(int i) const;
- //! Returns an entry
- //! \param i The index of the entry
- DLLEXPORT TextField* getEntry(int i) const;
- //! Returns an entry without increased reference counter
- //! \param i The index of the entry
- DLLEXPORT TextField* zEntry(int i) const;
- //! Returns the index of the selected entry
- DLLEXPORT int getSelection() const;
- //! Returns the number of entries
- DLLEXPORT int getEntryCount() const;
- //! Returns whether the list is currently expanded
- DLLEXPORT bool isExpanded() const;
- //! Returns the maximum height of the expanded list
- DLLEXPORT int getMaxHeight() const;
- //! Returns the height of an entry
- DLLEXPORT int getEntryHeight() const;
- //! Returns the button used for expanding and collapsing the list
- DLLEXPORT Button* getDropDownButton() const;
- //! Returns the button without increased reference counter used for
- //! expanding and collapsing the list
- DLLEXPORT Button* zDropDownButton() const;
- //! Returns the border of an entry
- //! \param i The index of the entry
- DLLEXPORT Border* getEntryBorder(int i) const;
- //! Returns the border of an entry without increased reference counter
- //! \param i The index of the entry
- DLLEXPORT Border* zEntryBorder(int i) const;
- //! Returns the color of a border of an entry in A8R8G8B8 format
- //! \param i The index of the entry
- DLLEXPORT int getEntryBorderColor(int i) const;
- //! Returns the width of a border of an entry
- //! \param i The index of the entry
- DLLEXPORT int getEntryBorderWidth(int i) const;
- //! Returns the color gradient of an entry
- //! \param i The index of the entry
- DLLEXPORT AlphaField* getEntryAlphaField(int i) const;
- //! Returns the color gradient of an entry without increased reference
- //! counter \param i The index of the entry
- DLLEXPORT AlphaField* zEntryAlphaField(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 getEntryAlphaFieldColor(int i) const;
- //! Returns the strength of a color gradient of an entry
- //! \param i The index of the entry
- DLLEXPORT int getEntryAlphaFieldStrength(int i) const;
- //! Returns the background color of an entry in A8R8G8B8 format
- //! \param i The index of the entry
- DLLEXPORT int getEntryBackgroundColor(int i) const;
- //! Returns the background image of an entry
- //! \param i The index of the entry
- DLLEXPORT Image* getEntryBackgroundImage(int i) const;
- //! Returns the background image of an entry without increased reference
- //! counter \param i The index of the entry
- DLLEXPORT Image* zEntryBackgroundImage(int i) const;
- //! Returns the border used when selecting an entry
- DLLEXPORT Border* getSelBorder() const;
- //! Returns the border without increased reference counter used when
- //! selecting an entry
- DLLEXPORT Border* zSelBorder() const;
- //! Returns the color of the border in A8R8G8B8 format used when
- //! selecting an entry
- DLLEXPORT int getSelBorderColor() const;
- //! Returns the width of the border used when selecting an entry
- DLLEXPORT int getSelBorderWidth() const;
- //! Returns the color gradient used when selecting an entry
- DLLEXPORT AlphaField* getSelAlphaField() const;
- //! Returns the color gradient without increased reference counter used
- //! when selecting an entry
- DLLEXPORT AlphaField* zSelAlphaField() const;
- //! Returns the color of the color gradient used when selecting
- //! an entry
- DLLEXPORT int getSelAlphaFieldColor() const;
- //! Returns the strength of the color gradient used when selecting
- //! an entry
- DLLEXPORT int getSelAlphaFieldStrength() const;
- //! Returns the background color in A8R8G8B8 format used when
- //! selecting an entry
- DLLEXPORT int getSelBackgroundColor() const;
- //! Returns the background image used when selecting an entry
- DLLEXPORT Image* getSelBackgroundImage() const;
- //! Returns the background image without increased reference counter used
- //! when selecting an entry
- DLLEXPORT Image* zSelBackgroundImage() const;
- //! Returns the border used with the MultiStyled flag when selecting
- //! a specific entry \param i The index of the entry
- DLLEXPORT Border* getMsSelBorder(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 Border* zMsSelBorder(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 getMsSelBorderColor(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 getMsSelBorderWidth(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 AlphaField* getMsSelAlphaField(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 AlphaField* zMsSelAlphaField(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 getMsSelAlphaFieldColor(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 getMsSelAlphaFieldStrength(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 getMsSelBackgroundColor(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 Image* getMsSelBackgroundImage(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 Image* zMsSelBackgroundImage(int i) const;
- //! Returns the border used when the mouse is pointing at an entry
- DLLEXPORT Border* getMouseBorder() const;
- //! Returns the border without increased reference counter used when
- //! the mouse is pointing at an entry
- DLLEXPORT Border* zMouseBorder() const;
- //! Returns the color of the border in A8R8G8B8 format used when
- //! the mouse is pointing at an entry
- DLLEXPORT int getMouseBorderColor() const;
- //! Returns the width of the border used when the mouse is pointing
- //! at an entry
- DLLEXPORT int getMouseBorderWidth() const;
- //! Returns the color gradient used when the mouse is pointing
- //! at an entry
- DLLEXPORT AlphaField* getMouseAlphaField() const;
- //! Returns the color gradient without increased reference counter used
- //! when the mouse is pointing at an entry
- DLLEXPORT AlphaField* zMouseAlphaField() const;
- //! Returns the color of the color gradient in A8R8G8B8 format used
- //! when the mouse is pointing at an entry
- DLLEXPORT int getMouseAlphaFieldColor() const;
- //! Returns the strength of the color gradient used when the mouse
- //! is pointing at an entry
- DLLEXPORT int getMouseAlphaFieldStrength() const;
- //! Returns the background color in A8R8G8B8 format used when the
- //! mouse is pointing at an entry
- DLLEXPORT int getMouseBackgroundColor() const;
- //! Returns the background image used when the mouse is pointing
- //! at an entry
- DLLEXPORT Image* getMouseBackgroundImage() const;
- //! Returns the background image without increased reference counter used
- //! when the mouse is pointing at an entry
- DLLEXPORT Image* zMouseBackgroundImage() 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 Border* getMsMouseBorder(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 Border* zMsMouseBorder(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 getMsMouseBorderColor(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 getMsMouseBorderWidth(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 AlphaField* getMsMouseAlphaField(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 AlphaField* zMsMouseAlphaField(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 getMsMouseAlphaFieldColor(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 getMsMouseAlphaFieldStrength(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 getMsMouseBackgroundColor(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 Image* getMsMouseBackgroundImage(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 Image* zMsMouseBackgroundImage(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 isPointInside(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 hasMsStyle(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 hasMsStyleNot(int i, __int64 abStyle) const;
- DLLEXPORT Drawable*
- duplicate() const override; //! Creates a copy of the drawing
- };
- } // namespace Framework
- #endif
|