#include <guiButton.h>
Inheritance diagram for GUIButton:
Collaboration diagram for GUIButton:Classes | |
| struct | ButtonImage |
| struct | ButtonSprite |
Public Member Functions | |
| GUIButton (gui::IGUIEnvironment *environment, gui::IGUIElement *parent, s32 id, core::rect< s32 > rectangle, ISimpleTextureSource *tsrc, bool noclip=false) | |
| constructor | |
| virtual | ~GUIButton () |
| destructor | |
| virtual bool | OnEvent (const SEvent &event) override |
| called if an event happened. | |
| virtual void | draw () override |
| draws the element and its children | |
| virtual void | setOverrideFont (gui::IGUIFont *font=0) override |
| sets another skin independent font. if this is set to zero, the button uses the font of the skin. | |
| virtual gui::IGUIFont * | getOverrideFont () const override |
| Gets the override font (if any) | |
| virtual gui::IGUIFont * | getActiveFont () const override |
| Get the font which is used right now for drawing. | |
| virtual void | setOverrideColor (video::SColor color) override |
| Sets another color for the button text. | |
| virtual video::SColor | getOverrideColor () const override |
| Gets the override color. | |
| virtual video::SColor | getActiveColor () const override |
| Gets the currently used text color. | |
| virtual void | enableOverrideColor (bool enable) override |
| Sets if the button text should use the override color or the color in the gui skin. | |
| virtual bool | isOverrideColorEnabled (void) const override |
| Checks if an override color is enabled. | |
| virtual void | setImage (gui::EGUI_BUTTON_IMAGE_STATE state, video::ITexture *image=nullptr, const core::rect< s32 > &sourceRect=core::rect< s32 >(0, 0, 0, 0)) override |
| Sets an image which should be displayed on the button when it is in the given state. | |
| virtual void | setImage (video::ITexture *image=nullptr) override |
| Sets an image which should be displayed on the button when it is in normal state. | |
| virtual void | setImage (video::ITexture *image, const core::rect< s32 > &pos) override |
| Sets an image which should be displayed on the button when it is in normal state. | |
| virtual void | setPressedImage (video::ITexture *image=nullptr) override |
| Sets an image which should be displayed on the button when it is in pressed state. | |
| virtual void | setPressedImage (video::ITexture *image, const core::rect< s32 > &pos) override |
| Sets an image which should be displayed on the button when it is in pressed state. | |
| virtual void | setText (const wchar_t *text) override |
| Sets the text displayed by the button. | |
| virtual void | setSpriteBank (gui::IGUISpriteBank *bank=0) override |
| Sets the sprite bank used by the button. | |
| virtual void | setSprite (gui::EGUI_BUTTON_STATE state, s32 index, video::SColor color=video::SColor(255, 255, 255, 255), bool loop=false) override |
| Sets the animated sprite for a specific button state. | |
| virtual s32 | getSpriteIndex (gui::EGUI_BUTTON_STATE state) const override |
| Get the sprite-index for the given state or -1 when no sprite is set. | |
| virtual video::SColor | getSpriteColor (gui::EGUI_BUTTON_STATE state) const override |
| Get the sprite color for the given state. Color is only used when a sprite is set. | |
| virtual bool | getSpriteLoop (gui::EGUI_BUTTON_STATE state) const override |
| Returns if the sprite in the given state does loop. | |
| virtual void | setIsPushButton (bool isPushButton=true) override |
| Sets if the button should behave like a push button. | |
| virtual bool | isPushButton () const override |
| Checks whether the button is a push button. | |
| virtual void | setPressed (bool pressed=true) override |
| Sets the pressed state of the button if this is a pushbutton. | |
| virtual bool | isPressed () const override |
| Returns if the button is currently pressed. | |
| bool | isHovered () const |
| Returns if this element (or one of its direct children) is hovered. | |
| bool | isFocused () const |
| Returns if this element (or one of its direct children) is focused. | |
| virtual void | setDrawBorder (bool border=true) override |
| Sets if the button should use the skin to draw its border. | |
| virtual bool | isDrawingBorder () const override |
| Checks if the button face and border are being drawn. | |
| virtual void | setUseAlphaChannel (bool useAlphaChannel=true) override |
| Sets if the alpha channel should be used for drawing images on the button (default is false) | |
| virtual bool | isAlphaChannelUsed () const override |
| Checks if the alpha channel should be used for drawing images on the button. | |
| virtual void | setScaleImage (bool scaleImage=true) override |
| Sets if the button should scale the button images to fit. | |
| virtual bool | isScalingImage () const override |
| Checks whether the button scales the used images. | |
| virtual bool | getClickShiftState () const override |
| Get if the shift key was pressed in last EGET_BUTTON_CLICKED event. | |
| virtual bool | getClickControlState () const override |
| Get if the control key was pressed in last EGET_BUTTON_CLICKED event. | |
| void | setColor (video::SColor color) |
| void | setFromState () |
| Set element properties from a StyleSpec corresponding to the button state. | |
| virtual void | setFromStyle (const StyleSpec &style) |
| Set element properties from a StyleSpec. | |
| void | setStyles (const std::array< StyleSpec, StyleSpec::NUM_STATES > &styles) |
| Set the styles used for each state. | |
Static Public Member Functions | |
| static GUIButton * | addButton (gui::IGUIEnvironment *environment, const core::rect< s32 > &rectangle, ISimpleTextureSource *tsrc, IGUIElement *parent, s32 id, const wchar_t *text, const wchar_t *tooltiptext=L"") |
| Do not drop returned handle. | |
Protected Member Functions | |
| void | drawSprite (gui::EGUI_BUTTON_STATE state, u32 startTime, const core::position2di ¢er) |
| gui::EGUI_BUTTON_IMAGE_STATE | getImageState (bool pressed) const |
| ISimpleTextureSource * | getTextureSource () |
| gui::EGUI_BUTTON_IMAGE_STATE | getImageState (bool pressed, const ButtonImage *images) const |
Private Attributes | |
| ButtonSprite | ButtonSprites [gui::EGBS_COUNT] |
| gui::IGUISpriteBank * | SpriteBank = nullptr |
| ButtonImage | ButtonImages [gui::EGBIS_COUNT] |
| std::array< StyleSpec, StyleSpec::NUM_STATES > | Styles |
| gui::IGUIFont * | OverrideFont = nullptr |
| bool | OverrideColorEnabled = false |
| video::SColor | OverrideColor = video::SColor(101,255,255,255) |
| u32 | ClickTime = 0 |
| u32 | HoverTime = 0 |
| u32 | FocusTime = 0 |
| bool | ClickShiftState = false |
| bool | ClickControlState = false |
| bool | IsPushButton = false |
| bool | Pressed = false |
| bool | UseAlphaChannel = false |
| bool | DrawBorder = true |
| bool | ScaleImage = false |
| video::SColor | Colors [4] |
| bool | WasHovered = false |
| bool | WasFocused = false |
| ISimpleTextureSource * | TSrc |
| gui::IGUIStaticText * | StaticText |
| core::rect< s32 > | BgMiddle |
| core::rect< s32 > | Padding |
| core::vector2d< s32 > | ContentOffset |
| video::SColor | BgColor = video::SColor(0xFF,0xFF,0xFF,0xFF) |
| GUIButton::GUIButton | ( | gui::IGUIEnvironment * | environment, |
| gui::IGUIElement * | parent, | ||
| s32 | id, | ||
| core::rect< s32 > | rectangle, | ||
| ISimpleTextureSource * | tsrc, | ||
| bool | noclip = false ) |
constructor
References irr::gui::StaticText::add(), Colors, and irr::gui::StaticText::setTextAlignment().
Referenced by addButton().
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
destructor
References OverrideFont, and SpriteBank.
|
static |
Do not drop returned handle.
References GUIButton(), and setText().
Referenced by GUIFormSpecMenu::parseButton(), GUIScrollBar::refreshControls(), GUIFormSpecMenu::regenerateGui(), GUIKeyChangeMenu::regenerateGui(), GUIOpenURLMenu::regenerateGui(), GUIPasswordChange::regenerateGui(), and GUIVolumeChange::regenerateGui().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
draws the element and its children
References BgColor, BgMiddle, ButtonImages, ClickTime, Colors, draw2DImage9Slice(), DrawBorder, drawSprite(), FocusTime, getImageState(), HoverTime, isFocused(), isHovered(), Pressed, ScaleImage, setFromState(), SpriteBank, UseAlphaChannel, WasFocused, and WasHovered.
Here is the call graph for this function:
|
protected |
References ButtonSprites, GUIButton::ButtonSprite::Color, porting::getTimeMs(), GUIButton::ButtonSprite::Index, and SpriteBank.
Referenced by draw().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Sets if the button text should use the override color or the color in the gui skin.
References OverrideColorEnabled.
|
overridevirtual |
Gets the currently used text color.
|
overridevirtual |
Get the font which is used right now for drawing.
References OverrideFont.
Referenced by GUIButtonItemImage::GUIButtonItemImage().
Here is the caller graph for this function:
|
inlineoverridevirtual |
Get if the control key was pressed in last EGET_BUTTON_CLICKED event.
References ClickControlState.
|
inlineoverridevirtual |
Get if the shift key was pressed in last EGET_BUTTON_CLICKED event.
References ClickShiftState.
|
protected |
References ButtonImages, and getImageState().
Referenced by draw(), and getImageState().
Here is the call graph for this function:
Here is the caller graph for this function:
|
protected |
|
overridevirtual |
Gets the override color.
References OverrideColor.
|
overridevirtual |
Gets the override font (if any)
References OverrideFont.
|
overridevirtual |
Get the sprite color for the given state. Color is only used when a sprite is set.
References ButtonSprites.
|
overridevirtual |
Get the sprite-index for the given state or -1 when no sprite is set.
References ButtonSprites.
|
overridevirtual |
Returns if the sprite in the given state does loop.
References ButtonSprites.
|
inlineprotected |
References TSrc.
Referenced by setFromStyle(), and GUIButtonImage::setFromStyle().
Here is the caller graph for this function:
|
overridevirtual |
Checks if the alpha channel should be used for drawing images on the button.
Returns if the alpha channel should be used for drawing images on the button.
References UseAlphaChannel.
|
overridevirtual |
Checks if the button face and border are being drawn.
References DrawBorder.
| bool GUIButton::isFocused | ( | ) | const |
Returns if this element (or one of its direct children) is focused.
Referenced by draw(), getImageState(), and setFromState().
Here is the caller graph for this function:| bool GUIButton::isHovered | ( | ) | const |
Returns if this element (or one of its direct children) is hovered.
Referenced by draw(), getImageState(), and setFromState().
Here is the caller graph for this function:
|
overridevirtual |
Checks if an override color is enabled.
References OverrideColorEnabled.
|
overridevirtual |
Returns if the button is currently pressed.
References Pressed.
Referenced by setFromState(), and setFromStyle().
Here is the caller graph for this function:
|
overridevirtual |
Checks whether the button is a push button.
Returns whether the button is a push button.
References IsPushButton.
Referenced by setIsPushButton().
Here is the caller graph for this function:
|
overridevirtual |
Checks whether the button scales the used images.
Returns whether the button scale the used images.
References ScaleImage.
|
overridevirtual |
called if an event happened.
References ClickControlState, ClickShiftState, FocusTime, porting::getTimeMs(), HoverTime, IsPushButton, Pressed, and setPressed().
Here is the call graph for this function:| void GUIButton::setColor | ( | video::SColor | color | ) |
References BgColor, and Colors.
Referenced by setFromStyle().
Here is the caller graph for this function:
|
overridevirtual |
Sets if the button should use the skin to draw its border.
References DrawBorder.
Referenced by setFromStyle().
Here is the caller graph for this function:| void GUIButton::setFromState | ( | ) |
Set element properties from a StyleSpec corresponding to the button state.
References StyleSpec::getStyleFromStatePropagation(), isFocused(), isHovered(), isPressed(), setFromStyle(), StyleSpec::STATE_DEFAULT, StyleSpec::STATE_FOCUSED, StyleSpec::STATE_HOVERED, StyleSpec::STATE_PRESSED, and Styles.
Referenced by draw(), setPressed(), and setStyles().
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
Set element properties from a StyleSpec.
Reimplemented in GUIButtonImage.
References StyleSpec::ALPHA, StyleSpec::BGCOLOR, BgColor, StyleSpec::BGIMG, StyleSpec::BGIMG_MIDDLE, BgMiddle, StyleSpec::BORDER, COLOR_HOVERED_MOD, COLOR_PRESSED_MOD, Colors, StyleSpec::CONTENT_OFFSET, ContentOffset, StyleSpec::getBool(), StyleSpec::getColor(), StyleSpec::getFont(), StyleSpec::getRect(), StyleSpec::getState(), StyleSpec::getTexture(), getTextureSource(), StyleSpec::getVector2i(), guiScalingImageButton(), StyleSpec::isNotDefault(), isPressed(), multiplyColorValue(), StyleSpec::NOCLIP, OverrideColorEnabled, StyleSpec::PADDING, Padding, setColor(), setDrawBorder(), setImage(), setOverrideColor(), setOverrideFont(), setScaleImage(), setUseAlphaChannel(), StyleSpec::STATE_HOVERED, StyleSpec::STATE_PRESSED, Styles, and StyleSpec::TEXTCOLOR.
Referenced by setFromState(), and GUIButtonImage::setFromStyle().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Sets an image which should be displayed on the button when it is in the given state.
Referenced by setFromStyle(), setImage(), setImage(), setPressedImage(), and setPressedImage().
Here is the caller graph for this function:
|
overridevirtual |
Sets an image which should be displayed on the button when it is in normal state.
References setImage().
Here is the call graph for this function:
|
overridevirtual |
Sets an image which should be displayed on the button when it is in normal state.
References setImage().
Here is the call graph for this function:
|
overridevirtual |
Sets if the button should behave like a push button.
Which means it can be in two states: Normal or Pressed. With a click on the button, the user can change the state of the button.
References IsPushButton, and isPushButton().
Here is the call graph for this function:
|
overridevirtual |
Sets another color for the button text.
Sets another color for the text.
References OverrideColor, OverrideColorEnabled, and irr::gui::StaticText::setOverrideColor().
Referenced by setFromStyle().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
sets another skin independent font. if this is set to zero, the button uses the font of the skin.
References OverrideFont, and irr::gui::StaticText::setOverrideFont().
Referenced by setFromStyle().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Sets the pressed state of the button if this is a pushbutton.
References ClickTime, porting::getTimeMs(), Pressed, and setFromState().
Referenced by OnEvent().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Sets an image which should be displayed on the button when it is in pressed state.
References setImage().
Here is the call graph for this function:
|
overridevirtual |
Sets an image which should be displayed on the button when it is in pressed state.
References setImage().
Here is the call graph for this function:
|
overridevirtual |
Sets if the button should scale the button images to fit.
Sets if the images should be scaled to fit the button.
References ScaleImage.
Referenced by GUIButtonImage::GUIButtonImage(), GUIFormSpecMenu::parseImageButton(), and setFromStyle().
Here is the caller graph for this function:
|
overridevirtual |
Sets the animated sprite for a specific button state.
| index | Number of the sprite within the sprite bank, use -1 for no sprite |
| state | State of the button to set the sprite for |
| index | The sprite number from the current sprite bank |
| color | The color of the sprite |
References ButtonSprites.
|
overridevirtual |
Sets the sprite bank used by the button.
References SpriteBank.
| void GUIButton::setStyles | ( | const std::array< StyleSpec, StyleSpec::NUM_STATES > & | styles | ) |
Set the styles used for each state.
References setFromState(), and Styles.
Referenced by GUIFormSpecMenu::parseButton(), GUIFormSpecMenu::parseImageButton(), and GUIFormSpecMenu::parseItemImageButton().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Sets the text displayed by the button.
References irr::gui::StaticText::setText().
Referenced by addButton(), GUIButtonImage::addButton(), and GUIButtonItemImage::addButton().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Sets if the alpha channel should be used for drawing images on the button (default is false)
References UseAlphaChannel.
Referenced by setFromStyle().
Here is the caller graph for this function:
|
private |
Referenced by draw(), setColor(), and setFromStyle().
|
private |
Referenced by draw(), and setFromStyle().
|
private |
Referenced by draw(), and getImageState().
|
private |
Referenced by drawSprite(), getSpriteColor(), getSpriteIndex(), getSpriteLoop(), and setSprite().
|
private |
Referenced by getClickControlState(), and OnEvent().
|
private |
Referenced by getClickShiftState(), and OnEvent().
|
private |
Referenced by draw(), and setPressed().
|
private |
Referenced by GUIButton(), draw(), setColor(), and setFromStyle().
|
private |
Referenced by setFromStyle().
|
private |
Referenced by draw(), isDrawingBorder(), and setDrawBorder().
|
private |
Referenced by isPushButton(), OnEvent(), and setIsPushButton().
|
private |
Referenced by getOverrideColor(), and setOverrideColor().
|
private |
Referenced by enableOverrideColor(), isOverrideColorEnabled(), setFromStyle(), and setOverrideColor().
|
private |
Referenced by ~GUIButton(), getActiveFont(), getOverrideFont(), and setOverrideFont().
|
private |
Referenced by setFromStyle().
|
private |
Referenced by draw(), isPressed(), OnEvent(), and setPressed().
|
private |
Referenced by draw(), isScalingImage(), and setScaleImage().
|
private |
Referenced by ~GUIButton(), draw(), drawSprite(), and setSpriteBank().
|
private |
|
private |
Referenced by setFromState(), setFromStyle(), and setStyles().
|
private |
Referenced by getTextureSource().
|
private |
Referenced by draw(), isAlphaChannelUsed(), and setUseAlphaChannel().
|
private |
Referenced by draw().
|
private |
Referenced by draw().