Node

Represents a Fluid node.

@safe abstract
class Node : Styleable {}

Constructors

this
deprecated this(Layout layout, Theme theme)
deprecated this(Theme theme, Layout layout)
this
this(NodeParams params)
this()

Construct a new node.

Members

Aliases

ImplHoveredRect
alias ImplHoveredRect = implHoveredRect
Undocumented in source.
io
alias io = backend
Undocumented in source.

Enums

Align (from fluid.structs)
enum NodeAlign via public import fluid.structs : Align = NodeAlign, Params = NodeParams;
Undocumented in source.
NodeAlign (from fluid.structs)
enum NodeAlign via public import fluid.structs : NodeAlign, NodeParams, Layout;
Undocumented in source.

Functions

_focusDirection
void _focusDirection(FluidInputAction action)

Switch focus towards a specified direction.

_focusPrevNext
void _focusPrevNext(FluidInputAction actionType)

Switch to the previous or next focused item

backend
inout(FluidBackend) backend()
Undocumented in source. Be warned that the author may not have intended to support it.
backend
FluidBackend backend(FluidBackend backend)
Undocumented in source. Be warned that the author may not have intended to support it.
disable
This disable()

Disable this node.

draw
void draw()

Draw this node as a root node.

draw
void draw(Rectangle space)

Draw this node at the specified location from within of another (parent) node.

drawImpl
void drawImpl(Rectangle paddingBox, Rectangle contentBox)

Draw this node.

enable
This enable()

Enable this node.

hide
This hide()

Hide the node.

hoveredImpl
bool hoveredImpl(Rectangle rect, Vector2 mousePosition)

Check if the node is hovered.

isDisabled
inout(bool) isDisabled()

Check if this node is disabled.

isDisabledInherited
bool isDisabledInherited()

Checks if the node is disabled, either by self, or by any of its ancestors. Updated when drawn.

opEquals
bool opEquals(Node otherNode)
Undocumented in source. Be warned that the author may not have intended to support it.
pickStyle
inout(Style) pickStyle()

Get the current style.

queueAction
void queueAction(TreeAction action)

Queue an action to perform within this node's branch.

remove
void remove()

Remove this node from the tree before the next draw.

resize
void resize(LayoutTree* tree, Theme theme, Vector2 space)

Recalculate the minimum node size and update the minSize property.

resizeImpl
void resizeImpl(Vector2 space)

Ditto

show
This show()

Show the node.

toString
string toString()
Undocumented in source. Be warned that the author may not have intended to support it.
toggleShow
void toggleShow()

Toggle the node's visibility.

updateSize
void updateSize()

Recalculate the window size before next draw.

Mixins

__anonymous
mixin DefineStyles!("style", q{ Style.init })

This node defines a single style, style, which also works as a default style for all other nodes. However, rather than for that, the purpose of this style is to define the convention of style being the node's default, idle style.

Mixin templates

implHoveredRect
mixintemplate implHoveredRect()
Undocumented in source.

Properties

isHidden
bool isHidden [@property getter]

Check if the node is hidden.

isHidden
bool isHidden [@property setter]

Set the visibility

isHovered
bool isHovered [@property getter]

Check if this node is hovered.

theme
inout(Theme) theme [@property getter]

Get the current theme.

theme
Theme theme [@property setter]

Set the theme.

Structs

Layout (from fluid.structs)
struct Layout via public import fluid.structs : NodeAlign, NodeParams, Layout;

Represents a node's layout

NodeParams (from fluid.structs)
struct NodeParams via public import fluid.structs : NodeAlign, NodeParams, Layout;

Node core constructor parameters, to be passed from node to node.

Params (from fluid.structs)
struct NodeParams via public import fluid.structs : Align = NodeAlign, Params = NodeParams;

Node core constructor parameters, to be passed from node to node.

Variables

ignoreMouse
bool ignoreMouse;

If true, mouse focus will be disabled for this node, so mouse signals will "go through" to its parents, as if the node wasn't there. The node will still detect hover like normal.

layout
Layout layout;

Layout for this node.

minSize
auto minSize;

Minimum size of the node.

toRemove
bool toRemove;

If true, this node will be removed from the tree on the next draw.

tree
LayoutTree* tree;

Tree data for the node. Note: requires at least one draw before this will work.

Inherited Members

From Styleable

reloadStyles
void reloadStyles()

Reload styles for the node. Triggered when the theme is changed.

reloadStylesImpl
void reloadStylesImpl()
Undocumented in source.
loadDefaultStyles
void loadDefaultStyles()
Undocumented in source.

Meta