X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fevent%2Fcommon%2Fscene-impl.h;h=fbf22b22ec72830580e9858b5bce7f29bfd3c532;hb=88c1c51dbb35f2bf266476d49d6497c8ee17d74a;hp=f9db963bf7b9ecaf3b3d68a9cfb61c6bbe5b0ee8;hpb=a7328776c721b50f9020ccc6e90d0ce0985d6c5b;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 f9db963..fbf22b2 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) 2019 Samsung Electronics Co., Ltd. + * Copyright (c) 2020 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. @@ -23,7 +23,6 @@ #include #include #include -#include #include #include #include @@ -35,13 +34,18 @@ namespace Dali namespace Integration { -class Event; +struct Event; } namespace Internal { +namespace SceneGraph +{ +class Scene; +} + class EventProcessor; class Layer; class LayerList; @@ -62,7 +66,7 @@ public: /** * @copydoc Dali::Integration::Scene::New */ - static ScenePtr New( Integration::RenderSurface& surface ); + static ScenePtr New( Size size ); /** * virtual destructor @@ -115,19 +119,17 @@ public: Dali::Layer GetLayer(uint32_t depth) const; /** - * @copydoc Dali::Integration::Scene::SetSurface - */ - void SetSurface( Integration::RenderSurface& surface ); - - /** * Notify the surface has been resized. + * + * @param[in] width The new width of the set surface + * @param[in] height The new height of the set surface */ - void SurfaceResized(); + void SurfaceResized( float width, float height ); /** - * Notify the surface has been deleted. + * @copydoc Dali::Integration::Scene::SurfaceReplaced */ - void SurfaceDeleted(); + void SurfaceReplaced(); /** * @copydoc Dali::Integration::Scene::Discard @@ -135,12 +137,6 @@ public: void Discard(); /** - * Retrieve the render surface the scene is binded to. - * @return The render surface. - */ - Integration::RenderSurface* GetSurface() const; - - /** * Retrieve the ordered list of on-scene layers. * @return The layer-list. */ @@ -181,6 +177,13 @@ public: Vector4 GetBackgroundColor() const; /** + * @brief Get the Scene scene graph object + * + * @return the Scene scene graph object + */ + SceneGraph::Scene* GetSceneObject() const; + + /** * Used by the EventProcessor to emit key event signals. * @param[in] event The key event. */ @@ -214,6 +217,26 @@ public: void EmitWheelEventSignal( const 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 ); + + /** + * @copydoc Dali::Integration::Scene::GetFrameRenderedCallback + */ + void GetFrameRenderedCallback( Dali::Integration::Scene::FrameCallbackContainer& callbacks ); + + /** + * @copydoc Dali::Integration::Scene::GetFramePresentedCallback + */ + void GetFramePresentedCallback( Dali::Integration::Scene::FrameCallbackContainer& callbacks ); + + /** * @copydoc Integration::Scene::KeyEventSignal() */ Integration::Scene::KeyEventSignalType& KeyEventSignal(); @@ -267,8 +290,10 @@ private: /** * Second-phase constructor. + * + * @param[in] size The size of the set surface */ - void Initialize( Integration::RenderSurface& surface ); + void Initialize( Size size ); // Undefined Scene(const Scene&) = delete; @@ -277,7 +302,7 @@ private: Scene& operator=(const Scene& rhs) = delete; private: - Integration::RenderSurface* mSurface; + Internal::SceneGraph::Scene* mSceneObject; Size mSize; @@ -295,9 +320,6 @@ private: // The list of render-tasks IntrusivePtr mRenderTaskList; - // The frame buffer - FrameBufferPtr mFrameBuffer; - bool mDepthTreeDirty:1; ///< True if the depth tree needs recalculating EventProcessor mEventProcessor;