277 void SetGravity(
const glm::vec3 &vLayoutGravity);
514 bool m_bBaseConfigureCalled;
518 YI_TYPE_BASES_WITH_SCRIPTABLE_BASE(
CYILayout)
566 #endif // _YI_LAYOUT_H_ void SetUseReverseChildrenOrder(bool bUseReverseChildrenOrder)
POSITIONING_MODE m_ePositioningMode
Definition: YiLayout.h:511
const CYILayoutConfig * GetLayoutConfig(LayoutConfigFetchMode eFetchMode=LAYOUT_CONFIG_LAZY_INSTANTIATE) const
The base class for an C++ object that has RTTI information and is accesible from script source code...
Definition: YiScriptableRTTIObject.h:28
virtual void ApplyPosition(CYISceneNode *pChild, const glm::vec3 &vPosition)
Definition: YiSceneNode.h:356
#define YI_DISALLOW_COPY_AND_ASSIGN(TypeName)
Delete the copy constructor and assignment operator (and consequently the move constructor as well) ...
Definition: YiPredef.h:114
static glm::vec3 GetUnadjustedPosition(const glm::vec3 &vCurrentTopLeftPosition, const CYISceneNode *pChild)
Definition: YiLayout.h:528
CYISceneNode * GetAssociatedSceneNode() const
Definition: YiLayout.h:523
static void UpdateMeasuredSizeForFitContent(const CYISceneNode *pNode, glm::vec3 *pMeasuredSize, const glm::vec3 &contentSize, const Padding &padding, const CYISceneNode::MeasureSpec &widthSpec, const CYISceneNode::MeasureSpec &heightSpec, const CYISceneNode::MeasureSpec &depthSpec)
Definition: YiLayout.h:418
A class used to hold a 3D 'cube offset'.
Definition: YiLayoutConfig.h:52
void SetGravity(const glm::vec3 &vLayoutGravity)
DIMENSIONS
Definition: YiLayout.h:415
The base class for all view types. Views are containers of renderable elements that often define inte...
Definition: YiSceneView.h:47
static bool IsLayoutable(const CYISceneNode *pNode)
Definition: YiLayout.h:538
bool IsBackground() const
Definition: YiLayoutConfig.h:317
bool m_bReverseChildrenOrder
Definition: YiLayout.h:509
CYISceneNode * GetChild(uint32_t uIndex) const
Padding m_padding
Definition: YiLayout.h:508
virtual void OnMeasurementsCalculated(const CYISceneNode::MeasureSpec &widthSpec, const CYISceneNode::MeasureSpec &heightSpec, const CYISceneNode::MeasureSpec &depthSpec)
POSITIONING_MODE
Definition: YiLayout.h:165
void SetPadding(const Padding &padding)
Definition: YiSceneNode.h:314
virtual void ChildAdded(CYISceneNode *pChild)
virtual void OnApplyMeasurements()=0
CYISceneView * m_pNode
In most cases, this variable is used as a node (thus the name m_pNode )
Definition: YiLayout.h:507
static void MeasureChildWithMargins(CYISceneNode *pChild, const CYISceneNode::MeasureSpec &parentWidthSpec, const CYISceneNode::MeasureSpec &parentHeightSpec, const CYISceneNode::MeasureSpec &parentDepthSpec, const Padding &padding)
POSITIONING_MODE GetPositioningMode() const
const Padding & GetPaddingForChild(const CYISceneNode *pChild) const
Definition: YiLayout.h:556
static glm::vec3 GetAdjustedMeasuredSize(const CYISceneNode *pChild)
Definition: YiLayout.h:533
static glm::vec3 GetDefaultSize(const CYISceneNode *pNode, const CYISceneNode::MeasureSpec &widthSpec, const CYISceneNode::MeasureSpec &heightSpec, const CYISceneNode::MeasureSpec &depthSpec)
Definition: YiLayout.h:421
Definition: YiLayout.h:424
Definition: YiLayout.h:420
A class used to hold a size constraint for a specific dimension.
Definition: YiLayoutConfig.h:115
static void RemeasureChildrenForFillParent(const CYISceneNode *pNode, const glm::vec3 &vParentMeasuredSize, const Padding &padding, DIMENSIONS eDimensionsToRemeasure)
void SetPositioningMode(POSITIONING_MODE ePositioningMode)
void ApplyMeasurementsToBackgroundChildren()
virtual std::unique_ptr< CYILayoutState > CreateLayoutStateInstance() const
static void UnscaleMeasureSpecs(const glm::vec3 &vScale, CYISceneNode::MeasureSpec *pWidthSpec, CYISceneNode::MeasureSpec *pHeightSpec, CYISceneNode::MeasureSpec *pDepthSpec)
Definition: YiLayout.h:423
static bool UpdateMeasureSpecsForFitContent(const CYISceneNode *pNode, CYISceneNode::MeasureSpec *widthSpec, CYISceneNode::MeasureSpec *heightSpec, CYISceneNode::MeasureSpec *depthSpec)
A scene node is the base type for all nodes which are used by the scene manager; it is an integral pa...
Definition: YiSceneNode.h:114
Definition: YiLayout.h:175
static glm::vec3 GetTopLeftPositionWithGravity(const glm::vec3 &vLayoutGravity, const glm::vec3 &vChildGravity, const glm::vec3 &vContainerTopLeft, const glm::vec3 &vContainerSize, const CYILayout::Padding &padding, const glm::vec3 &vChildSize, const CYILayoutConfig::Margin &margin, const glm::vec3 &vCurrentChildPosition)
const Padding & GetPadding() const
A class used to hold node-specific layout configuration (such as, for example, Margin).
Definition: YiLayoutConfig.h:24
glm::vec3 m_vGravity
Definition: YiLayout.h:510
static glm::vec3 GetAdjustedPosition(const glm::vec3 &vDesiredTopLeftPosition, const CYISceneNode *pChild)
The abstract runtime representation of a C++ type.
Definition: YiRtti.h:48
virtual void OnMeasurementsApplied()
virtual void ChildVisibilityChanged(CYISceneNode *pChild)
A class used to hold node-specific layout state.
Definition: YiLayoutState.h:16
bool IsUsingReverseChildrenOrder() const
GRAVITY
Definition: YiLayoutConfig.h:31
Definition: YiLayout.h:422
This class defines a layout that can be applied to a scene view. The layout class determines how obje...
Definition: YiLayout.h:159
virtual void OnMeasure(const CYISceneNode::MeasureSpec &widthSpec, const CYISceneNode::MeasureSpec &heightSpec, const CYISceneNode::MeasureSpec &depthSpec)=0
const glm::vec3 & GetMeasuredSize() const
Definition: YiLayout.h:417
void CreateLayoutObjectsFor(CYISceneNode *pNode) const
const glm::vec3 & GetAnchorPoint() const
virtual void ChildRemoved(CYISceneNode *pChild)
static const CubeOffset zeroInstance
Definition: YiLayoutConfig.h:60
virtual void OnSceneViewAttached()
virtual const CYIRuntimeTypeInfo & GetLayoutConfigType() const
void Measure(const CYISceneNode::MeasureSpec &widthSpec, const CYISceneNode::MeasureSpec &heightSpec, const CYISceneNode::MeasureSpec &depthSpec)
Definition: YiLayout.h:419
static float CalculateDimension(const CYISceneNode::MeasureSpec &spec, const CYILayoutConfig::SizeConstraint &constraint, float fCurrentValue)
const glm::vec3 & GetGravity() const
static void RegisterAllLayouts()
void AttachTo(CYISceneView *pView)
void ConfigureFromAttachedNode()
static void MeasureBackgroundChildren(CYISceneNode *pNode, const glm::vec3 &vSize)
CYILayoutConfig::CubeOffset Padding
Definition: YiLayout.h:178
virtual void ApplySize(CYISceneNode *pChild, const glm::vec3 &vSize)
bool IsLayoutable() const
Definition: YiLayoutConfig.h:307
const glm::vec3 & GetScale() const
static CYISceneNode::MeasureSpec CalculateChildMeasureSpec(const CYISceneNode::MeasureSpec &parentMeasureSpec, float fPadding, const CYILayoutConfig::SizeConstraint &childConstraint, float fChildScale)
Definition: YiLayout.h:170