3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/DirtyFlag.h"
7#include "mc/client/gui/screens/LayoutRule.h"
8#include "mc/client/gui/screens/LayoutVariableStringType.h"
9#include "mc/client/gui/screens/LayoutVariableType.h"
31 ::ll::TypedStorage<4, 4, float> mValue;
32 ::ll::TypedStorage<8, 24, ::LayoutRule> mRule;
40 ::ll::TypedStorage<8, 32, ::LayoutVariable::RuleValue> mMinValue;
41 ::ll::TypedStorage<8, 32, ::LayoutVariable::RuleValue> mMaxValue;
48 ::ll::TypedStorage<8, 8, ::UIControl&> mControl;
49 ::ll::TypedStorage<8, 24, ::std::vector<::VariableRef>> mDependsOnMe;
50 ::ll::TypedStorage<8, 32, ::LayoutVariable::RuleValue> mRuleValue;
51 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::LayoutVariable::MinMaxRuleValue>> mMinMaxValue;
52 ::ll::TypedStorage<1, 1, ::LayoutVariableType> mType;
53 bool mIsSatisfied : 1;
54 bool mIsOverriden : 1;
59 LayoutVariable& operator=(LayoutVariable
const&);
60 LayoutVariable(LayoutVariable
const&);
66 MCAPI LayoutVariable(::UIControl& control, ::LayoutVariableType type);
68 MCAPI
void _addDependsOnMeEntriesForInvalidation(
bool checkForDuplicates);
70 MCAPI
void _clearSatisfied();
72 MCAPI
float _getMaxSiblingValue()
const;
74 MCAPI
void _initialize(
bool checkForDuplicates);
76 MCAPI
void _invalidate(::std::function<
void(::VariableRef
const&)> invalidCallback,
bool forceInvalidation);
79 _invalidateDependencies(::std::function<
void(::VariableRef
const&)> invalidCallback,
bool forceInvalidation);
81 MCAPI
void _removeDependsOnMeEntries();
83 MCAPI
void addPostComputationalNeeds(::std::vector<::PostOperation>& postOperations, ::VariableRef& var);
85 MCAPI
void clearOverrideValue();
87 MCAPI
void initialize();
89 MCAPI
bool isSatisfiable()
const;
91 MCAPI
void overrideGridLayoutRule(::UIControl& control, ::UIControl& type, ::LayoutVariableType);
93 MCAPI
void overrideRenderableLayoutRule(::UIControl& control, ::LayoutVariableType type);
95 MCAPI
void overrideStackPanelLayoutRule(::UIControl& control, ::UIControl& parent, ::LayoutVariableType type);
97 MCAPI
void removeDeadDependencies();
99 MCAPI
void removeDependencies();
101 MCAPI ::ui::DirtyFlag satisfy();
103 MCAPI
void setGridItemLayoutRule(::UIControl& control, ::UIControl& parent, ::LayoutVariableType type);
105 MCAPI
void setOverrideValue(
float inValue);
107 MCAPI
void setRelativeLayoutRule(::UIControl& control, ::UIControl& relativeTo, ::LayoutVariableType type);
109 MCAPI
void setStackPanelItemLayoutRule(::UIControl& control, ::UIControl& parent, ::LayoutVariableType type);
111 MCAPI ::std::string toString(::LayoutVariableStringType type)
const;
113 MCAPI ~LayoutVariable();
119 MCAPI
void* $ctor(::UIControl& control, ::LayoutVariableType type);
Definition LayoutVariable.h:5
Definition VariableRef.h:5
Definition LayoutVariable.h:16
Definition LayoutVariable.h:14
Definition PostOperation.h:5