[dali_2.3.21] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit / dali-toolkit-test-utils / toolkit-scene-holder.cpp
index 04afdeb..22a027b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2023 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.
  *
  */
 
-#include <dali/integration-api/adaptors/scene-holder.h>
+#include <dali/integration-api/adaptor-framework/scene-holder.h>
+#include <dali/integration-api/events/touch-event-integ.h>
+
+#include <toolkit-scene-holder-impl.h>
 
 #include <dali/public-api/actors/actor.h>
 #include <dali/public-api/actors/layer.h>
-#include <dali/public-api/common/stage.h>
 #include <dali/public-api/object/base-object.h>
 
+#include <dali/integration-api/adaptor-framework/adaptor.h>
+#include <dali/public-api/render-tasks/render-task-list.h>
+#include <toolkit-adaptor-impl.h>
+
+using AdaptorImpl = Dali::Internal::Adaptor::Adaptor;
+
 namespace Dali
 {
+///////////////////////////////////////////////////////////////////////////////
+//
+// Dali::Internal::Adaptor::SceneHolder Stub
+//
+///////////////////////////////////////////////////////////////////////////////
 
 namespace Internal
 {
-
 namespace Adaptor
 {
+SceneHolder::SceneHolder(const Dali::Rect<int>& positionSize)
+: mRenderSurface(positionSize),
+  mScene(Dali::Integration::Scene::New(Dali::Size(static_cast<float>(positionSize.width), static_cast<float>(positionSize.height))))
+{
+}
 
-class SceneHolder: public Dali::BaseObject
+SceneHolder::~SceneHolder()
 {
+  if(Dali::Adaptor::IsAvailable())
+  {
+    AdaptorImpl::GetImpl(AdaptorImpl::Get()).RemoveWindow(this);
+  }
+}
 
-};
+void SceneHolder::Add(Dali::Actor actor)
+{
+  mScene.Add(actor);
+}
 
-} // Adaptor
+void SceneHolder::Remove(Dali::Actor actor)
+{
+  mScene.Remove(actor);
+}
 
-} // Internal
+Dali::Layer SceneHolder::GetRootLayer() const
+{
+  return mScene.GetRootLayer();
+}
 
-namespace Integration
+void SceneHolder::SetBackgroundColor(Vector4 color)
+{
+  return mScene.SetBackgroundColor(color);
+}
+
+Vector4 SceneHolder::GetBackgroundColor() const
 {
+  return mScene.GetBackgroundColor();
+}
+
+void SceneHolder::FeedTouchPoint(Dali::TouchPoint& point, int timeStamp)
+{
+}
+
+void SceneHolder::FeedWheelEvent(Dali::WheelEvent& wheelEvent)
+{
+}
+
+void SceneHolder::FeedKeyEvent(Dali::KeyEvent& keyEvent)
+{
+}
+
+Dali::Integration::SceneHolder::KeyEventSignalType& SceneHolder::KeyEventSignal()
+{
+  return mScene.KeyEventSignal();
+}
+
+Dali::Integration::SceneHolder::KeyEventGeneratedSignalType& SceneHolder::KeyEventGeneratedSignal()
+{
+  return mScene.KeyEventGeneratedSignal();
+}
+
+Dali::Integration::SceneHolder::TouchEventSignalType& SceneHolder::TouchedSignal()
+{
+  return mScene.TouchedSignal();
+}
+
+Dali::Integration::SceneHolder::WheelEventSignalType& SceneHolder::WheelEventSignal()
+{
+  return mScene.WheelEventSignal();
+}
 
