/*
- * 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.
// CLASS HEADER
#include <dali/integration-api/core.h>
-#include <dali/integration-api/render-surface.h>
// INTERNAL INCLUDES
#include <dali/public-api/common/dali-common.h>
GlAbstraction& glAbstraction,
GlSyncAbstraction& glSyncAbstraction,
GlContextHelperAbstraction& glContextHelperAbstraction,
- ResourcePolicy::DataRetention policy,
RenderToFrameBuffer renderToFboEnabled,
DepthBufferAvailable depthBufferAvailable,
- StencilBufferAvailable stencilBufferAvailable )
+ StencilBufferAvailable stencilBufferAvailable,
+ PartialUpdateAvailable partialUpdateAvailable )
{
Core* instance = new Core;
instance->mImpl = new Internal::Core( renderController,
glAbstraction,
glSyncAbstraction,
glContextHelperAbstraction,
- policy,
renderToFboEnabled,
depthBufferAvailable,
- stencilBufferAvailable );
+ stencilBufferAvailable,
+ partialUpdateAvailable );
return instance;
}
mImpl->RecoverFromContextLoss();
}
-void Core::SurfaceDeleted( Integration::RenderSurface* surface )
-{
- mImpl->SurfaceDeleted(surface);
-}
-
void Core::SceneCreated()
{
mImpl->SceneCreated();
mImpl->Update( elapsedSeconds, lastVSyncTimeMilliseconds, nextVSyncTimeMilliseconds, status, renderToFboEnabled, isRenderingToFbo );
}
-void Core::Render( RenderStatus& status, bool forceClear )
+void Core::PreRender( RenderStatus& status, bool forceClear, bool uploadOnly )
+{
+ mImpl->PreRender( status, forceClear, uploadOnly );
+}
+
+void Core::PreRender( Integration::Scene& scene, std::vector<Rect<int>>& damagedRects )
+{
+ mImpl->PreRender( scene, damagedRects );
+}
+
+void Core::RenderScene( RenderStatus& status, Integration::Scene& scene, bool renderToFbo )
{
- mImpl->Render( status, forceClear );
+ mImpl->RenderScene( status, scene, renderToFbo );
+}
+
+void Core::RenderScene( RenderStatus& status, Integration::Scene& scene, bool renderToFbo, Rect<int>& clippingRect )
+{
+ mImpl->RenderScene( status, scene, renderToFbo, clippingRect );
+}
+
+void Core::PostRender( bool uploadOnly )
+{
+ mImpl->PostRender( uploadOnly );
}
void Core::RegisterProcessor( Processor& processor )
mImpl->UnregisterProcessor( processor );
}
+ObjectRegistry Core::GetObjectRegistry() const
+{
+ return ObjectRegistry( &mImpl->GetObjectRegistry() );
+}
+
Core::Core()
-: mImpl( NULL )
+: mImpl( nullptr )
{
}