CYIPlatformView is a specialized view which combines the uses of an engine view (created through view templates) and a native platform view. This allows users to better integrate native platform views with applications created by You.i Engine. The user can also use values and timelines taken from view templates to position or animate the native platform view.
CYIPlatformView is a view created by the engine through view templates. Once the CYIPlatformView is initialized, the user must then externally create the native platform view by calling CYIPlatfromProxyView::CreateIfSupported() and set the proxy onto the CYIPlatformView. This will allow users to display and interact with the native platform view on their applications. The position and bounds of the native view will be set to the size of the CYIPlatformView provided by its view template. The CYIPlatformView supports programatically swapping out the CYIPlatformViewProxy at any time.
The values provided by CYIPlatformView::PRESENTATION_RULE below will affect how the CYIPlatformView behaves and displays in certain scenarios. The default value used by the CYIPlatformView will be PRESENT_AUTO, which automatically switches the view to rendering as a texture or rendering live depending on the context it is used in. PRESENT_AS_TEXTURE will be used when the CYIPlatformView is animating or moving and PRESENT_LIVE will be used when the view remains static.
The CYIPlatformView supports translation, scale and rotation animations. The view can be animated like any other CYISceneView.
- Warning
- PRESENT_LIVE does not support rotation and perspective based animations.
-
It is recommended to use PRESENT_AUTO for CYIPlatformViews as this will automatically handle different scenarios in the most resource efficient way possible.
|
| | CYIPlatformView () |
| |
| virtual | ~CYIPlatformView () |
| |
| virtual bool | Init () override |
| |
| void | SetViewProxy (CYIPlatformViewProxy *pViewProxy) |
| |
| void | SetPresentationRule (PRESENTATION_RULE ePresentationRule) |
| |
| PRESENTATION_RULE | GetPresentationRule () const |
| |
| | CYISceneView () |
| |
| virtual | ~CYISceneView () |
| |
| bool | BuildFromTemplate (CYISceneManager *pSceneManager, const std::shared_ptr< CYIAssetViewTemplate > &pAssetViewTemplate, CYISceneManager::MISSING_CLASS_HANDLING_MODE eMissingHandlingMode=CYISceneManager::ABORT) |
| |
| bool | IsInitialized () const |
| |
| void | SetClippingAreaNode (CYISceneNode *pClippingNode) |
| |
| virtual bool | GetProperty (const CYIString &propertyName, CYIString *pValue) const override |
| |
| void | EnableDefaultHitZone () |
| |
| bool | IsResponsiveLayoutEnabled () const |
| |
| void | EnableResponsiveLayout () |
| |
| void | DisableResponsiveLayout () |
| |
| void | AddAnchor (YI_ANCHOR_TYPE anchorType) |
| |
| YI_ANCHOR_DATA | GetAnchor (YI_ANCHOR_TYPE anchorType) const |
| |
| virtual const CYISceneView::AssetRequirement * | GetAssetRequirements (uint32_t *pRequirementCount) |
| |
| CYIAbstractTimeline * | GetInTimeline () const |
| |
| CYIAbstractTimeline * | GetOutTimeline () const |
| |
| CYIAbstractTimeline * | GetFocusInTimeline () const |
| |
| CYIAbstractTimeline * | GetFocusOutTimeline () const |
| |
| virtual bool | HandlesFocusInDescendants () const |
| |
| virtual bool | RequestFocus (CYIFocus::FOCUS_DIRECTION eDirection=CYIFocus::FOCUS_FORWARD, CYIFocus::FOCUS_ROOT_RULE eFocusRootRule=CYIFocus::FOCUS_ROOT_DESCENDANTS_UPDATE_CONTEXT, const CYIAABB &previousFocusRect=CYIAABB(), const CYIFocusSearchOptions &options=CYIFocusSearchOptions()) |
| |
| bool | HasFocus () const |
| |
| void | SetFocusable (bool bFocusable) |
| |
| bool | IsFocusable () const |
| |
| bool | CanBeFocused () const |
| |
| void | SetNextFocus (CYISceneView *pView, CYIFocus::FOCUS_DIRECTION eDirection) |
| |
| CYISceneView * | GetNextFocus (CYIFocus::FOCUS_DIRECTION eDirection) const |
| |
| void | SetInitiallyFocusedView (CYISceneView *pView) |
| |
| CYISceneView * | GetInitiallyFocusedView () const |
| |
| CYISceneView * | FindNextFocus (CYIFocus::FOCUS_DIRECTION eDirection, const CYIFocusSearchOptions &options=CYIFocusSearchOptions()) const |
| |
| CYISceneView * | FindNextFocus (CYIFocus::FOCUS_DIRECTION eDirection, CYIAABB &screenSpaceFocusRegion, const CYIFocusSearchOptions &options=CYIFocusSearchOptions()) const |
| |
| virtual CYISceneView * | FindNextFocusInDescendants (const CYISceneView *pCurrentFocusView, CYIFocus::FOCUS_DIRECTION eDirection, 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 () |
| |
| virtual CYIAbstractTimeline * | GetTimeline (const CYIString &rMarkerName, TIMELINE_GET_MODE eMode=GET_DEFAULT) |
| |
| CYIAbstractTimeline * | GetTimeline (CYIMarkerData::MARKER_ID eID, TIMELINE_GET_MODE eMode=GET_DEFAULT) |
| |
| std::map< CYIString, CYITimeline * > | GetTimelines () const |
| |
| bool | FindTimeline (CYIAbstractTimeline *&pTimeline, const CYIString &markerName, FETCH_TYPE eType, const CYIString &tag="", TIMELINE_GET_MODE eMode=GET_DEFAULT) |
| |
| CYITimelineGroup * | GetTimelineGroup (const CYIString &markerName) |
| |
| std::unique_ptr< CYITimelineGroup > | BuildTimelineGroup (const CYIString &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 |
| |
| virtual void | BuildDrawList (std::vector< IYIRenderer::Command > &children, CYIAbstractCameraSceneNode *pCameraToDrawWith=nullptr) override |
| |
| | CYISceneNode () |
| |
| virtual | ~CYISceneNode () |
| |
| void | ForceDirty () |
| |
| void | ClearDirtyFlag () |
| |
| void | SetDirtyFlag (DirtyFlag eDirtyFlag) |
| |
| 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 nID) |
| |
| uint64_t | GetUniqueID () const |
| |
| bool | AddChild (std::unique_ptr< CYISceneNode > pSceneNode) |
| |
| bool | AddChild (std::unique_ptr< CYISceneNode >, int32_t nIndex) |
| |
| bool | InsertChildAfter (CYISceneNode *pRefNode, std::unique_ptr< CYISceneNode > pSceneNode) |
| |
| std::unique_ptr< CYISceneNode > | RemoveChild (CYISceneNode *pSceneNode) |
| |
| bool | ReorderChild (uint32_t uFromIndex, uint32_t uToIndex) |
| |
| CYISceneNode * | GetParent () const |
| |
| bool | ChangeParent (CYISceneNode *pParent) |
| |
| CYISceneNode * | GetDrawParent () const |
| |
| bool | IsAncestorOf (const CYISceneNode *pNode) const |
| |
| CYISceneManager * | GetSceneManager () const |
| |
| uint32_t | GetChildCount () const |
| |
| uint32_t | GetChildCountRecursive () const |
| |
| CYISceneNode * | GetChild (uint32_t nIndex) const |
| |
| Iterator | begin (Iterator::ITERATION_MODE eMode=Iterator::IMMEDIATE_CHILDREN) const |
| |
| Iterator | end (Iterator::ITERATION_MODE eMode=Iterator::IMMEDIATE_CHILDREN) const |
| |
| ReverseIterator | rbegin (Iterator::ITERATION_MODE eMode=Iterator::IMMEDIATE_CHILDREN) const |
| |
| ReverseIterator | rend (Iterator::ITERATION_MODE eMode=Iterator::IMMEDIATE_CHILDREN) const |
| |
| CYISceneNode * | GetChild (const CYIString &sName) const |
| |
| uint32_t | GetDrawChildCount () const |
| |
| CYISceneNode * | GetDrawChild (uint32_t uIndex) const |
| |
| CYISceneNode * | GetDrawChildByID (int32_t nID) const |
| |
| template<class YI_SCENE_NODE_SUBCLASS > |
| YI_SCENE_NODE_SUBCLASS * | GetChild (uint32_t uTargetMatchedNodeCount=1) const |
| |
| template<class YI_SCENE_NODE_SUBCLASS > |
| std::list< YI_SCENE_NODE_SUBCLASS * > | GetChildren () const |
| |
| int32_t | GetIndexOfChild (const CYISceneNode *pSceneNode) const |
| |
| void | Show () |
| |
| void | Hide () |
| |
| void | SetVisibility (bool bVisible) |
| |
| void | SetOpacity (float fOpacity) |
| |
| float | GetCompositeOpacity () const |
| |
| float | GetLocalOpacity () const |
| |
| bool | IsVisible () const |
| |
| bool | IsTrulyVisible () const |
| |
| CYISceneNode * | GetNode (const CYIString &name) |
| |
| CYISceneNode * | GetNode (const CYIString &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 (const CYIString &name) |
| |
| CYISceneNode * | GetNode (const int32_t nID) |
| |
| CYISceneNode * | GetNode (const int32_t nID, const CYIRuntimeTypeInfo &enforceClassType) |
| |
| template<class YI_SCENE_NODE_SUBCLASS > |
| bool | FindNode (YI_SCENE_NODE_SUBCLASS *&pNode, const CYIString &nodeName, FETCH_TYPE eType, const CYIString &tag) |
| |
| std::list< CYISceneNode * > | GetNodes (const CYIString &name) |
| |
| std::list< CYISceneNode * > | GetNodes (int32_t nID) |
| |
| std::list< CYISceneNode * > | GetNodes (const CYIRuntimeTypeInfo &enforceClassType) |
| |
| template<class YI_SCENE_NODE_SUBCLASS > |
| const YI_SCENE_NODE_SUBCLASS * | GetNode (uint32_t uTargetMatchedNodeCount=1) const |
| |
| template<class YI_SCENE_NODE_SUBCLASS > |
| YI_SCENE_NODE_SUBCLASS * | GetNode (uint32_t uTargetMatchedNodeCount=1) |
| |
| void | SetMesh (const std::shared_ptr< CYIMesh > &pMesh) |
| |
| void | SetMaterial (const std::shared_ptr< CYIMaterial > &pMaterial, uint32_t nIndex=0) |
| |
| void | AddEffect (const std::shared_ptr< CYIEffect > &pEffect) |
| |
| void | RemoveEffect (const std::shared_ptr< CYIEffect > &pEffect) |
| |
| uint32_t | GetEffectCount () const |
| |
| std::shared_ptr< CYIEffect > | GetEffect (uint32_t uIndex) const |
| |
| void | ConnectEffectsToTimelines (const CYITimelineTrack *pTrack) |
| |
| void | AddMask (std::unique_ptr< CYIMask > pMask) |
| |
| std::unique_ptr< CYIMask > | RemoveMask (const CYIMask *pMask) |
| |
| uint32_t | GetMaskCount () const |
| |
| const CYIMask * | GetMask (uint32_t uIndex) const |
| |
| CYIMask * | GetMask (uint32_t uIndex) |
| |
| const std::shared_ptr< CYIMesh > & | GetMesh () const |
| |
| uint32_t | GetMaterialCount () const |
| |
| const std::shared_ptr< CYIMaterial > | GetMaterial (uint32_t nIndex=0) const |
| |
| const std::shared_ptr< IYIUniformBufferObject > & | GetShaderUniforms () const |
| |
| void | SetMeshTransform (const glm::mat4 &rTransform) |
| |
| void | DestroyChildren () |
| |
| const glm::mat4 & | GetLocalTransform () const |
| |
| const glm::mat4 & | GetEffectTransform () const |
| |
| 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 |
| |
| const CYIAABB & | GetWorldAABB () const |
| |
| const CYIAABB & | GetLocalAABB () const |
| |
| void | SetAnchorPoint (const glm::vec3 &ref) |
| |
| void | SetAnchorPoint (float fX, float fY, float fZ) |
| |
| void | SetAnchorPointX (float fX) |
| |
| void | SetAnchorPointY (float fY) |
| |
| void | SetAnchorPointZ (float fZ) |
| |
| void | SetPosition (const glm::vec3 &ref) |
| |
| void | SetPosition (float fX, float fY, float fZ) |
| |
| void | SetPositionX (float fX) |
| |
| void | SetPositionY (float fY) |
| |
| void | SetPositionZ (float fZ) |
| |
| void | SetRotation (const glm::vec3 &fEulerDegrees) |
| |
| void | SetRotation (float fPitchDegrees, float fYawDegrees, float fRollDegrees) |
| |
| void | SetRotationX (float fPitchDegrees) |
| |
| void | SetRotationY (float fYawDegrees) |
| |
| void | SetRotationZ (float fRollDegrees) |
| |
| void | SetOrientation (float fPitchDegrees, float fYawDegrees, float fRollDegrees) |
| |
| void | SetOrientation (const glm::quat &orient) |
| |
| void | SetScale (const glm::vec3 &fScaleFactors) |
| |
| void | SetScale (float fFactorX, float fFactorY, float fFactorZ) |
| |
| void | SetScaleX (float fFactor) |
| |
| void | SetScaleY (float fFactor) |
| |
| void | SetScaleZ (float fFactor) |
| |
| 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 &vSize, bool bDirtyLayout=true) |
| |
| const glm::vec3 & | GetSize () const |
| |
| const glm::vec3 & | GetInitialSize () const |
| |
| void | SetMeasuredSize (const glm::vec3 &vMeasuredSize) |
| |
| const glm::vec3 & | GetMeasuredSize () const |
| |
| void | SetInternalCustomTimelineValue (uint32_t nTrackID, const CYIVariant &value) |
| |
| virtual void | SetCustomTimelineValue (uint32_t nTrackID, const CYIVariant &value) |
| |
| void | SetClippingOn () |
| |
| void | SetClippingOff () |
| |
| bool | GetClipping () const |
| |
| void | SetClippingBox (const CYIAABB &rWorldBox) |
| |
| const CYIAABB & | GetClippingBox () const |
| |
| void | StartPropertyAnimation (YI_NODE_PROPERTY_TYPE ePropType, float fFrom, float fTo, uint32_t nDurMs, CYITimeInterpolator *pTimeInterpolator=nullptr, bool bDirtyLayout=true) |
| |
| void | StopPropertyAnimation (YI_NODE_PROPERTY_TYPE ePropType) |
| |
| 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 &rWorldSpaceRay) const |
| |
| bool | IsMeshHit (const CYIRay &rWorldSpaceRay) const |
| |
| void | DumpTree () const |
| |
| void | StartCaptureKeyboardEvents () |
| |
| void | StopCaptureKeyboardEvents () |
| |
| void | StartCaptureTrackpadEvents () |
| |
| void | StopCaptureTrackpadEvents () |
| |
| void | StartCapturePointerEvents (uint8_t uPointerID) |
| |
| void | StopCapturePointerEvents (uint8_t uPointerID) |
| |
| bool | DrawBehindChildren (CYISceneNode *pSceneNode) |
| |
| bool | DrawInFrontOfChildren (CYISceneNode *pSceneNode) |
| |
| bool | DrawBehind (CYISceneNode *pSceneNode) |
| |
| bool | DrawInFront (CYISceneNode *pSceneNode) |
| |
| bool | IsFocusRoot () const |
| |
| void | SetIsFocusRoot (bool bIsFocusRoot) |
| |
| virtual void | OnFocusGainedInDescendants () |
| |
| virtual void | FocusGainedInDescendants () |
| |
| virtual void | OnFocusLostInDescendants () |
| |
| virtual void | FocusLostInDescendants () |
| |
| virtual void | OnFocusChangedInDescendants () |
| |
| virtual void | FocusChangedInDescendants () |
| |
| virtual bool | ContainsFocusableDescendant (const CYIFocusSearchOptions &options=CYIFocusSearchOptions()) const |
| |
| void | ShowPointerDebugNode (CYIActionEvent *pActionEvent) |
| |
| void | SetUseLocalTransformAndAlpha (bool bUse) |
| |
| virtual const std::map< CYIString, CYIString > & | GetProperties () const override |
| |
| void | SetProperty (const CYIString &rPropertyName, const CYIString &rPropertyValue) |
| |
| const std::shared_ptr< CYISceneNodeProxy > & | GetSceneNodeProxy () const |
| |
| void | SetLayoutConfig (std::unique_ptr< CYILayoutConfig > pLayoutConfig) |
| |
| const CYILayoutConfig * | GetLayoutConfig (LayoutConfigFetchMode eFetchMode=LAYOUT_CONFIG_LAZY_INSTANTIATE) const |
| |
| CYILayoutConfig * | GetLayoutConfig (LayoutConfigFetchMode eFetchMode=LAYOUT_CONFIG_LAZY_INSTANTIATE) |
| |
| void | SetLayoutState (std::unique_ptr< CYILayoutState > pLayoutState) |
| |
| const CYILayoutState * | GetLayoutState () const |
| |
| CYILayoutState * | GetLayoutState () |
| |
| void | RequestLayout () |
| |
| LayoutDirtyFlag | GetLayoutDirtyFlag () const |
| |
| virtual void | SetLayoutDirtyFlag (LayoutDirtyFlag eFlag) |
| |
| CYIAbstractCameraSceneNode * | FindActiveCamera () const |
| |
| template<typename T > |
| bool | CanCastTo () const |
| |
| | CYIEventTarget () |
| |
| virtual | ~CYIEventTarget () |
| |
| bool | AddEventListener (YI_EVENT_TYPE eEventType, CYIEventHandler *pListener, EVENT_PHASE ePhase=BUBBLE) |
| |
| bool | RemoveEventListener (YI_EVENT_TYPE eEventType, CYIEventHandler *pListener, EVENT_PHASE ePhase=BUBBLE) |
| |
| void | SetSpecialTypeFlag (YI_SPECIAL_EVENT_TARGET_TYPE eType) |
| |
| void | ClearSpecialTypeFlag (YI_SPECIAL_EVENT_TARGET_TYPE eType) |
| |
| YI_SPECIAL_EVENT_TARGET_TYPE | GetSpecialTypes () const |
| |
| | CYIScriptableRTTIObject () |
| |
| virtual | ~CYIScriptableRTTIObject () |
| |
| virtual const CYIRuntimeTypeInfo * | GetRuntimeTypeInfoForScriptObject () const override |
| |
| | CYIScriptableObject () |
| |
| | CYIScriptableObject (const CYIScriptableObject &other) |
| |
| CYIScriptableObject & | operator= (const CYIScriptableObject &other) |
| |
| virtual | ~CYIScriptableObject () |
| |
| CYIBindingImplementation * | GetBindingImplementation () const |
| |
| void | SetBindingImplementation (CYIBindingImplementation *pBindingImplementation) |
| |
Public Member Functions inherited from CYISignalHandler |
| | CYISignalHandler () |
| |
| | CYISignalHandler (const CYISignalHandler &rSignalHandler) |
| |
| virtual | ~CYISignalHandler () |
| |
| CYISignalHandler & | operator= (const CYISignalHandler &rSignalHandler) |
| |
| 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 &rThreadAffinity) |
| |
| virtual bool | IsConnected () const |
| |
| virtual bool | IsConnected (const CYISignalBase &rSignal) const |
| |
| void | Disconnect (CYISignalBase &rSignal) |
| |
| void | DisconnectFromAllSignals () |
| |
| | Listener () |
| |
| virtual | ~Listener () |
| |
| virtual void | OnThreadStarted (CYIThread *) |
| |
| virtual void | OnThreadTerminated (CYIThread *) |
| |
| virtual void | OnThreadFinished (CYIThread *) |
| |
| virtual | ~IYIPropertiesSource () |
| |
Public Member Functions inherited from CYIEventHandler |
| | 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 bEnable) |
| |