/*
- * Copyright (c) 2020 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.
// 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)
+Scene Scene::New(Size size, int32_t windowOrientation, int32_t screenOrientation)
{
- Internal::ScenePtr internal = Internal::Scene::New(size);
+ Internal::ScenePtr internal = Internal::Scene::New(size, windowOrientation, screenOrientation);
return Scene(internal.Get());
}
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::operator=(const Scene& rhs) = default;
+
+Scene::Scene(Scene&& handle) noexcept = default;
+
+Scene& Scene::operator=(Scene&& rhs) noexcept = default;
Scene::Scene(Internal::Scene* internal)
: BaseHandle(internal)
{
}
-Scene& Scene::operator=(const Scene& rhs)
-{
- BaseHandle::operator=(rhs);
- return *this;
-}
-
void Scene::Add(Actor actor)
{
GetImplementation(*this).Add(GetImplementation(actor));
return GetImplementation(*this).GetRootLayer();
}
+Layer Scene::GetOverlayLayer()
+{
+ return GetImplementation(*this).GetOverlayLayer();
+}
+
uint32_t Scene::GetLayerCount() const
{
return GetImplementation(*this).GetLayerCount();
GetImplementation(*this).SurfaceReplaced();
}
+void Scene::RemoveSceneObject()
+{
+ GetImplementation(*this).RemoveSceneObject();
+}
+
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());
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();
return GetImplementation(*this).KeyEventGeneratedSignal();
}
+Scene::KeyEventGeneratedSignalType& Scene::InterceptKeyEventSignal()
+{
+ return GetImplementation(*this).InterceptKeyEventSignal();
+}
+
Scene::TouchEventSignalType& Scene::TouchedSignal()
{
return GetImplementation(*this).TouchedSignal();
return GetImplementation(*this).WheelEventSignal();
}
+Scene::WheelEventGeneratedSignalType& Scene::WheelEventGeneratedSignal()
+{
+ return GetImplementation(*this).WheelEventGeneratedSignal();
+}
+
} // namespace Integration
} // namespace Dali