X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fevent%2Fcommon%2Fscene-impl.h;h=cda29a234bcd719f5c00726dce0e1cceb0fc1465;hb=eacc080fe975c523d722dd17c044652317ddd6e8;hp=34ab1a83a53549d853e3ea0220dae3c1778e9eec;hpb=9502baa1298289b85dcf263d723521ce6a400fd6;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/internal/event/common/scene-impl.h b/dali/internal/event/common/scene-impl.h index 34ab1a8..cda29a2 100644 --- a/dali/internal/event/common/scene-impl.h +++ b/dali/internal/event/common/scene-impl.h @@ -2,7 +2,7 @@ #define DALI_INTERNAL_SCENE_H /* - * Copyright (c) 2021 Samsung Electronics Co., Ltd. + * Copyright (c) 2022 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -62,7 +62,7 @@ public: /** * @copydoc Dali::Integration::Scene::New */ - static ScenePtr New(Size size, int32_t orientation = 0); + static ScenePtr New(Size size, int32_t windowOrientation = 0, int32_t screenOrientation = 0); /** * virtual destructor @@ -105,6 +105,11 @@ public: Dali::Layer GetRootLayer() const; /** + * @copydoc Dali::Integration::Scene::GetOverlayLayer + */ + Dali::Layer GetOverlayLayer(); + + /** * @copydoc Dali::Integration::Scene::GetLayerCount */ uint32_t GetLayerCount() const; @@ -186,9 +191,10 @@ public: * * @param[in] width The width of rotated surface * @param[in] height The height of rotated surface - * @param[in] orientation The orientation of rotated surface + * @param[in] windowOrientation the current window orientation + * @param[in] screenOrientation the current screen orientation */ - void SurfaceRotated(float width, float height, int32_t orientation); + void SurfaceRotated(float width, float height, int32_t windowOrientation, int32_t screenOrientation); /** * @copydoc Dali::Integration::Scene::SetRotationCompletedAcknowledgement @@ -206,6 +212,11 @@ public: int32_t GetCurrentSurfaceOrientation() const; /** + * @copydoc Dali::Integration::Scene::GetCurrentScreenOrientation + */ + int32_t GetCurrentScreenOrientation() const; + + /** * @copydoc Dali::Integration::Scene::GetCurrentSurfaceRect */ const Rect& GetCurrentSurfaceRect() const; @@ -218,7 +229,7 @@ public: /** * @copydoc Dali::Integration::Scene::SetSurfaceRenderTarget */ - void SetSurfaceRenderTarget(Graphics::RenderTarget* renderTarget); + void SetSurfaceRenderTarget(const Graphics::RenderTargetCreateInfo& renderTargetCreateInfo); /** * Used by the EventProcessor to emit key event signals. @@ -234,6 +245,13 @@ public: bool EmitKeyEventGeneratedSignal(const Dali::KeyEvent& event); /** + * Used by the KeyEventProcessor to emit InterceptKeyEventSignal signals. + * @param[in] event The key event. + * @return The return is true if KeyEvent is consumed, otherwise false. + */ + bool EmitInterceptKeyEventSignal(const Dali::KeyEvent& event); + + /** * Emits the event processing finished signal. * * @see Dali::Scene::SignalEventProcessingFinished() @@ -253,6 +271,13 @@ public: void EmitWheelEventSignal(const Dali::WheelEvent& event); /** + * Used by the WheelEventProcessor to emit WheelEventGenerated signals. + * @param[in] event The wheel event. + * @return The return is true if WheelEvent is consumed, otherwise false. + */ + bool EmitWheelEventGeneratedSignal(const Dali::WheelEvent& event); + + /** * @copydoc Dali::Integration::Scene::AddFrameRenderedCallback */ void AddFrameRenderedCallback(std::unique_ptr callback, int32_t frameId); @@ -283,6 +308,11 @@ public: Integration::Scene::KeyEventGeneratedSignalType& KeyEventGeneratedSignal(); /** + * @copydoc Integration::Scene::InterceptKeyEventSignal() + */ + Integration::Scene::KeyEventGeneratedSignalType& InterceptKeyEventSignal(); + + /** * @copydoc Integration::Scene::SignalEventProcessingFinished() */ Integration::Scene::EventProcessingFinishedSignalType& EventProcessingFinishedSignal(); @@ -297,6 +327,11 @@ public: */ Integration::Scene::WheelEventSignalType& WheelEventSignal(); + /** + * @copydoc Integration::Scene::WheelEventGeneratedSignal() + */ + Integration::Scene::WheelEventGeneratedSignalType& WheelEventGeneratedSignal(); + public: /** * From RenderTaskDefaults; retrieve the default root actor. @@ -318,9 +353,10 @@ private: * Second-phase constructor. * * @param[in] size The size of the set surface - * @param[in] orientation The orientation of the set surface for this scene + * @param[in] windowOrientation The rotated angle of the set surface for this scene + * @param[in] screenOrientation The rotated angle of the screen */ - void Initialize(Size size, int32_t orientation); + void Initialize(Size size, int32_t windowOrientation, int32_t screenOrientation); // Undefined Scene(const Scene&) = delete; @@ -333,9 +369,10 @@ private: * * @param[in] width The width of rotated surface * @param[in] height The height of rotated surface - * @param[in] orientation The orientation of rotated surface + * @param[in] windowOrientation the current window orientation + * @param[in] screenOrientation the current screen orientation */ - void ChangedSurface(float width, float height, int32_t orientation); + void ChangedSurface(float width, float height, int32_t windowOrientation, int32_t screenOrientation); private: Internal::SceneGraph::Scene* mSceneObject; @@ -348,6 +385,8 @@ private: LayerPtr mRootLayer; + LayerPtr mOverlayLayer; + // Ordered list of currently on-stage layers OwnerPointer mLayerList; @@ -363,9 +402,13 @@ private: // The Surface's orientation int32_t mSurfaceOrientation; + // The Screen's orientation + int32_t mScreenOrientation; + // The key event signal Integration::Scene::KeyEventSignalType mKeyEventSignal; Integration::Scene::KeyEventGeneratedSignalType mKeyEventGeneratedSignal; + Integration::Scene::KeyEventGeneratedSignalType mInterceptKeyEventSignal; // The event processing finished signal Integration::Scene::EventProcessingFinishedSignalType mEventProcessingFinishedSignal; @@ -374,7 +417,8 @@ private: Integration::Scene::TouchEventSignalType mTouchedSignal; // The wheel event signal - Integration::Scene::WheelEventSignalType mWheelEventSignal; + Integration::Scene::WheelEventSignalType mWheelEventSignal; + Integration::Scene::WheelEventGeneratedSignalType mWheelEventGeneratedSignal; }; } // namespace Internal