+ /**
+ * @brief Get the Scene scene graph object
+ *
+ * @return the Scene scene graph object
+ */
+ SceneGraph::Scene* GetSceneObject() const;
+
+ /**
+ * Notify the surface has been rotated.
+ * When the device is rotated or the rotation event is received by display manager,
+ * this function will be called by window implementation.
+ *
+ * @param[in] width The width of rotated surface
+ * @param[in] height The height 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 windowOrientation, int32_t screenOrientation);
+
+ /**
+ * @copydoc Dali::Integration::Scene::SetRotationCompletedAcknowledgement
+ */
+ void SetRotationCompletedAcknowledgement();
+
+ /**
+ * @copydoc Dali::Integration::Scene::IsRotationCompletedAcknowledgementSet
+ */
+ bool IsRotationCompletedAcknowledgementSet() const;
+
+ /**
+ * @copydoc Dali::Integration::Scene::GetCurrentSurfaceOrientation
+ */
+ int32_t GetCurrentSurfaceOrientation() const;
+
+ /**
+ * @copydoc Dali::Integration::Scene::GetCurrentScreenOrientation
+ */
+ int32_t GetCurrentScreenOrientation() const;
+
+ /**
+ * @copydoc Dali::Integration::Scene::GetCurrentSurfaceRect
+ */
+ const Rect<int32_t>& GetCurrentSurfaceRect() const;
+
+ /**
+ * @copydoc Dali::Integration::Scene::IsSurfaceRectChanged
+ */
+ bool IsSurfaceRectChanged() const;
+
+ /**
+ * @copydoc Dali::Integration::Scene::SetSurfaceRenderTarget
+ */
+ void SetSurfaceRenderTarget(const Graphics::RenderTargetCreateInfo& renderTargetCreateInfo);
+
+ /**
+ * Used by the EventProcessor to emit key event signals.
+ * @param[in] event The key event.
+ */
+ void EmitKeyEventSignal(const Dali::KeyEvent& event);
+
+ /**
+ * Used by the KeyEventProcessor to emit KeyEventGenerated signals.
+ * @param[in] event The key event.
+ * @return The return is true if KeyEvent is consumed, otherwise false.
+ */
+ 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()
+ */
+ void EmitEventProcessingFinishedSignal();
+
+ /**
+ * Emits the touched signal.
+ * @param[in] touch The touch event details.
+ */
+ void EmitTouchedSignal(const Dali::TouchEvent& touch);
+
+ /**
+ * Used by the EventProcessor to emit wheel event signals.
+ * @param[in] event The wheel event.
+ */
+ 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<CallbackBase> callback, int32_t frameId);
+
+ /**
+ * @copydoc Dali::Integration::Scene::AddFramePresentedCallback
+ */
+ void AddFramePresentedCallback(std::unique_ptr<CallbackBase> callback, int32_t frameId);