Lays children out in rows of a set number of columns. More...
#include <GuiLayout.h>
Public Member Functions | |
| GuiGrid (int columns, int w=0, int h=0) | |
Public Member Functions inherited from GuiLayout | |
| GuiLayout & | add (GuiElement *e, const GuiItem &item=GuiItem()) |
| Adds a child. Children are laid out in the order they are added. | |
| GuiLayout & | add (GuiElement &e, const GuiItem &item=GuiItem()) |
Adds a child by reference, so a builder can pass it straight in: row.add(ui.label("Hi")) | |
| GuiLayout & | addGap (float size) |
| Adds a fixed gap along a row's width or a column's height. | |
| GuiLayout & | addSpace (float weight=1.0f) |
| Adds flexible empty space that takes a share of what is left over, for example to push one child to each end of a row. | |
| GuiLayout & | setPadding (float all) |
| Sets the space between the container's edge and its children. | |
| GuiLayout & | setPadding (float horizontal, float vertical) |
| GuiLayout & | setPadding (float left, float top, float right, float bottom) |
| GuiLayout & | setSpacing (float s) |
| Sets the gap between neighbouring children (a grid uses both numbers) | |
| GuiLayout & | setSpacing (float x, float y) |
| GuiLayout & | setJustify (LAYOUT_JUSTIFY j) |
| Sets how leftover space along the main axis is spent when no child grows. | |
| GuiLayout & | setAlignItems (LAYOUT_ALIGN a) |
| Sets the default alignment of children across the main axis. | |
| GuiLayout & | setFixedSize (int w, int h) |
| Fixes the container's size (0 on an axis = fit the content) | |
| GuiLayout & | size (int w, int h) |
Short names for the setters above, for reading a layout top to bottom: ui.row().size(568, 0).gap(8).align(LAYOUT_ALIGN::CENTRE).add(...) */. | |
| GuiLayout & | gap (float s) |
| GuiLayout & | gap (float x, float y) |
| GuiLayout & | pad (float all) |
| GuiLayout & | pad (float horizontal, float vertical) |
| GuiLayout & | pad (float left, float top, float right, float bottom) |
| GuiLayout & | align (LAYOUT_ALIGN a) |
| GuiLayout & | justifyContent (LAYOUT_JUSTIFY j) |
| void | invalidate () |
| Forces layout to run again. | |
| void | clear () |
| Removes every child. | |
| void | remove (GuiElement *e) override |
| Removes the specified child. | |
| void | layout () override |
| Brings the element's own layout up to date. | |
| void | draw () override |
| Called constantly to redraw the element. | |
| void | update (InputController *c) override |
| Called constantly to allow the element to respond to the current input data. | |
| void | getNaturalSize (int &w, int &h) override |
| Layout protocol: how a layout container (GuiRow, GuiColumn, GuiGrid, GuiOverlay) asks about and arranges its children. | |
| void | setLayoutSize (int w, int h) override |
| Gives the element a size chosen by a container (default: sets width and height) | |
| void | collectNavigable (std::vector< GuiElement * > &out) override |
| Appends the elements that selection can move between (default: this element; layout containers add their children instead, so the D-pad moves through them) | |
Public Member Functions inherited from GuiWindow | |
| GuiWindow () | |
| Constructor. | |
| GuiWindow (int w, int h) | |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| ~GuiWindow () | |
| Destructor. | |
| void | append (GuiElement *e) |
| Appends a GuiElement to the GuiWindow. | |
| void | appendWithAutoRemove (GuiElement *e) |
| Appends a GuiElement to the GuiWindow, and instructs the GuiElement to inform its parent on destruction. | |
| void | insert (GuiElement *e, uint32_t i) |
| Inserts a GuiElement into the GuiWindow at the specified index. | |
| void | remove (GuiElement *e) |
| Removes the specified GuiElement from the GuiWindow. | |
| void | removeAll () |
| Removes all GuiElements. | |
| bool | find (GuiElement *e) |
| Looks for the specified GuiElement. | |
| GuiElement * | getGuiElementAt (uint32_t index) const |
| Returns the GuiElement at the specified index. | |
| uint32_t | getSize () |
| Returns the size of the list of elements. | |
| void | setVisible (bool v) |
| Sets the visibility of the window. | |
| void | resetState () |
| Resets the window's state to STATE::DEFAULT. | |
| void | setState (STATE s, int c=-1) |
| Sets the window state, propagated to every child element. | |
| int | getSelected () |
| Gets the index of the GuiElement inside the window that is currently selected. | |
| void | setFocus (int f) |
| Sets the window focus. | |
| void | changeFocus (GuiElement *e) |
| Change the focus to the specified element This is intended for the primary GuiWindow only. | |
| void | toggleFocus (InputController *c) |
| Changes window focus to the next focusable window or element If no element is in focus, changes focus to the first available element If B or 1 button is pressed, changes focus to the next available element This is intended for the primary GuiWindow only. | |
| void | moveSelectionHor (int d) |
| Moves the selected element to the element to the left or right. | |
| void | moveSelectionVert (int d) |
| Moves the selected element to the element above or below. | |
| void | resetText () |
| Resets the text for all contained elements. | |
| void | draw () |
| Draws all the elements in this GuiWindow. | |
| void | update (InputController *c) |
| Updates the window and all elements contains within Allows the GuiWindow and all elements to respond to the input data specified. | |
Public Member Functions inherited from GuiElement | |
| GuiElement () | |
| Constructor. | |
| virtual | ~GuiElement () |
| Destructor. | |
| void | setParent (GuiElement *e) |
| Set the element's parent. | |
| GuiElement * | getParent () |
| Gets the element's parent. | |
| void | setRemoveOnDestroy (bool autoRemove) |
| Whether to notify parent on destruction to allow removal. | |
| int | getLeft () |
| Gets the current leftmost coordinate of the element Considers horizontal alignment, x offset, width, and parent element's GetLeft() / GetWidth() values. | |
| int | getTop () |
| Gets the current topmost coordinate of the element Considers vertical alignment, y offset, height, and parent element's GetTop() / GetHeight() values. | |
| void | setMinY (int y) |
| Sets the minimum y offset of the element. | |
| int | getMinY () |
| Gets the minimum y offset of the element. | |
| void | setMaxY (int y) |
| Sets the maximum y offset of the element. | |
| int | getMaxY () |
| Gets the maximum y offset of the element. | |
| void | setMinX (int x) |
| Sets the minimum x offset of the element. | |
| int | getMinX () |
| Gets the minimum x offset of the element. | |
| void | setMaxX (int x) |
| Sets the maximum x offset of the element. | |
| int | getMaxX () |
| Gets the maximum x offset of the element. | |
| int | getWidth () |
| Gets the current width of the element. | |
| int | getHeight () |
| Gets the height of the element. | |
| void | setSize (int w, int h) |
| Sets the size (width/height) of the element. | |
| bool | isVisible () |
| Checks whether or not the element is visible. | |
| bool | isSelectable () |
| Checks whether or not the element is selectable. | |
| bool | isClickable () |
| Checks whether or not the element is clickable. | |
| bool | isHoldable () |
| Checks whether or not the element is holdable. | |
| void | setSelectable (bool s) |
| Sets whether or not the element is selectable. | |
| void | setClickable (bool c) |
| Sets whether or not the element is clickable. | |
| void | setHoldable (bool h) |
| Sets whether or not the element is holdable. | |
| STATE | getState () |
| Gets the element's current state. | |
| int | getStateChan () |
| Gets the controller channel that last changed the element's state. | |
| void | setAlpha (int a) |
| Sets the element's alpha value. | |
| int | getAlpha () |
| Gets the element's alpha value Considers alpha, alphaDyn, and the parent element's GetAlpha() value. | |
| void | setScale (float s) |
| Sets the element's x and y scale. | |
| void | setScaleX (float s) |
| Sets the element's x scale. | |
| void | setScaleY (float s) |
| Sets the element's y scale. | |
| void | setScale (int w, int h) |
| Sets the element's x and y scale, using the provided max width/height. | |
| float | getScale () |
| Gets the element's current scale Considers scale, scaleDyn, and the parent element's GetScale() value. | |
| float | getScaleX () |
| Gets the element's current x scale Considers scale, scaleDyn, and the parent element's GetScale() value. | |
| float | getScaleY () |
| Gets the element's current y scale Considers scale, scaleDyn, and the parent element's GetScale() value. | |
| void | setTrigger (GuiTrigger *t) |
| Set a new GuiTrigger for the element. | |
| void | setTrigger (uint8_t 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. | |
| bool | isRumble () |
| Checks whether rumble was requested by the element. | |
| void | setRumble (bool r) |
| Sets whether or not the element is requesting a rumble event. | |
| void | setEffect (int e, int a, int t=0) |
| Set an effect for the element. | |
| void | setEffectOnOver (int e, int a, int t=0) |
| Sets an effect to be enabled on wiimote cursor over. | |
| void | setEffectGrow () |
| Shortcut to SetEffectOnOver(EFFECT::SCALE, 4, 110) | |
| int | getEffect () |
| Gets the current element effects. | |
| bool | isInside (int x, int y) |
| Checks whether the specified coordinates are within the element's boundaries. | |
| void | setPosition (int x, int y) |
| Sets the element's position. | |
| void | updateEffects () |
| Updates the element's effects (dynamic values) Called by Draw(), used for animation purposes. | |
| void | 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. | |
| int | isFocused () |
| Checks whether the element is in focus. | |
| virtual void | setAlignment (ALIGN_H hor, ALIGN_V vert) |
| Sets the element's alignment respective to its parent element. | |
| virtual void | setLayoutPosition (int x, int y) |
| Places the element so its top-left corner is at (x, y) relative to its parent's top-left (default: LEFT/TOP alignment plus an offset) | |
Protected Member Functions | |
| GuiLayoutResult | solve (const std::vector< Entry * > &visible, float fixedW, float fixedH) override |
| Works out the container size and each visible entry's rectangle (what a subclass does) | |
Protected Member Functions inherited from GuiWindow | |
| bool | collectNavigation (std::vector< GuiElement * > &out) |
| Gathers the elements selection can move between, looking inside layout containers. | |
| void | moveSelectionIn (std::vector< GuiElement * > &list, NAV_DIR d) |
| Moves the selection within a collected list by on-screen geometry. | |
Additional Inherited Members | |
Protected Attributes inherited from GuiLayout | |
| GuiInsets | padding |
| float | spacingX |
| float | spacingY |
| LAYOUT_JUSTIFY | justify |
| LAYOUT_ALIGN | alignItems |
Protected Attributes inherited from GuiWindow | |
| std::vector< GuiElement * > | _elements |
| Contains all elements within the GuiWindow. | |
Protected Attributes inherited from GuiElement | |
| 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. | |
| bool | removeOnDestroy |
| Whether to instruct parent to remove this element when it is destroyed. | |
| 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) | |
| float | xscale |
| Element X scale (1 = 100%) | |
| float | yscale |
| Element Y scale (1 = 100%) | |
| float | scaleDyn |
| Element scale, dynamic (multiplied by alpha value for blending/fading effects) | |
| int | effects |
| Currently enabled effect(s). | |
| int | effectAmount |
| Effect amount. | |
| int | effectTarget |
| Effect target amount. | |
| int | effectsOver |
| Effects to enable when wiimote cursor is over this element. | |
| 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. | |
| bool | rumble |
| Wiimote rumble (on/off) - set to on when this element requests a rumble event. | |
Lays children out in rows of a set number of columns.
Definition at line 170 of file GuiLayout.h.
| GuiGrid::GuiGrid | ( | int | columns, |
| int | w = 0, | ||
| int | h = 0 ) |
| columns | Number of columns |
| w | Width (0 = fit; a fixed width makes the columns equal) |
| h | Height (0 = fit) |
Definition at line 336 of file GuiLayout.cpp.
|
overrideprotectedvirtual |
Works out the container size and each visible entry's rectangle (what a subclass does)
| visible | The entries to place, in order |
| fixedW | Container width (0 = fit) |
| fixedH | Container height (0 = fit) |
Implements GuiLayout.
Definition at line 341 of file GuiLayout.cpp.