Add Overlay Layer in scene
[platform/core/uifw/dali-core.git] / dali / integration-api / scene.cpp
index 9d89f31..5eedf5c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 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
+// 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( const Size& size )
+Scene Scene::New(Size size, int32_t windowOrientation, int32_t screenOrientation)
 {
-  Internal::ScenePtr internal = Internal::Scene::New( size );
-  return Scene( internal.Get() );
+  Internal::ScenePtr internal = Internal::Scene::New(size, windowOrientation, screenOrientation);
+  return Scene(internal.Get());
 }
 
-Scene Scene::DownCast( BaseHandle handle )
+Scene Scene::DownCast(BaseHandle handle)
 {
-  return Scene( dynamic_cast<Dali::Internal::Scene*>( handle.GetObjectPtr()) );
+  return Scene(dynamic_cast<Dali::Internal::Scene*>(handle.GetObjectPtr()));
 }
 
-Scene::Scene()
-{
-}
+Scene::Scene() = default;
 
-Scene::~Scene()
-{
-}
+Scene::~Scene() = default;
 
-Scene::Scene( const Scene& handle )
-:BaseHandle(handle)
-{
-}
+Scene::Scene(const Scene& handle) = default;
 
-Scene::Scene( Internal::Scene* internal )
-: BaseHandle(internal)
-{
-}
+Scene& Scene::operator=(const Scene& rhs) = default;
+
+Scene::Scene(Scene&& handle) = default;
 
-Scene& Scene::operator=( const Scene& rhs )
+Scene& Scene::operator=(Scene&& rhs) = default;
+
+Scene::Scene(Internal::Scene* internal)
+: BaseHandle(internal)
 {
-  BaseHandle::operator=(rhs);
-  return *this;
 }
 
-void Scene::Add( Actor actor )
+void Scene::Add(Actor actor)
 {
-  GetImplementation(*this).Add( GetImplementation(actor) );
+  GetImplementation(*this).Add(GetImplementation(actor));
 }
 
-void Scene::Remove( Actor actor )
+void Scene::Remove(Actor actor)
 {
-  GetImplementation(*this).Remove( GetImplementation(actor) );
+  GetImplementation(*this).Remove(GetImplementation(actor));
 }
 
 Size Scene::GetSize() const
@@ -79,9 +73,9 @@ Size Scene::GetSize() const
   return GetImplementation(*this).GetSize();
 }
 
-void Scene::SetDpi( Vector2 dpi )
+void Scene::SetDpi(Vector2 dpi)
 {
-  GetImplementation(*this).SetDpi( dpi );
+  GetImplementation(*this).SetDpi(dpi);
 }
 
 Vector2 Scene::GetDpi() const
@@ -89,9 +83,19 @@ Vector2 Scene::GetDpi() const
   return GetImplementation(*this).GetDpi();
 }
 
+void Scene::SetBackgroundColor(const Vector4& color)
+{
+  GetImplementation(*this).SetBackgroundColor(color);
+}
+
+Vector4 Scene::GetBackgroundColor() const
+{
+  return GetImplementation(*this).GetBackgroundColor();
+}
+
 RenderTaskList Scene::GetRenderTaskList() const
 {
-  return RenderTaskList( &GetImplementation(*this).GetRenderTaskList() );
+  return RenderTaskList(&GetImplementation(*this).GetRenderTaskList());
 }
 
 Layer Scene::GetRootLayer() const
@@ -99,34 +103,49 @@ Layer Scene::GetRootLayer() const
   return GetImplementation(*this).GetRootLayer();
 }
 
+Layer Scene::GetOverlayLayer()
+{
+  return GetImplementation(*this).GetOverlayLayer();
+}
+
 uint32_t Scene::GetLayerCount() const
 {
   return GetImplementation(*this).GetLayerCount();
 }
 
