CYIFocusZoneView is a focus handler which assigns initial focus within its descendants based on which CYIFocusZoneView::EntryMode is set.
If the entry mode is set to RestoreLastFocus, when focus returns to this subtree it will be assigned to the last descendant which had focus. The last descendant with focus is always tracked regardless of the current entry mode set.
An entry mode of PreventEntry will block focus from entering this subtree via focus searches. Focus can still be assigned directly to a descendant by calling CYISceneView::RequestFocus on the descendant, and can move around as usual from that point.
The Standard entry mode defers to the standard focus algorithm when focus is entering this subtree.
View Template Specification
Type | Labels | Property | Description |
---|---|---|---|
Comment | entry-mode | Optional | The focus entry mode which specifies if and how focus is assigned when entering this subtree. Valid values are restore-last, prevent-entry, and standard. Defaults to restore-last.
|
#include <view/YiFocusZoneView.h>
Public Member Functions | |
CYIFocusZoneView () | |
virtual | ~CYIFocusZoneView () |
virtual bool | Init () override |
void | SetEntryMode (EntryMode entryMode) |
EntryMode | GetEntryMode () const |
virtual void | SetInitiallyFocusedView (CYISceneView *pView, InitialFocusLifetime initialFocusLifetime=InitialFocusLifetime::Persistent) override |
void | ClearLastFocus () |
virtual bool | RequestFocus (CYIFocus::Direction direction=CYIFocus::Direction::Forward, CYIFocus::FocusRootRule focusRootRule=CYIFocus::FocusRootRule::DescendantsUpdateContext, const CYIAABB &previousFocusRect=CYIAABB(), const CYIFocusSearchOptions &options=CYIFocusSearchOptions()) override |
virtual bool | ContainsFocusableDescendant (const CYIFocusSearchOptions &options=CYIFocusSearchOptions()) const override |
virtual void | FocusGainedInDescendants (CYISceneNode *pNewNodeWithFocus, CYISceneNode *pPreviousNodeWithFocus) override |
virtual void | FocusChangedInDescendants (CYISceneNode *pNewNodeWithFocus, CYISceneNode *pPreviousNodeWithFocus) override |
virtual bool | HandlesFocusInDescendants () const override |
Returns true to indicate that this view handles focus in its descendants. More... | |
virtual CYISceneView * | FindNextFocusInDescendants (const CYISceneView *pCurrentFocusView, CYIFocus::Direction direction, CYIAABB &screenSpaceFocusRegion, const CYIFocusSearchOptions &options=CYIFocusSearchOptions()) const override |
![]() | |
CYISceneView () | |
virtual | ~CYISceneView () |
bool | BuildFromTemplate (CYISceneManager *pSceneManager, const std::shared_ptr< CYIAssetViewTemplate > &pAssetViewTemplate, CYISceneManager::MissingClassHandlingMode missingHandlingMode=CYISceneManager::MissingClassHandlingMode::Abort) |
bool | IsInitialized () const |
void | SetClippingAreaNode (CYISceneNode *pClippingNode) |
virtual CYIOptional< CYIStringView > | GetProperty (CYIStringView propertyName) const override |
bool | GetProperty (CYIStringView propertyName, CYIString *pValue) const |
virtual std::map< CYIString, CYIString > | GetProperties () const override |
virtual void | ForEachProperty (const std::function< void(const CYIString &, const CYIString &)> &action) const override |
virtual bool | HasProperties () const override |
void | EnableDefaultHitZone () |
bool | IsResponsiveLayoutEnabled () const |
void | EnableResponsiveLayout () |
void | DisableResponsiveLayout () |
void | AddAnchor (EYIAnchorType anchorType) |
YI_ANCHOR_DATA | GetAnchor (EYIAnchorType anchorType) const |
virtual const CYISceneView::AssetRequirement * | GetAssetRequirements (uint32_t *pRequirementCount) |
CYIAbstractTimeline * | GetInTimeline () const |
CYIAbstractTimeline * | GetOutTimeline () const |
CYIAbstractTimeline * | GetFocusInTimeline () const |
CYIAbstractTimeline * | GetFocusOutTimeline () const |
bool | HasFocus () const |
void | SetFocusable (bool focusable) |
bool | IsFocusable () const |
bool | CanBeFocused () const |
void | SetNextFocus (CYISceneView *pView, CYIFocus::Direction direction) |
CYISceneView * | GetNextFocus (CYIFocus::Direction direction) const |
CYISceneView * | GetInitiallyFocusedView () const |
CYISceneView::InitialFocusLifetime | GetInitialFocusLifetime () const |
CYISceneView * | FindNextFocus (CYIFocus::Direction direction, const CYIFocusSearchOptions &options=CYIFocusSearchOptions()) const |
CYISceneView * | FindNextFocus (CYIFocus::Direction direction, CYIAABB &screenSpaceFocusRegion, const CYIFocusSearchOptions &options=CYIFocusSearchOptions()) const |
const CYISceneNode * | GetFocusRoot () const |
CYISceneView * | GetFocusHandler () const |
virtual void | OnFocusGained () |
virtual void | FocusGained () |
virtual void | OnFocusLost () |
virtual void | FocusLost () |
const std::shared_ptr< CYIAssetViewTemplate > & | GetViewTemplate () const |
const std::vector< CYIString > & | GetChildTemplateNames () |
template<typename T > | |
T * | BuildTimeline (const CYIString &markerName) |
CYITimeline * | BuildTimeline (const CYIString &markerName, int32_t startOffset, int32_t duration) |
CYIAbstractTimeline * | GetTimeline (CYIMarkerData::ID id) |
virtual CYIAbstractTimeline * | GetTimeline (CYIStringView markerName, TimelineGetMode mode=TimelineGetMode::GetDefault) |
std::map< CYIString, CYITimeline * > | GetSimpleTimelines () const |
std::map< CYIString, CYIAbstractTimeline * > | GetTimelines () const |
bool | FindTimeline (CYIAbstractTimeline *&pTimeline, CYIStringView markerName, FetchType type, const CYIString &tag="", TimelineGetMode mode=TimelineGetMode::GetDefault) |
CYITimelineGroup * | GetTimelineGroup (CYIStringView markerName) |
void | BuildAnchorList () |
virtual void | Reset () |
void | SetLayout (std::unique_ptr< CYILayout > pLayout) |
const CYILayout * | GetLayout () const |
CYILayout * | GetLayout () |
virtual void | Measure (const MeasureSpec &widthSpec, const MeasureSpec &heightSpec, const MeasureSpec &depthSpec) override |
virtual void | ApplyMeasurements () override |
![]() | |
CYISceneNode () | |
virtual | ~CYISceneNode () |
bool | IsInitialized () const |
void | ForceDirty () |
void | SetDirtyFlag (DirtyFlag dirtyFlag) |
DirtyFlag | GetDirtyFlag () const |
DirtyFlag | GetPreviousDirtyFlag () const |
const CYIString & | GetName () const |
CYIString | GetUniqueName () const |
void | SetSceneManager (CYISceneManager *pSceneManager) |
void | SetName (const CYIString &name) |
int32_t | GetID () const |
void | SetID (int32_t id) |
uint64_t | GetUniqueID () const |
bool | AddChild (std::unique_ptr< CYISceneNode > pSceneNode) |
bool | AddChild (std::unique_ptr< CYISceneNode >, size_t index) |
bool | InsertChildAfter (CYISceneNode *pRefNode, std::unique_ptr< CYISceneNode > pSceneNode) |
std::unique_ptr< CYISceneNode > | RemoveChild (CYISceneNode *pSceneNode) |
bool | ReorderChild (size_t fromIndex, size_t toIndex) |
CYITransform * | GetTransform () |
CYISceneNode * | GetParent () const |
bool | ChangeParent (CYISceneNode *pParent) |
CYISceneNode * | GetDrawParent () const |
bool | IsAncestorOf (const CYISceneNode *pNode) const |
CYISceneManager * | GetSceneManager () const |
size_t | GetChildCount () const |
uint32_t | GetChildCountRecursive () const |
CYISceneNode * | GetChild (size_t index) const |
Iterator | begin (Iterator::Mode mode=Iterator::Mode::ImmediateChildren) const |
Iterator | end (Iterator::Mode mode=Iterator::Mode::ImmediateChildren) const |
ReverseIterator | rbegin (Iterator::Mode mode=Iterator::Mode::ImmediateChildren) const |
ReverseIterator | rend (Iterator::Mode mode=Iterator::Mode::ImmediateChildren) const |
CYISceneNode * | GetChild (const CYIString &name) const |
size_t | GetDrawChildCount () const |
CYISceneNode * | GetDrawChild (size_t index) const |
CYISceneNode * | GetDrawChildByID (int32_t id) const |
template<class YI_SCENE_NODE_SUBCLASS > | |
YI_SCENE_NODE_SUBCLASS * | GetChild (uint32_t targetMatchedNodeCount=1) const |
template<class YI_SCENE_NODE_SUBCLASS > | |
std::list< YI_SCENE_NODE_SUBCLASS * > | GetChildren () const |
template<class YI_SCENE_NODE_SUBCLASS > | |
std::list< YI_SCENE_NODE_SUBCLASS * > | GetDrawChildren () const |
size_t | GetIndexOfChild (const CYISceneNode *pSceneNode) const |
size_t | GetIndexOfDrawChild (const CYISceneNode *pSceneNode) const |
void | Show () |
void | Hide () |
void | SetVisibility (bool visible) |
void | SetOpacity (float opacity) |
float | GetCompositeOpacity () const |
float | GetLocalOpacity () const |
bool | IsVisible () const |
bool | IsTrulyVisible () const |
bool | IsPerceptible () const |
CYISceneNode * | GetNode (CYIStringView name) |
CYISceneNode * | GetNode (CYIStringView name, const CYIRuntimeTypeInfo &enforceClassType) |
CYISceneNode * | GetNode (const CYIRuntimeTypeInfo &enforceClassType) |
CYISceneNode * | GetNodeAfterTarget (const CYIRuntimeTypeInfo &enforceClassType, CYISceneNode *pStartAfterTarget) |
template<class YI_SCENE_NODE_SUBCLASS > | |
YI_SCENE_NODE_SUBCLASS * | GetNode (CYIStringView name) |
CYISceneNode * | GetNode (const int32_t id) |
CYISceneNode * | GetNode (const int32_t id, const CYIRuntimeTypeInfo &enforceClassType) |
CYISceneNode * | GetNodeWithUniqueID (uint64_t uniqueID) |
template<class YI_SCENE_NODE_SUBCLASS > | |
bool | FindNode (YI_SCENE_NODE_SUBCLASS *&pNode, CYIStringView nodeName, FetchType type, const CYIString &tag) |
std::list< CYISceneNode * > | GetNodes (CYIStringView name) |
std::list< CYISceneNode * > | GetNodes (int32_t id) |
std::list< CYISceneNode * > | GetNodes (const CYIRuntimeTypeInfo &enforceClassType) |
template<class YI_SCENE_NODE_SUBCLASS > | |
const YI_SCENE_NODE_SUBCLASS * | GetNode (uint32_t targetMatchedNodeCount=1) const |
template<class YI_SCENE_NODE_SUBCLASS > | |
YI_SCENE_NODE_SUBCLASS * | GetNode (uint32_t targetMatchedNodeCount=1) |
void | SetMesh (const std::shared_ptr< CYIMesh > &pMesh) |
bool | SetNPatchBitmap (const std::shared_ptr< CYIBitmap > &pNPatchBitmap) |
void | ClearNPatch () |
void | SetMaterial (const std::shared_ptr< CYIMaterial > &pMaterial, size_t index=0) |
void | AddEffect (const std::shared_ptr< CYIEffect > &pEffect) |
void | RemoveEffect (const std::shared_ptr< CYIEffect > &pEffect) |
size_t | GetEffectCount () const |
const std::shared_ptr< CYIEffect > & | GetEffect (size_t index) const |
void | ConnectEffectsToTimelines (const CYITimelineTrack *pTrack) |
void | AddMask (std::unique_ptr< CYIMask > pMask) |
std::unique_ptr< CYIMask > | RemoveMask (const CYIMask *pMask) |
size_t | GetMaskCount () const |
const CYIMask * | GetMask (size_t index) const |
CYIMask * | GetMask (size_t index) |
const std::shared_ptr< CYIMesh > & | GetMesh () const |
const std::shared_ptr< CYIBitmap > & | GetNPatchBitmap () const |
size_t | GetMaterialCount () const |
const std::shared_ptr< CYIMaterial > & | GetMaterial (size_t index=0) const |
const std::shared_ptr< IYIUniformBufferObject > & | GetShaderUniforms () const |
void | SetMeshTransform (const glm::mat4 &transform) |
void | DestroyChildren () |
glm::mat4 | GetLocalTransform () const |
glm::mat4 | GetWorldTransform () const |
bool | Intersects (const CYISceneNode *pNode) const |
void | SetRenderTarget (const std::shared_ptr< CYIRenderTarget > &pRenderTarget) |
const std::shared_ptr< CYIRenderTarget > & | GetRenderTarget () const |
virtual void | OnPreBuildDrawList (std::vector< IYIRenderer::Command > *pDrawList, std::vector< CYIAbstractCameraSceneNode *> *pDrawWithCameraList) |
virtual void | OnPostBuildDrawList (std::vector< IYIRenderer::Command > *pDrawList) |
const CYIAABB & | GetWorldAABB () const |
const CYIAABB & | GetLocalAABB () const |
void | SetAnchorPoint (const glm::vec3 &anchorPoint) |
void | SetAnchorPoint (float x, float y, float z) |
void | SetAnchorPointX (float x) |
void | SetAnchorPointY (float y) |
void | SetAnchorPointZ (float z) |
void | SetPosition (const glm::vec3 &position) |
void | SetPosition (float x, float y, float z) |
void | SetPositionX (float x) |
void | SetPositionY (float y) |
void | SetPositionZ (float z) |
void | SetRotation (const glm::vec3 &rotation) |
void | SetRotation (float pitchDegrees, float yawDegrees, float rollDegrees) |
void | SetRotationX (float pitchDegrees) |
void | SetRotationY (float yawDegrees) |
void | SetRotationZ (float rollDegrees) |
void | SetOrientation (float pitchDegrees, float yawDegrees, float rollDegrees) |
void | SetOrientation (const glm::quat &orientation) |
void | SetScale (const glm::vec3 &scale) |
void | SetScale (float factorX, float factorY, float factorZ) |
void | SetScaleX (float factor) |
void | SetScaleY (float factor) |
void | SetScaleZ (float factor) |
const glm::vec3 & | GetPosition () const |
const glm::vec3 & | GetScale () const |
const glm::vec3 & | GetWorldScale () const |
const glm::vec3 & | GetWorldSurfaceScale () const |
const glm::vec3 & | GetRotation () const |
const glm::quat & | GetOrientation () const |
const glm::vec3 & | GetAnchorPoint () const |
virtual void | SetSize (const glm::vec3 &size, bool dirtyLayout=true) |
const glm::vec3 & | GetSize () const |
const glm::vec3 & | GetInitialSize () const |
void | SetMeasuredSize (const glm::vec3 &measuredSize) |
const glm::vec3 & | GetMeasuredSize () const |
void | SetInternalCustomTimelineValue (uint32_t trackID, const CYIVariant &value) |
virtual void | SetCustomTimelineValue (uint32_t trackID, const CYIVariant &value) |
void | SetClippingOn () |
void | SetClippingOff () |
bool | GetClipping () const |
void | SetClippingBox (const CYIAABB &worldBox) |
const CYIAABB & | GetClippingBox () const |
void | StartPropertyAnimation (PropertyAnimation::Type propType, float from, float to, uint32_t durMs, CYITimeInterpolator *pTimeInterpolator=nullptr, bool dirtyLayout=true) |
void | StopPropertyAnimation (PropertyAnimation::Type propType) |
void | UpdateLocalSpaceCollision (CYIActionEvent *pActionEvent) |
virtual bool | BroadcastEvent (const std::shared_ptr< CYIEventDispatcher > &pDispatcher, CYIEvent *pEvent) |
void | UpdateEventForLocalSpace (CYIActionEvent *pActionEvent, glm::vec3 &rayOrigin, glm::vec3 &rayNonOriginPoint) const |
bool | IsBoundingBoxHit (const CYIRay &worldSpaceRay) const |
bool | IsMeshHit (const CYIRay &worldSpaceRay) const |
void | DumpTree () const |
void | StartCaptureKeyboardEvents () |
void | StopCaptureKeyboardEvents () |
void | StartCaptureTrackpadEvents () |
void | StopCaptureTrackpadEvents () |
void | StartCapturePointerEvents (uint8_t pointerID) |
void | StopCapturePointerEvents (uint8_t pointerID) |
bool | DrawBehindChildren (CYISceneNode *pSceneNode, bool *pChanged=nullptr) |
bool | DrawInFrontOfChildren (CYISceneNode *pSceneNode, bool *pChanged=nullptr) |
bool | DrawBehind (CYISceneNode *pSceneNode, bool *pChanged=nullptr) |
bool | DrawInFront (CYISceneNode *pSceneNode, bool *pChanged=nullptr) |
bool | IsFocusRoot () const |
void | SetIsFocusRoot (bool isFocusRoot) |
virtual void | OnFocusGainedInDescendants (CYISceneNode *pNewNodeWithFocus, CYISceneNode *pPreviousNodeWithFocus) |
virtual void | OnFocusLostInDescendants (CYISceneNode *pNewNodeWithFocus, CYISceneNode *pPreviousNodeWithFocus) |
virtual void | FocusLostInDescendants (CYISceneNode *pNewNodeWithFocus, CYISceneNode *pPreviousNodeWithFocus) |
virtual void | OnFocusChangedInDescendants (CYISceneNode *pNewNodeWithFocus, CYISceneNode *pPreviousNodeWithFocus) |
void | SetUseLocalTransformAndAlpha (bool use) |
bool | GetProperty (CYIStringView propertyName, CYIString *pValue) const |
void | SetProperty (const CYIString &propertyName, const CYIString &propertyValue) |
std::shared_ptr< CYISceneNodeProxy > | GetSceneNodeProxy () const |
void | SetLayoutConfig (std::unique_ptr< CYILayoutConfig > pLayoutConfig) |
const CYILayoutConfig * | GetLayoutConfig (LayoutConfigFetchMode fetchMode=LayoutConfigFetchMode::LazyInstantiate) const |
CYILayoutConfig * | GetLayoutConfig (LayoutConfigFetchMode fetchMode=LayoutConfigFetchMode::LazyInstantiate) |
void | SetLayoutState (std::unique_ptr< CYILayoutState > pLayoutState) |
const CYILayoutState * | GetLayoutState () const |
CYILayoutState * | GetLayoutState () |
void | RequestLayout () |
LayoutDirtyFlag | GetLayoutDirtyFlag () const |
virtual void | SetLayoutDirtyFlag (LayoutDirtyFlag flag) |
virtual CYIAbstractCameraSceneNode * | FindActiveCamera (const CYISceneNode *pTargetSceneNode=nullptr) const |
CYIAccessibilityAttributes::Accessible | GetAccessible () const |
void | SetAccessible (CYIAccessibilityAttributes::Accessible accessible) |
const CYIAccessibilityAttributes * | GetAccessibilityAttributes () const |
std::unique_ptr< CYIAccessibilityAttributes > | TakeAccessibilityAttributes () |
void | SetAccessibilityAttributes (std::unique_ptr< CYIAccessibilityAttributes > pAttributes) |
const CYIRenderable * | GetRenderable () const |
template<typename T > | |
bool | CanCastTo () const |
CYIAdjustmentLayerSceneNode * | GetLastAdjustmentLayer () const |
![]() | |
CYIEventTarget () | |
virtual | ~CYIEventTarget () |
bool | AddEventListener (CYIEvent::Type eventType, CYIEventHandler *pListener, CYIEventTarget::Phase phase=CYIEventTarget::Phase::Bubble) |
bool | RemoveEventListener (CYIEvent::Type eventType, CYIEventHandler *pListener, CYIEventTarget::Phase phase=CYIEventTarget::Phase::Bubble) |
void | SetSpecialTypeFlag (SpecialEventTargetType type) |
void | ClearSpecialTypeFlag (SpecialEventTargetType type) |
SpecialEventTargetType | GetSpecialTypes () const |
const std::shared_ptr< CYIEventTargetProxy > & | GetProxy () const |
![]() | |
CYISignalHandler () | |
CYISignalHandler (const CYISignalHandler &signalHandler) | |
virtual | ~CYISignalHandler () |
CYISignalHandler & | operator= (const CYISignalHandler &signalHandler) |
void | MoveToThread (CYIThread *pThread) |
This function allows the user to override the default thread affinity to any CYIThread that may or may not be running. More... | |
CYIThreadHandle | GetThreadAffinity () const |
void | SetThreadAffinity (const CYIThreadHandle &threadAffinity) |
virtual bool | IsConnected () const |
virtual bool | IsConnected (const CYISignalBase &signal) const |
void | Disconnect (CYISignalBase &signal) |
void | DisconnectFromAllSignals () |
![]() | |
Listener () | |
virtual | ~Listener () |
virtual void | OnThreadStarted (CYIThread *) |
virtual void | OnThreadTerminated (CYIThread *) |
virtual void | OnThreadFinished (CYIThread *) |
![]() | |
virtual | ~IYIPropertiesSource ()=default |
bool | GetProperty (CYIStringView propertyName, CYIString *pValue) const |
![]() | |
CYIEventHandler () | |
CYIEventHandler (const CYIEventHandler &) | |
virtual | ~CYIEventHandler () |
CYIEventHandler & | operator= (const CYIEventHandler &) |
bool | RegisterEventFilter (CYIEventFilter *pFilter) |
bool | UnregisterEventFilter (CYIEventFilter *pFilter) |
bool | PreFilter (const std::shared_ptr< CYIEventDispatcher > &pDispatcher, CYIEvent *pEvent) |
bool | PostFilter (const std::shared_ptr< CYIEventDispatcher > &pDispatcher, CYIEvent *pEvent) |
bool | AreEventsEnabled () const |
void | EnableEvents (bool enable) |
Additional Inherited Members | |
![]() | |
static void | RegisterAllViews () |
![]() | |
static void | RegisterAllSceneNodes () |
![]() | |
CYISignal< CYISceneView *, CYISceneView *> | GainedFocus |
Emitted when focus has entered this view. The first signal argument is the view that gained focus (e.g. the current view) and the second signal argument is the view that lost focus. More... | |
CYISignal< CYISceneView *, CYISceneView *> | LostFocus |
Emitted when focus has left this view. The first signal argument is the view that lost focus (e.g. the current view) and the second signal argument is the view that gained focus. More... | |
![]() | |
CYISignal< CYISceneNode *, PropertyAnimation::Type > | PropertyAnimationComplete |
CYISignal< CYISceneNode *, CYISceneNode *> | DescendantGainedFocus |
Emitted when focus has entered this tree. The first signal parameter is the new node with focus, and the second signal parameter is the previous node with focus. More... | |
CYISignal< CYISceneNode *, CYISceneNode *> | DescendantLostFocus |
Emitted when focus has left this tree. The first signal parameter is the new node with focus, and the second signal parameter is the previous node with focus. More... | |
CYISignal< CYISceneNode *, CYISceneNode *> | DescendantsChangedFocus |
Emitted when focus has changed within this tree. This signal is called only if focus was previously within this tree and focus is now on a different node (but still within this tree). The first signal parameter is the new node with focus, and the second signal parameter is the previous node with focus. More... | |
CYISignal< CYIAccessibilityAttributes::Accessible > | AccessibleStateChanged |
Emitted when accessible state changed. More... | |
![]() | |
static const float | OPACITY_NOT_VISIBLE_EPSILON |
static constexpr DirtyFlag | DirtyClean = 0x0000 |
static constexpr DirtyFlag | DirtySceneGraph = 0x0001 |
static constexpr DirtyFlag | DirtyVisibility = 0x0002 |
static constexpr DirtyFlag | DirtyOpacity = 0x0004 |
static constexpr DirtyFlag | DirtyLocalTransform = 0x0008 |
static constexpr DirtyFlag | DirtyWorldTransform = 0x0010 |
static constexpr DirtyFlag | DirtyUniform = 0x0020 |
static constexpr DirtyFlag | DirtyWorldBoundingBox = 0x0040 |
static constexpr DirtyFlag | DirtyMesh = 0x0080 |
static constexpr DirtyFlag | DirtyWorldSurfaceScale = 0x0100 |
static constexpr DirtyFlag | DirtyWorldScale = 0x0200 |
static constexpr DirtyFlag | DirtyLocalBoundingBox = 0x0400 |
static constexpr DirtyFlag | DirtyEverything = (DirtySceneGraph | DirtyVisibility | DirtyOpacity | DirtyLocalTransform | DirtyWorldTransform | DirtyUniform | DirtyWorldBoundingBox | DirtyWorldSurfaceScale | DirtyWorldScale | DirtyLocalBoundingBox) |
![]() | |
void | UpdateClipping () |
virtual void | WorldScaleUpdated () override |
virtual void | WorldBoundingBoxUpdated () override |
virtual void | OnViewReflowed (const glm::vec3 &worldScale) |
virtual void | ViewReflowed (const glm::vec3 &worldScale) |
virtual bool | HandleEvent (const std::shared_ptr< CYIEventDispatcher > &pDispatcher, CYIEvent *pEvent) override |
virtual bool | ProcessEvent (const std::shared_ptr< CYIEventDispatcher > &pDispatcher, CYIEvent *pEvent) override |
void | UpdateResponsiveLayoutAnchors () |
virtual void | SizeChanged () override |
virtual void | ChildNeedsLayout () override |
virtual void | LayoutDirtied () override |
virtual void | ChildAdded (CYISceneNode *pChild) override |
virtual void | ChildRemoved (CYISceneNode *pChild) override |
virtual void | ChildVisibilityChanged (CYISceneNode *pChild) override |
void | OnViewIsInAnimatedPosition () |
void | OnViewIsGoingOutOfAnimatedPosition () |
void | SetInTimeline (CYIAbstractTimeline *pTimeline) |
void | SetOutTimeline (CYIAbstractTimeline *pTimeline) |
virtual void | OnInit () |
bool | TryRequestFocusOnInitiallyFocusedView () |
![]() | |
void | Update () |
virtual void | OnUpdateBegin () |
virtual void | UpdateBegin () |
virtual void | OnUpdateEnd () |
virtual void | UpdateEnd () |
virtual void | OnDirtyFlagChanged () |
virtual void | DirtyFlagChanged () |
virtual void | OnTransformUpdated () |
virtual void | TransformUpdated () |
virtual void | OnWorldScaleUpdated () |
virtual void | OnWorldSurfaceScaleUpdated () |
virtual void | WorldSurfaceScaleUpdated () |
virtual void | OnVisibilityUpdated () |
virtual void | VisibilityUpdated () |
virtual void | OnCompositeOpacityUpdated () |
virtual void | CompositeOpacityUpdated () |
virtual void | OnWorldBoundingBoxUpdated () |
virtual void | OnLocalBoundingBoxUpdated () |
virtual void | LocalBoundingBoxUpdated () |
virtual void | OnChildAdded (CYISceneNode *pChild) |
virtual void | OnChildRemoved (CYISceneNode *pChild) |
virtual void | OnSizeChanged () |
virtual void | OnChildVisibilityChanged (CYISceneNode *pChild) |
virtual void | OnDrawOrderChanged () |
LayoutDirtyFlag | GetCurrentLayoutDirtyFlag () const |
virtual CYIString | GetDumpTreeString () const |
void | DumpTree (int32_t indentLevel) const |
virtual void | SetCustomUniforms () |
template<class T > | |
void | SetNodeType () |
virtual CYISceneNode * | GetNodeFromChildren (CYIStringView name) |
virtual CYISceneNode * | GetNodeFromChildren (const int32_t id) |
virtual CYISceneNode * | GetNodeFromChildren (const CYIRuntimeTypeInfo &enforceClassType) |
CYISceneNode * | GetNodeFromChildrenAfterTarget (const CYIRuntimeTypeInfo &enforceClassType, bool *pTargetReached, CYISceneNode *pStartAfterTarget) |
![]() | |
bool | m_stopEventPropagation |
bool | m_responsiveLayoutEnabled |
bool | m_sceneTreeBuilt |
bool | m_inAnimatedPosition |
CYISceneNode * | m_pClippingNode |
CYIAbstractTimeline * | m_pFocusInTimeline |
CYIAbstractTimeline * | m_pFocusOutTimeline |
std::unique_ptr< CYILayout > | m_pLayout |
std::shared_ptr< CYIAssetViewTemplate > | m_pAssetViewTemplate |
std::shared_ptr< CYISceneNodeProxy > | m_pInitiallyFocusedView |
InitialFocusLifetime | m_initialFocusLifetime |
std::multimap< EYIAnchorType, YI_ANCHOR_DATA > | m_anchors |
std::map< CYIString, std::unique_ptr< CYITimeline >, std::less< void > > | m_timelines |
std::map< CYIString, std::unique_ptr< CYIParallelTimelineGroup >, std::less< void > > | m_timelineGroups |
std::map< CYIString, std::unique_ptr< CYIAbstractTimeline >, std::less< void > > | m_externalTimelines |
![]() | |
CYIString | m_name |
CYISceneNode * | m_pParent |
CYISceneNode * | m_pDrawParent |
std::vector< std::unique_ptr< CYISceneNode > > | m_children |
std::vector< CYISceneNode * > | m_drawChildren |
std::map< CYIString, CYIString, std::less< void > > | m_Properties |
std::vector< std::shared_ptr< CYIEffect > > | m_Effects |
std::vector< std::unique_ptr< PropertyAnimation > > | m_propertyAnimations |
float | m_localOpacity |
std::unique_ptr< CYITransform > | m_pTransform |
glm::vec3 | m_size |
glm::vec3 | m_initialSize |
glm::vec3 | m_measuredSize |
glm::vec3 | m_vlsLastCollision |
bool | m_clip |
bool | m_localVisibility |
int32_t | m_id |
uint64_t | m_guid |
std::unique_ptr< CYINPatch > | m_pNPatch |
std::shared_ptr< CYIBitmap > | m_pNPatchBitmap |
std::shared_ptr< CYIRenderable > | m_pRenderable |
![]() | |
std::vector< EventListenerEntry > | m_listeners |
SpecialEventTargetType | m_specialTypes |
std::shared_ptr< CYIEventTargetProxy > | m_pEventTargetProxy |
![]() | |
bool | m_enableEvents |
|
strong |
Options that can be used to specify if and how focus is assigned when entering this subtree.
CYIFocusZoneView::CYIFocusZoneView | ( | ) |
|
virtual |
void CYIFocusZoneView::ClearLastFocus | ( | ) |
Clears the internal state tracking the last descendant with focus.
|
overridevirtual |
Returns true if this node contains any descendants which can receive focus.
The default implementation returns true if CYISceneManager::CanBeFocused() returns true for any descendant and if those descendants are valid candidates according to options.
Reimplemented from CYISceneView.
|
overridevirtual |
Focus handlers must override this function to perform focus searches in their descendants. Returns the next view to recieve focus or null if there are none in direction. screenSpaceFocusRegion will usually correspond to CYIFocus::GetScreenSpaceFocusRegion(pCurrentFocusView) but implementations may modify screenSpaceBoundingBox in order to hint that future focus searches should be performed with that modified bounding box.
options can be used to further restrict the set of valid focus candidates.
Reimplemented from CYISceneView.
|
overridevirtual |
Called when focus has changed within this tree. This function is called only if focus was previously within this tree and focus is now on a different node (but still within this tree).
Reimplemented from CYISceneNode.
|
overridevirtual |
Called when focus has entered this tree.
Reimplemented from CYISceneView.
EntryMode CYIFocusZoneView::GetEntryMode | ( | ) | const |
Returns the current focus entry mode for this focus zone view.
|
overridevirtual |
Returns true to indicate that this view handles focus in its descendants.
Reimplemented from CYISceneView.
|
overridevirtual |
Initializes the view and all of its content. Subclasses must call CYISceneView::Init().
Reimplemented from CYISceneView.
|
overridevirtual |
By default, assigns focus to this view if it is focusable. If it is not focusable, performs a focus search within this view.
focusRootRule dictates whether the focus system will allow the focus request to a view outside of the current focus root.
This function can be overridden to change focus traversal. A custom search may be performed as long as the function returns true if a view has been found, and RequestFocus() has been called on the found view. options can be used to further restrict the set of valid focus candidates. When overriding this function make sure to call TryRequestFocusOnInitiallyFocusedView() to preserve the SetInitiallyFocusedView() functionality.
Reimplemented from CYISceneView.
void CYIFocusZoneView::SetEntryMode | ( | EntryMode | entryMode | ) |
Specifies the entryMode for this focus zone view. The default mode is CYIFocusZoneView::EntryMode::RestoreLastFocus.
|
overridevirtual |
Sets view that will receive initial focus when focus enters this containing view. Setting an initial focus view causes this view to become a focus handler. The initially focused view can be cleared by passing nullptr into this function.
If initialFocusLifetime is CYISceneView::InitialFocusLifetime::ClearOnEntry, the initially focused view will be reset the next time focus enters this subtree. Note that the initially focused view can be cleared even if it does not recieve focus.
Reimplemented from CYISceneView.