/*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
namespace Integration
{
-Scene Scene::New( Integration::RenderSurface& surface )
+Scene Scene::New( Size size )
{
- Internal::ScenePtr internal = Internal::Scene::New( surface );
+ Internal::ScenePtr internal = Internal::Scene::New( size );
return Scene( internal.Get() );
}
return GetImplementation(*this).GetLayer( depth );
}
-void Scene::SetSurface( Integration::RenderSurface& surface )
+void Scene::SurfaceResized( float width, float height )
{
- GetImplementation(*this).SetSurface( surface );
+ GetImplementation( *this ).SurfaceResized( width, height );
}
-void Scene::SurfaceResized( bool forceUpdate )
+void Scene::SurfaceReplaced()
{
- GetImplementation( *this ).SurfaceResized( forceUpdate );
-}
-
-Integration::RenderSurface* Scene::GetSurface() const
-{
- return GetImplementation(*this).GetSurface();
+ GetImplementation( *this ).SurfaceReplaced();
}
void Scene::Discard()
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 );
+}
+
Scene::EventProcessingFinishedSignalType& Scene::EventProcessingFinishedSignal()
{
return GetImplementation(*this).EventProcessingFinishedSignal();