-Layer Scene::GetLayer( uint32_t depth ) const
+Layer Scene::GetLayer(uint32_t depth) const
+{
+  return GetImplementation(*this).GetLayer(depth);
+}
+
+void Scene::SurfaceResized(float width, float height)
 {
-  return GetImplementation(*this).GetLayer( depth );
+  GetImplementation(*this).SurfaceResized(width, height);
 }
 
-void Scene::SetSurface( Integration::RenderSurface& surface )
+void Scene::SurfaceReplaced()
 {
-  GetImplementation(*this).SetSurface( surface );
+  GetImplementation(*this).SurfaceReplaced();
 }
 
-Integration::RenderSurface* Scene::GetSurface() const
+void Scene::Discard()
 {
-  return GetImplementation(*this).GetSurface();
+  GetImplementation(*this).Discard();
 }
 
-Integration::Scene Scene::Get( Actor actor )
+void Scene::SetSurfaceRenderTarget(const Graphics::RenderTargetCreateInfo& renderTargetCreateInfo)
 {
-  return Dali::Integration::Scene( &GetImplementation( actor ).GetScene() );
+  GetImplementation(*this).SetSurfaceRenderTarget(renderTargetCreateInfo);
 }
 
-void Scene::QueueEvent( const Integration::Event& event )
+Integration::Scene Scene::Get(Actor actor)
 {
-  GetImplementation(*this).QueueEvent( event );
+  return Dali::Integration::Scene(&GetImplementation(actor).GetScene());
+}
+
+void Scene::QueueEvent(const Integration::Event& event)
+{
+  GetImplementation(*this).QueueEvent(event);
 }
 
 void Scene::ProcessEvents()
@@ -134,6 +153,61 @@ void Scene::ProcessEvents()
   GetImplementation(*this).ProcessEvents();
 }
 
+void Scene::AddFrameRenderedCallback(std::unique_ptr<CallbackBase> callback, int32_t frameId)
+{
+  GetImplementation(*this).AddFrameRenderedCallback(std::move(callback), frameId);
+}
+
+void Scene::AddFramePresentedCallback(std::unique_ptr<CallbackBase> callback, int32_t frameId)
+{
+  GetImplementation(*this).AddFramePresentedCallback(std::move(callback), frameId);
+}
+
+void Scene::GetFrameRenderedCallback(FrameCallbackContainer& callbacks)
+{
+  GetImplementation(*this).GetFrameRenderedCallback(callbacks);
+}
+
+void Scene::GetFramePresentedCallback(FrameCallbackContainer& callbacks)
+{
+  GetImplementation(*this).GetFramePresentedCallback(callbacks);
+}
+
+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
+{
+  return GetImplementation(*this).GetCurrentSurfaceRect();
+}
+
+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();
@@ -144,9 +218,19 @@ Scene::KeyEventSignalType& Scene::KeyEventSignal()
   return GetImplementation(*this).KeyEventSignal();
 }
 
-Scene::TouchSignalType& Scene::TouchSignal()
+Scene::KeyEventGeneratedSignalType& Scene::KeyEventGeneratedSignal()
 {
-  return GetImplementation(*this).TouchSignal();
+  return GetImplementation(*this).KeyEventGeneratedSignal();
+}
+
+Scene::KeyEventGeneratedSignalType& Scene::InterceptKeyEventSignal()
+{
+  return GetImplementation(*this).InterceptKeyEventSignal();
+}
+
+Scene::TouchEventSignalType& Scene::TouchedSignal()
+{
+  return GetImplementation(*this).TouchedSignal();
 }
 
 Scene::WheelEventSignalType& Scene::WheelEventSignal()
@@ -154,6 +238,11 @@ Scene::WheelEventSignalType& Scene::WheelEventSignal()
   return GetImplementation(*this).WheelEventSignal();
 }
 
-} // Integration
+Scene::WheelEventGeneratedSignalType& Scene::WheelEventGeneratedSignal()
+{
+  return GetImplementation(*this).WheelEventGeneratedSignal();
+}
+
+} // namespace Integration
 
-} // Dali
+} // namespace Dali