From: Sunghyun Kim Date: Wed, 23 Sep 2020 02:03:32 +0000 (+0900) Subject: [Tizen] Add New API of Scene with screen orientation X-Git-Tag: accepted/tizen/unified/20200924.072521^0 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-core.git;a=commitdiff_plain;h=ad6d388c8a19b63b415e131d5c829d0a4fdd65c7 [Tizen] Add New API of Scene with screen orientation This reverts commit 10f849e9fbe1cf41b16ff731555f6da17164c864. Change-Id: I009c065bd54f6cd20619972e0ca154eec061b0a6 --- diff --git a/dali/integration-api/scene.cpp b/dali/integration-api/scene.cpp index 192ad2e..2675ba5 100644 --- a/dali/integration-api/scene.cpp +++ b/dali/integration-api/scene.cpp @@ -33,6 +33,12 @@ Scene Scene::New(Size size) return Scene(internal.Get()); } +Scene Scene::New(Size size, int orientation) +{ + Internal::ScenePtr internal = Internal::Scene::New(size, orientation); + return Scene(internal.Get()); +} + Scene Scene::DownCast(BaseHandle handle) { return Scene(dynamic_cast(handle.GetObjectPtr())); diff --git a/dali/integration-api/scene.h b/dali/integration-api/scene.h index c663e67..1f6a60a 100644 --- a/dali/integration-api/scene.h +++ b/dali/integration-api/scene.h @@ -72,6 +72,16 @@ public: static Scene New(Size size); /** + * @brief Create an initialized Scene handle. + * + * @param[in] size The size of the set surface for this scene + * @param[in] orientation The orientation of the set surface for this scene + * + * @return a handle to a newly allocated Dali resource. + */ + static Scene New( Size size, int orientation ); + + /** * @brief Downcast an Object handle to Scene handle. * * If handle points to a Scene object the downcast produces diff --git a/dali/internal/event/common/scene-impl.cpp b/dali/internal/event/common/scene-impl.cpp index 45bda4d..208c1f7 100755 --- a/dali/internal/event/common/scene-impl.cpp +++ b/dali/internal/event/common/scene-impl.cpp @@ -48,7 +48,17 @@ ScenePtr Scene::New( Size size ) ScenePtr scene = new Scene; // Second-phase construction - scene->Initialize( size ); + scene->Initialize( size, 0 ); + + return scene; +} + +ScenePtr Scene::New( Size size, int orientation ) +{ + ScenePtr scene = new Scene; + + // Second-phase construction + scene->Initialize( size, orientation ); return scene; } @@ -95,7 +105,7 @@ Scene::~Scene() // When this destructor is called, the scene has either already been removed from Core or Core has already been destroyed } -void Scene::Initialize( Size size ) +void Scene::Initialize( Size size, int orientation ) { ThreadLocalStorage* tls = ThreadLocalStorage::GetInternal(); @@ -131,6 +141,7 @@ void Scene::Initialize( Size size ) // Create the default render-task and ensure clear is enabled on it to show the background color RenderTaskPtr renderTask = mRenderTaskList->CreateTask( mRootLayer.Get(), mDefaultCamera.Get() ); renderTask->SetClearEnabled(true); + mSurfaceOrientation = orientation; SurfaceResized( size.width, size.height, mSurfaceOrientation, false ); diff --git a/dali/internal/event/common/scene-impl.h b/dali/internal/event/common/scene-impl.h index 6597ddc..c84d4c6 100755 --- a/dali/internal/event/common/scene-impl.h +++ b/dali/internal/event/common/scene-impl.h @@ -117,6 +117,11 @@ public: static ScenePtr New( Size size ); /** + * @copydoc Dali::Integration::Scene::New + */ + static ScenePtr New( Size size, int orientation ); + + /** * virtual destructor */ ~Scene() override; @@ -340,8 +345,9 @@ 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 */ - void Initialize( Size size ); + void Initialize( Size size, int orientation ); // Undefined Scene(const Scene&) = delete;