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;
47 MCAPI ~MinMaxRuleValue();
60 ::ll::TypedStorage<8, 8, ::UIControl&> mControl;
61 ::ll::TypedStorage<8, 24, ::std::vector<::VariableRef>> mDependsOnMe;
62 ::ll::TypedStorage<8, 32, ::LayoutVariable::RuleValue> mRuleValue;
63 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::LayoutVariable::MinMaxRuleValue>> mMinMaxValue;
64 ::ll::TypedStorage<1, 1, ::LayoutVariableType> mType;
65 bool mIsSatisfied : 1;
66 bool mIsOverriden : 1;
71 LayoutVariable& operator=(LayoutVariable
const&);
72 LayoutVariable(LayoutVariable
const&);
78 MCAPI
void _addDependsOnMeEntriesForInvalidation(
bool checkForDuplicates);
80 MCAPI
float _getMaxSiblingValue()
const;
82 MCAPI ::LayoutRule& _getOrCreateMaxRule();
84 MCAPI ::LayoutRule& _getOrCreateMinRule();
86 MCAPI
void _initialize(
bool checkForDuplicates);
88 MCAPI
void _invalidate(::std::function<
void(::VariableRef
const&)> invalidCallback,
bool forceInvalidation);
91 _invalidateDependencies(::std::function<
void(::VariableRef
const&)> invalidCallback,
bool forceInvalidation);
93 MCAPI
void addPostComputationalNeeds(::std::vector<::PostOperation>& postOperations, ::VariableRef& var);
95 MCAPI
bool isSatisfiable()
const;
97 MCAPI
void overrideGridLayoutRule(::UIControl& control, ::UIControl& parent, ::LayoutVariableType type);
99 MCAPI
void overrideRenderableLayoutRule(::UIControl& control, ::LayoutVariableType type);
101 MCAPI
void overrideStackPanelLayoutRule(::UIControl& control, ::UIControl& parent, ::LayoutVariableType type);
103 MCAPI
void removeDeadDependencies();
105 MCAPI ::ui::DirtyFlag satisfy();
107 MCAPI
void setOverrideValue(
float inValue);
109 MCAPI
void setRelativeLayoutRule(::UIControl& control, ::UIControl& relativeTo, ::LayoutVariableType type);
111 MCAPI
void setStackPanelItemLayoutRule(::UIControl& control, ::UIControl& parent, ::LayoutVariableType type);
113 MCAPI ::std::string toString(::LayoutVariableStringType type)
const;
Definition LayoutVariable.h:5
Definition VariableRef.h:5
Definition LayoutVariable.h:16
Definition LayoutVariable.h:14
Definition PostOperation.h:5