Primary GUI class. Most other classes inherit from this class. More...
#include <gui_element.h>
Public Member Functions | |
| GuiElement () | |
| Constructor. More... | |
| virtual | ~GuiElement () |
| Destructor. More... | |
| void | SetParent (GuiElement *e) |
| GuiElement * | GetParent () |
| int | GetLeft () |
| int | GetTop () |
| void | SetMinY (int y) |
| int | GetMinY () |
| void | SetMaxY (int y) |
| int | GetMaxY () |
| void | SetMinX (int x) |
| int | GetMinX () |
| void | SetMaxX (int x) |
| int | GetMaxX () |
| int | GetWidth () |
| int | GetHeight () |
| void | SetSize (int w, int h) |
| bool | IsVisible () |
| bool | IsSelectable () |
| bool | IsClickable () |
| bool | IsHoldable () |
| void | SetSelectable (bool s) |
| void | SetClickable (bool c) |
| void | SetHoldable (bool h) |
| STATE | GetState () |
| int | GetStateChan () |
| void | SetAlpha (int a) |
| int | GetAlpha () |
| void | SetScale (float s) |
| void | SetScaleX (float s) |
| void | SetScaleY (float s) |
| void | SetScale (int w, int h) |
| float | GetScale () |
| float | GetScaleX () |
| float | GetScaleY () |
| void | SetTrigger (GuiTrigger *t) |
| void | SetTrigger (u8 i, GuiTrigger *t) |
| bool | Rumble () |
| void | SetRumble (bool r) |
| void | SetEffect (int e, int a, int t=0) |
| void | SetEffectOnOver (int e, int a, int t=0) |
| void | SetEffectGrow () |
| Shortcut to SetEffectOnOver(EFFECT_SCALE, 4, 110) | |
| int | GetEffect () |
| bool | IsInside (int x, int y) |
| void | SetPosition (int x, int y) |
| void | UpdateEffects () |
| void | SetUpdateCallback (UpdateCallback u) |
| int | IsFocused () |
| virtual void | SetVisible (bool v) |
| virtual void | SetFocus (int f) |
| virtual void | SetState (STATE s, int c=-1) |
| virtual void | ResetState () |
| Resets the element's state to STATE::DEFAULT. More... | |
| virtual int | GetSelected () |
| virtual void | SetAlignment (ALIGN_H hor, ALIGN_V vert) |
| virtual void | ResetText () |
| Called when the language has changed, to obtain new text values for all text elements. More... | |
| virtual void | Update (GuiTrigger *t) |
| virtual void | Draw ()=0 |
| Called constantly to redraw the element. More... | |
| virtual void | DrawTooltip () |
| Called constantly to redraw the element's tooltip. More... | |
Protected Attributes | |
| GuiTrigger * | trigger [MAX_TRIGGERS] |
| GuiTriggers (input actions) that this element responds to. | |
| UpdateCallback | updateCB |
| Callback function to call when this element is updated. | |
| GuiElement * | parentElement |
| Parent element. | |
| int | focus |
| Element focus (-1 = focus disabled, 0 = not focused, 1 = focused) | |
| int | width |
| Element width. | |
| int | height |
| Element height. | |
| int | xoffset |
| Element X offset. | |
| int | yoffset |
| Element Y offset. | |
| int | ymin |
| Element's min Y offset allowed. | |
| int | ymax |
| Element's max Y offset allowed. | |
| int | xmin |
| Element's min X offset allowed. | |
| int | xmax |
| Element's max X offset allowed. | |
| int | xoffsetDyn |
| Element X offset, dynamic (added to xoffset value for animation effects) | |
| int | yoffsetDyn |
| Element Y offset, dynamic (added to yoffset value for animation effects) | |
| int | alpha |
| Element alpha value (0-255) | |
| int | alphaDyn |
| Element alpha, dynamic (multiplied by alpha value for blending/fading effects) | |
| f32 | xscale |
| Element X scale (1 = 100%) | |
| f32 | yscale |
| Element Y scale (1 = 100%) | |
| f32 | scaleDyn |
| Element scale, dynamic (multiplied by alpha value for blending/fading effects) | |
| int | effects |
| Currently enabled effect(s). 0 when no effects are enabled. | |
| int | effectAmount |
| Effect amount. Used by different effects for different purposes. | |
| int | effectTarget |
| Effect target amount. Used by different effects for different purposes. | |
| int | effectsOver |
| Effects to enable when wiimote cursor is over this element. Copied to effects variable on over event. | |
| int | effectAmountOver |
| EffectAmount to set when wiimote cursor is over this element. | |
| int | effectTargetOver |
| EffectTarget to set when wiimote cursor is over this element. | |
| ALIGN_H | alignmentHor |
| Horizontal element alignment, respective to parent element (LEFT, RIGHT, CENTRE) | |
| ALIGN_V | alignmentVert |
| Horizontal element alignment, respective to parent element (TOP, BOTTOM, MIDDLE) | |
| STATE | state |
| Element state (DEFAULT, SELECTED, CLICKED, DISABLED) | |
| int | stateChan |
| Which controller channel is responsible for the last change in state. | |
| bool | selectable |
| Whether or not this element selectable (can change to SELECTED state) | |
| bool | clickable |
| Whether or not this element is clickable (can change to CLICKED state) | |
| bool | holdable |
| Whether or not this element is holdable (can change to HELD state) | |
| bool | visible |
| Visibility of the element. If false, Draw() is skipped. | |
| bool | rumble |
| Wiimote rumble (on/off) - set to on when this element requests a rumble event. | |
Primary GUI class. Most other classes inherit from this class.
| GuiElement::GuiElement | ( | ) |
Constructor.
Constructor for the Object class.
|
virtual |
Destructor.
Destructor for the GuiElement class.
|
pure virtual |
Called constantly to redraw the element.
Implemented in GuiButton, GuiFileBrowser, GuiImage, GuiOptionBrowser, GuiText, and GuiWindow.
|
virtual |
Called constantly to redraw the element's tooltip.
Reimplemented in GuiButton, GuiTooltip, and GuiWindow.
| int GuiElement::GetAlpha | ( | ) |
Gets the element's alpha value Considers alpha, alphaDyn, and the parent element's GetAlpha() value
| int GuiElement::GetEffect | ( | ) |
Gets the current element effects
| int GuiElement::GetHeight | ( | ) |
Gets the height of the element. Does not currently consider the scale
| int GuiElement::GetLeft | ( | ) |
Gets the current leftmost coordinate of the element Considers horizontal alignment, x offset, width, and parent element's GetLeft() / GetWidth() values
| int GuiElement::GetMaxX | ( | ) |
Gets the maximum x offset of the element
| int GuiElement::GetMaxY | ( | ) |
Gets the maximum y offset of the element
| int GuiElement::GetMinX | ( | ) |
Gets the minimum x offset of the element
| int GuiElement::GetMinY | ( | ) |
Gets the minimum y offset of the element
| GuiElement * GuiElement::GetParent | ( | ) |
Gets the element's parent
| float GuiElement::GetScale | ( | ) |
Gets the element's current scale Considers scale, scaleDyn, and the parent element's GetScale() value
| float GuiElement::GetScaleX | ( | ) |
Gets the element's current x scale Considers scale, scaleDyn, and the parent element's GetScale() value
| float GuiElement::GetScaleY | ( | ) |
Gets the element's current y scale Considers scale, scaleDyn, and the parent element's GetScale() value
|
virtual |
Gets whether or not the element is in STATE::SELECTED
Reimplemented in GuiWindow.
| STATE GuiElement::GetState | ( | ) |
Gets the element's current state
| int GuiElement::GetStateChan | ( | ) |
Gets the controller channel that last changed the element's state
| int GuiElement::GetTop | ( | ) |
Gets the current topmost coordinate of the element Considers vertical alignment, y offset, height, and parent element's GetTop() / GetHeight() values
| int GuiElement::GetWidth | ( | ) |
Gets the current width of the element. Does not currently consider the scale
| bool GuiElement::IsClickable | ( | ) |
Checks whether or not the element is clickable
| int GuiElement::IsFocused | ( | ) |
Checks whether the element is in focus
| bool GuiElement::IsHoldable | ( | ) |
Checks whether or not the element is holdable
| bool GuiElement::IsInside | ( | int | x, |
| int | y | ||
| ) |
Checks whether the specified coordinates are within the element's boundaries
| x | X coordinate |
| y | Y coordinate |
| bool GuiElement::IsSelectable | ( | ) |
Checks whether or not the element is selectable
| bool GuiElement::IsVisible | ( | ) |
Checks whether or not the element is visible
|
virtual |
Resets the element's state to STATE::DEFAULT.
Reimplemented in GuiFileBrowser, GuiOptionBrowser, and GuiWindow.
|
virtual |
Called when the language has changed, to obtain new text values for all text elements.
Reimplemented in GuiButton, GuiOptionBrowser, GuiText, and GuiWindow.
| bool GuiElement::Rumble | ( | ) |
Checks whether rumble was requested by the element
|
virtual |
Sets the element's alignment respective to its parent element
| hor | Horizontal alignment (LEFT, RIGHT, CENTRE) |
| vert | Vertical alignment (TOP, BOTTOM, MIDDLE) |
Reimplemented in GuiText.
| void GuiElement::SetAlpha | ( | int | a | ) |
Sets the element's alpha value
| a | alpha value |
| void GuiElement::SetClickable | ( | bool | c | ) |
Sets whether or not the element is clickable
| c | Clickable |
| void GuiElement::SetEffect | ( | int | e, |
| int | a, | ||
| int | t = 0 |
||
| ) |
Set an effect for the element
| e | Effect to enable |
| a | Amount of the effect (usage varies on effect) |
| t | Target amount of the effect (usage varies on effect) |
| void GuiElement::SetEffectOnOver | ( | int | e, |
| int | a, | ||
| int | t = 0 |
||
| ) |
Sets an effect to be enabled on wiimote cursor over
| e | Effect to enable |
| a | Amount of the effect (usage varies on effect) |
| t | Target amount of the effect (usage varies on effect) |
|
virtual |
Sets the element's focus
| f | Focus (true = in focus) |
Reimplemented in GuiFileBrowser, GuiOptionBrowser, and GuiWindow.
| void GuiElement::SetHoldable | ( | bool | h | ) |
Sets whether or not the element is holdable
| h | Holdable |
| void GuiElement::SetMaxX | ( | int | x | ) |
Sets the maximum x offset of the element
| x | X offset |
| void GuiElement::SetMaxY | ( | int | y | ) |
Sets the maximum y offset of the element
| y | Y offset |
| void GuiElement::SetMinX | ( | int | x | ) |
Sets the minimum x offset of the element
| x | X offset |
| void GuiElement::SetMinY | ( | int | y | ) |
Sets the minimum y offset of the element
| y | Y offset |
| void GuiElement::SetParent | ( | GuiElement * | e | ) |
Set the element's parent
| e | Pointer to parent element |
| void GuiElement::SetPosition | ( | int | x, |
| int | y | ||
| ) |
Sets the element's position
| x | X coordinate |
| y | Y coordinate |
| void GuiElement::SetRumble | ( | bool | r | ) |
Sets whether or not the element is requesting a rumble event
| r | true if requesting rumble, false if not |
| void GuiElement::SetScale | ( | float | s | ) |
Sets the element's x and y scale
| s | scale (1 is 100%) |
| void GuiElement::SetScale | ( | int | w, |
| int | h | ||
| ) |
Sets the element's x and y scale, using the provided max width/height
| w | Maximum width |
| h | Maximum height |
| void GuiElement::SetScaleX | ( | float | s | ) |
Sets the element's x scale
| s | scale (1 is 100%) |
| void GuiElement::SetScaleY | ( | float | s | ) |
Sets the element's y scale
| s | scale (1 is 100%) |
| void GuiElement::SetSelectable | ( | bool | s | ) |
Sets whether or not the element is selectable
| s | Selectable |
| void GuiElement::SetSize | ( | int | w, |
| int | h | ||
| ) |
Sets the size (width/height) of the element
| w | Width of element |
| h | Height of element |
|
virtual |
Sets the element's state
| s | State (STATE::DEFAULT, STATE::SELECTED, STATE::CLICKED, STATE::DISABLED) |
| c | Controller channel (0-3, -1 = none) |
| void GuiElement::SetTrigger | ( | GuiTrigger * | t | ) |
Set a new GuiTrigger for the element
| t | Pointer to GuiTrigger |
| void GuiElement::SetTrigger | ( | u8 | i, |
| GuiTrigger * | t | ||
| ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
| i | Index of trigger array to set |
| t | Pointer to GuiTrigger |
| void GuiElement::SetUpdateCallback | ( | UpdateCallback | u | ) |
Sets a function to called after after Update() Callback function can be used to response to changes in the state of the element, and/or update the element's attributes
|
virtual |
|
virtual |
Called constantly to allow the element to respond to the current input data
| t | Pointer to a GuiTrigger, containing the current input data from PAD/WPAD |
Reimplemented in GuiButton, GuiFileBrowser, GuiKeyboard, GuiOptionBrowser, and GuiWindow.
| void GuiElement::UpdateEffects | ( | ) |
Updates the element's effects (dynamic values) Called by Draw(), used for animation purposes