39 GUILayerNode::GUILayerNode(
49 const string& backgroundImage,
51 const GUIColor& backgroundImageEffectColorMul,
52 const GUIColor& backgroundImageEffectColorAdd,
59 GUIParentNode(screenNode, parentNode, id, flow, overflowX, overflowY, alignments, requestedConstraints, backgroundColor, backgroundImage, backgroundImageScaleGrid, backgroundImageEffectColorMul, backgroundImageEffectColorAdd, border, padding, showOn, hideOn, tooltip)
76 for (
auto i = 0; i <
subNodes.size(); i++) {
78 if (guiSubNode->conditionsMet ==
false)
continue;
79 auto contentWidth = guiSubNode->getAutoWidth();
80 if (contentWidth > width) {
92 for (
auto i = 0; i <
subNodes.size(); i++) {
94 if (guiSubNode->conditionsMet ==
false)
continue;
95 auto contentHeight = guiSubNode->getAutoHeight();
96 if (contentHeight > height) {
97 height = contentHeight;
110 for (
auto i = 0; i <
subNodes.size(); i++) {
112 if (guiSubNode->conditionsMet ==
false)
continue;
113 guiSubNode->setTop(top);
122 for (
auto i = 0; i <
subNodes.size(); i++) {
124 if (guiSubNode->conditionsMet ==
false)
continue;
125 guiSubNode->setLeft(left);
135 for (
auto i = 0; i <
subNodes.size(); i++) {
137 if (guiSubNode->conditionsMet ==
false)
continue;
138 auto doLayoutSubNodes =
false;
140 guiSubNode->computedConstraints.height = height;
141 doLayoutSubNodes =
true;
144 guiSubNode->computedConstraints.width = width;
145 doLayoutSubNodes =
true;
147 if (
dynamic_cast<GUIParentNode*
>(guiSubNode) !=
nullptr && doLayoutSubNodes ==
true) {
148 (required_dynamic_cast<GUIParentNode*>(guiSubNode))->
layoutSubNodes();
162 for (
auto i = 0; i <
subNodes.size(); i++) {
164 if (guiSubNode->conditionsMet ==
false)
continue;
166 guiSubNode->requestedConstraints.height = subNodesHeight;
172 for (
auto i = 0; i <
subNodes.size(); i++) {
174 if (guiSubNode->conditionsMet ==
false)
continue;
176 guiSubNode->requestedConstraints.width = subNodesWidth;
const string getNodeType() override
int getContentWidth() override
int getContentHeight() override
void setTop(int top) override
Set computed top.
void layout() override
Layout.
void setLeft(int left) override
Set computed left.
bool isContentNode() override
void layoutSubNodes() override
Layout sub nodes.
GUI element node conditions.
GUI node requested constraints requested constraints type enum.
static STATIC_DLL_IMPEXT GUINode_RequestedConstraints_RequestedConstraintsType * STAR
static STATIC_DLL_IMPEXT GUINode_RequestedConstraints_RequestedConstraintsType * PIXEL
virtual void setLeft(int left)
Set computed left.
GUINode_ComputedConstraints computedConstraints
virtual void setTop(int top)
Set computed top.
GUINode_RequestedConstraints requestedConstraints
GUI parent node overflow enum.
static STATIC_DLL_IMPEXT GUIParentNode_Overflow * DOWNSIZE_CHILDREN
GUI parent node base class thats supporting child nodes.
virtual void computeHorizontalChildrenAlignment()
Compute horizontal children alignment.
void layout() override
Layout.
GUIParentNode_Overflow * overflowY
virtual void layoutSubNodes()
Layout sub nodes.
vector< GUINode * > subNodes
virtual void computeVerticalChildrenAlignment()
Compute vertical children alignment.
GUI screen node that represents a screen that can be rendered via GUI system.
GUI node computed constraints.
GUI node requested constraints entity.
GUINode_RequestedConstraints_RequestedConstraintsType * topType
GUINode_RequestedConstraints_RequestedConstraintsType * widthType
GUINode_RequestedConstraints_RequestedConstraintsType * leftType
GUINode_RequestedConstraints_RequestedConstraintsType * heightType
GUI node scale 9 grid entity.