2 #ifndef _YI_ANIMATING_LAYOUT_H_ 3 #define _YI_ANIMATING_LAYOUT_H_ 138 bool ShouldAnimatePositionFor(
const CYISceneNode *pChild)
const;
139 bool ShouldAnimateSizeFor(
const CYISceneNode *pChild)
const;
141 uint32_t m_uMovingTimeMs;
142 uint32_t m_uSizingTimeMs;
143 std::unique_ptr<CYITimeInterpolator> m_pTimeInterpolator;
145 bool m_bAnimationsDisabledOnNextLayout;
146 std::set<const CYISceneNode*> m_animationsDisabledOnNextLayoutForChildren;
171 void SetAnimatePosition(
bool bAnimatePosition);
173 bool IsUsingAnimatedPosition()
const;
182 void SetAnimateSize(
bool bAnimateSize);
184 bool IsUsingAnimatedSize()
const;
211 return m_bAnimatePosition;
216 return m_bAnimateSize;
219 #endif // _YI_ANIMATING_LAYOUT_H_ A class used to hold per-child layout configuration for CYIAnimatingLayout layouts.
Definition: YiAnimatingLayout.h:156
Container for basic interpolator functions.
Definition: YiTimeInterpolator.h:21
virtual void Configure() override
CYITimeInterpolator * GetTimeInterpolator()
bool m_bAnimatePosition
Definition: YiAnimatingLayout.h:187
bool IsUsingAnimatedPosition() const
Definition: YiAnimatingLayout.h:209
virtual void OnMeasurementsApplied() override
void SetTimeInterpolator(std::unique_ptr< CYITimeInterpolator > pInterpolator)
void SetMovingTime(uint32_t uMovingTimeMs)
#define YI_TYPE_BASES(...)
Definition: YiRtti.h:350
void DisableAnimationsOnNextLayoutFor(CYISceneNode *pChild, bool bDisable=true)
uint32_t GetMovingTimeMs() const
uint32_t GetSizingTimeMs() const
virtual const CYIRuntimeTypeInfo & GetLayoutConfigType() const override
virtual ~CYIAnimatingLayout()
virtual void ApplySize(CYISceneNode *pChild, const glm::vec3 &vSize) override
A class used to hold layout state for CYIAnimatingLayout layouts.
Definition: YiAnimatingLayout.h:200
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
virtual void ChildRemoved(CYISceneNode *pChild) override
bool m_bAnimateSize
Definition: YiAnimatingLayout.h:188
A class used to hold node-specific layout configuration (such as, for example, Margin).
Definition: YiLayoutConfig.h:24
virtual void ChildVisibilityChanged(CYISceneNode *pChild) override
The abstract runtime representation of a C++ type.
Definition: YiRtti.h:48
A class used to hold node-specific layout state.
Definition: YiLayoutState.h:16
A layout that can animate its children's position and size.
Definition: YiAnimatingLayout.h:67
An interface to a class that provides key-value properties.
Definition: YiPropertiesSource.h:17
This class defines a layout that can be applied to a scene view. The layout class determines how obje...
Definition: YiLayout.h:159
bool IsUsingAnimatedSize() const
Definition: YiAnimatingLayout.h:214
virtual void ApplyPosition(CYISceneNode *pChild, const glm::vec3 &vPosition) override
virtual void ChildAdded(CYISceneNode *pChild) override
void DisableAnimationsOnNextLayout(bool bDisable=true)
void SetSizingTime(uint32_t uSizingTimeMs)