+Dali::Integration::SceneHolder::WheelEventGeneratedSignalType& SceneHolder::WheelEventGeneratedSignal()
+{
+  return mScene.WheelEventGeneratedSignal();
+}
+
+Integration::Scene SceneHolder::GetScene()
+{
+  return mScene;
+}
+
+Dali::RenderSurfaceInterface& SceneHolder::GetRenderSurface()
+{
+  return mRenderSurface;
+}
+
+Dali::RenderTaskList SceneHolder::GetRenderTaskList()
+{
+  return mScene.GetRenderTaskList();
+}
+
+} // namespace Adaptor
+
+} // namespace Internal
+
+///////////////////////////////////////////////////////////////////////////////
+//
+// Dali::Integration::SceneHolder Stub
+//
+///////////////////////////////////////////////////////////////////////////////
+
+namespace Integration
+{
 SceneHolder::SceneHolder()
 {
+  // Dali::Internal::Adaptor::Adaptor::Get().WindowCreatedSignal().Emit( *this );
 }
 
 SceneHolder::~SceneHolder()
 {
 }
 
-SceneHolder::SceneHolder( const SceneHolder& handle )
+SceneHolder::SceneHolder(const SceneHolder& handle)
 : BaseHandle(handle)
 {
 }
 
-SceneHolder::SceneHolder( Internal::Adaptor::SceneHolder* internal )
+SceneHolder::SceneHolder(Internal::Adaptor::SceneHolder* internal)
 : BaseHandle(internal)
 {
 }
 
-SceneHolder& SceneHolder::operator=( const SceneHolder& rhs )
+SceneHolder& SceneHolder::operator=(const SceneHolder& rhs)
 {
   BaseHandle::operator=(rhs);
   return *this;
 }
 
-void SceneHolder::Add( Actor actor )
+Dali::Integration::SceneHolder SceneHolder::Get(Dali::Actor actor)
+{
+  Internal::Adaptor::SceneHolder* sceneHolderImpl = nullptr;
+
+  if(Dali::Adaptor::IsAvailable())
+  {
+    sceneHolderImpl = AdaptorImpl::GetImpl(AdaptorImpl::Get()).GetWindow(actor);
+  }
+
+  return Dali::Integration::SceneHolder(sceneHolderImpl);
+}
+
+void SceneHolder::Add(Actor actor)
 {
+  GetImplementation(*this).Add(actor);
 }
 
-void SceneHolder::Remove( Actor actor )
+void SceneHolder::Remove(Actor actor)
 {
+  GetImplementation(*this).Remove(actor);
 }
 
-Layer SceneHolder::GetRootLayer() const
+Dali::Layer SceneHolder::GetRootLayer() const
 {
-  return Dali::Stage::GetCurrent().GetRootLayer();
+  return GetImplementation(*this).GetRootLayer();
 }
 
-void SceneHolder::SetBackgroundColor( Vector4 color )
+void SceneHolder::SetBackgroundColor(Vector4 color)
 {
+  GetImplementation(*this).SetBackgroundColor(color);
 }
 
 Vector4 SceneHolder::GetBackgroundColor() const
 {
-  return Dali::Stage::GetCurrent().GetBackgroundColor();
+  return GetImplementation(*this).GetBackgroundColor();
+}
+
+void SceneHolder::FeedTouchPoint(Dali::TouchPoint& point, int timeStamp)
+{
+  GetImplementation(*this).FeedTouchPoint(point, timeStamp);
+}
+
+void SceneHolder::FeedWheelEvent(Dali::WheelEvent& wheelEvent)
+{
+  GetImplementation(*this).FeedWheelEvent(wheelEvent);
+}
+
+void SceneHolder::FeedKeyEvent(Dali::KeyEvent& keyEvent)
+{
+  GetImplementation(*this).FeedKeyEvent(keyEvent);
+}
+
+RenderTaskList SceneHolder::GetRenderTaskList()
+{
+  return GetImplementation(*this).GetRenderTaskList();
+}
+
+SceneHolder::KeyEventSignalType& SceneHolder::KeyEventSignal()
+{
+  return GetImplementation(*this).KeyEventSignal();
+}
+
+SceneHolder::KeyEventGeneratedSignalType& SceneHolder::KeyEventGeneratedSignal()
+{
+  return GetImplementation(*this).KeyEventGeneratedSignal();
 }
 
-void SceneHolder::FeedTouchPoint( Dali::TouchPoint& point, int timeStamp )
+SceneHolder::TouchEventSignalType& SceneHolder::TouchedSignal()
 {
+  return GetImplementation(*this).TouchedSignal();
 }
 
-void SceneHolder::FeedWheelEvent( Dali::WheelEvent& wheelEvent )
+SceneHolder::WheelEventSignalType& SceneHolder::WheelEventSignal()
 {
+  return GetImplementation(*this).WheelEventSignal();
 }
 
-void SceneHolder::FeedKeyEvent( Dali::KeyEvent& keyEvent )
+SceneHolder::WheelEventGeneratedSignalType& SceneHolder::WheelEventGeneratedSignal()
 {
+  return GetImplementation(*this).WheelEventGeneratedSignal();
 }
 
-} // Integration
+} // namespace Integration
 
-} // Dali
+} // namespace Dali