mirror of
https://github.com/TangentFoxy/Pop.Box.git
synced 2024-12-15 12:44:20 +00:00
3.1 KiB
3.1 KiB
element
This is the base of all elements, and useful for alignment purposes. It is also
the element type used for pop.screen
(the top-level element of Pop.Box). All
methods here are available on all other elements (any differences are noted on
their documentation pages).
Alignment
All elements have a horizontal
and vertical
alignment property. These modify
how elements are aligned and how positions are handled. For example, an element
aligned to the top-right will return the position of the top-right corner when
calling getPosition()
.
horizontal
can beleft
,center
, orright
. Defaults toleft
.vertical
can betop
,center
, orbottom
. Defaults totop
.
Methods
Every method that does not return a value returns the element itself, so that
you can chain method calls (ex: box:setSize(100, 50):align("right")
).
addChild(child)
Adds a child element.removeChild(child)
Removes child element by reference or index. Ifchild
is a number, it will return the child at that index (after removing it).getChildren()
Returns a numerically indexed table of child elements.move(x, y)
Moves the element (and its children) by specified values. Parameters optional. (Children can exclude being moved with their parent. See Excludes.)setPosition(x, y)
Sets position of the element (and its children) based on the alignment of the element. Parameters optional. (Children can exclude being moved with their parent. See Excludes.)getPosition()
Returns x/y position of the element based on its alignment.setSize(w, h)
Sets the width/height of the element, element keeps "in-place" based on its alignment. (For example, a right-aligned element will grow to the left.) Parameters optional.getSize()
Returns the width/height of the element.setWidth(w)
Sets the width of the element. Element stays "in-place" based on its alignment.getWidth()
Returns the width of the element.setHeight(h)
Sets the height of the element. Element stays "in-place" based on its alignment.getHeight()
Returns the height of the element.adjustSize(w, h)
Grows the element by a relative width/height. Element stays "in-place" based on its alignment.align(horizontal, vertical, toPixel)
Aligns the element based on its margin and parent.toPixel
is a boolean for pixel-perfect alignment, defaulting totrue
. See above section about alignment for valid values ofhorizontal
andvertical
. A parent element is required for this method.alignTo(element, horizontal, vertical, toPixel)
Works just likealign()
, except that alignment is based on a specific element instead of the parent. Does not require a parent element.setAlignment(horizontal, vertical)
Sets alignment values on the element without moving the element.getAlignment()
Returns thehorizontal
andvertical
alignment of the element.setMargin(m)
Sets a margin to be used when aligning the element.getMargin()
Returns the current margin value.fill()
Resizes and aligns the element to fill its parent's area, with the element's margin taken into account on all sides.