Add Overlay Layer in scene
[platform/core/uifw/dali-core.git] / dali / integration-api / scene.cpp
index bbe1139..5eedf5c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2020 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.
 // CLASS HEADER
 #include <dali/integration-api/scene.h>
 
-// INTERNAL INCLUDES
-#include <dali/internal/event/common/scene-impl.h>
+// EXTERNAL INCLUDES
+#include <dali/graphics-api/graphics-render-target.h>
 #include <dali/public-api/actors/layer.h>
 #include <dali/public-api/render-tasks/render-task-list.h>
 
+// INTERNAL INCLUDES
+#include <dali/internal/event/common/scene-impl.h>
+
 namespace Dali
 {
 namespace Integration
 {
-Scene Scene::New(Size size, int orientation)
+Scene Scene::New(Size size, int32_t windowOrientation, int32_t screenOrientation)
 {
-  Internal::ScenePtr internal = Internal::Scene::New(size, orientation);
+  Internal::ScenePtr internal = Internal::Scene::New(size, windowOrientation, screenOrientation);
   return Scene(internal.Get());
 }
 
@@ -44,13 +47,17 @@ Scene::~Scene() = default;
 
 Scene::Scene(const Scene& handle) = default;
 
+Scene& Scene::operator=(const Scene& rhs) = default;
+
+Scene::Scene(Scene&& handle) = default;
+
+Scene& Scene::operator=(Scene&& rhs) = default;
+
 Scene::Scene(Internal::Scene* internal)
 : BaseHandle(internal)
 {
 }
 
-Scene& Scene::operator=(const Scene& rhs) = default;
-
 void Scene::Add(Actor actor)
 {
   GetImplementation(*this).Add(GetImplementation(actor));
@@ -96,6 +103,11 @@ Layer Scene::GetRootLayer() const
   return GetImplementation(*this).GetRootLayer();
 }
 
+Layer Scene::GetOverlayLayer()
+{
+  return GetImplementation(*this).GetOverlayLayer();
+}
+
 uint32_t Scene::GetLayerCount() const
 {
   return GetImplementation(*this).GetLayerCount();
@@ -121,6 +133,11 @@ void Scene::Discard()
   GetImplementation(*this).Discard();
 }
 
+void Scene::SetSurfaceRenderTarget(const Graphics::RenderTargetCreateInfo& renderTargetCreateInfo)
+{
+  GetImplementation(*this).SetSurfaceRenderTarget(renderTargetCreateInfo);
+}
+
 Integration::Scene Scene::Get(Actor actor)
 {
   return Dali::Integration::Scene(&GetImplementation(actor).GetScene());
@@ -156,9 +173,24 @@ void Scene::GetFramePresentedCallback(FrameCallbackContainer& callbacks)
   GetImplementation(*this).GetFramePresentedCallback(callbacks);
 }
 
-void Scene::SurfaceRotated(float width, float height, int orientation)
+void Scene::SurfaceRotated(float width, float height, int32_t windowOrientation, int32_t screenOrientation)
+{
+  GetImplementation(*this).SurfaceRotated(width, height, windowOrientation, screenOrientation);
+}
+
+int32_t Scene::GetCurrentSurfaceOrientation() const
+{
+  return GetImplementation(*this).GetCurrentSurfaceOrientation();
+}
+
+int32_t Scene::GetCurrentScreenOrientation() const
+{
+  return GetImplementation(*this).GetCurrentScreenOrientation();
+}
+
+const Rect<int32_t>& Scene::GetCurrentSurfaceRect() const
 {
-  GetImplementation(*this).SurfaceRotated(width, height, orientation);
+  return GetImplementation(*this).GetCurrentSurfaceRect();
 }
 
 bool Scene::IsSurfaceRectChanged() const
@@ -166,6 +198,16 @@ bool Scene::IsSurfaceRectChanged() const
   return GetImplementation(*this).IsSurfaceRectChanged();
 }
 
+void Scene::SetRotationCompletedAcknowledgement()
+{
+  GetImplementation(*this).SetRotationCompletedAcknowledgement();
+}
+
+bool Scene::IsRotationCompletedAcknowledgementSet() const
+{
+  return GetImplementation(*this).IsRotationCompletedAcknowledgementSet();
+}
+
 Scene::EventProcessingFinishedSignalType& Scene::EventProcessingFinishedSignal()
 {
   return GetImplementation(*this).EventProcessingFinishedSignal();
@@ -181,6 +223,11 @@ Scene::KeyEventGeneratedSignalType& Scene::KeyEventGeneratedSignal()
   return GetImplementation(*this).KeyEventGeneratedSignal();
 }
 
+Scene::KeyEventGeneratedSignalType& Scene::InterceptKeyEventSignal()
+{
+  return GetImplementation(*this).InterceptKeyEventSignal();
+}
+
 Scene::TouchEventSignalType& Scene::TouchedSignal()
 {
   return GetImplementation(*this).TouchedSignal();
@@ -191,6 +238,11 @@ Scene::WheelEventSignalType& Scene::WheelEventSignal()
   return GetImplementation(*this).WheelEventSignal();
 }
 
+Scene::WheelEventGeneratedSignalType& Scene::WheelEventGeneratedSignal()
+{
+  return GetImplementation(*this).WheelEventGeneratedSignal();
+}
+
 } // namespace Integration
 
 } // namespace Dali