X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Fintegration-api%2Fcore.cpp;h=870861bb227f89a856b6a1ce25fe44ee3d7069c7;hb=d12ff6718dd01d8fa663550ff178e228062c40d4;hp=cf6c17ef35694c33c6c055b59ab40907458af858;hpb=7eef78e7b6db3688d677dafd4215572cb71ba47d;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/integration-api/core.cpp b/dali/integration-api/core.cpp index cf6c17e..870861b 100644 --- a/dali/integration-api/core.cpp +++ b/dali/integration-api/core.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018 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. @@ -19,37 +19,33 @@ #include // INTERNAL INCLUDES -#include #include -#include +#include #include +#include +#include +#include namespace Dali { - namespace Integration { - -Core* Core::New( RenderController& renderController, - PlatformAbstraction& platformAbstraction, - GlAbstraction& glAbstraction, - GlSyncAbstraction& glSyncAbstraction, - GestureManager& gestureManager, - ResourcePolicy::DataRetention policy, - RenderToFrameBuffer renderToFboEnabled, - DepthBufferAvailable depthBufferAvailable, - StencilBufferAvailable stencilBufferAvailable ) -{ - Core* instance = new Core; - instance->mImpl = new Internal::Core( renderController, - platformAbstraction, - glAbstraction, - glSyncAbstraction, - gestureManager, - policy, - renderToFboEnabled, - depthBufferAvailable, - stencilBufferAvailable ); +Core* Core::New(RenderController& renderController, + PlatformAbstraction& platformAbstraction, + Graphics::Controller& graphicsController, + RenderToFrameBuffer renderToFboEnabled, + DepthBufferAvailable depthBufferAvailable, + StencilBufferAvailable stencilBufferAvailable, + PartialUpdateAvailable partialUpdateAvailable) +{ + Core* instance = new Core; + instance->mImpl = new Internal::Core(renderController, + platformAbstraction, + graphicsController, + renderToFboEnabled, + depthBufferAvailable, + stencilBufferAvailable, + partialUpdateAvailable); return instance; } @@ -59,6 +55,11 @@ Core::~Core() delete mImpl; } +void Core::Initialize() +{ + mImpl->Initialize(); +} + ContextNotifierInterface* Core::GetContextNotifier() { return mImpl->GetContextNotifier(); @@ -79,68 +80,78 @@ void Core::RecoverFromContextLoss() mImpl->RecoverFromContextLoss(); } -void Core::SurfaceResized(uint32_t width, uint32_t height) +void Core::SceneCreated() { - mImpl->SurfaceResized(width, height); + mImpl->SceneCreated(); } -void Core::SetTopMargin( uint32_t margin ) +void Core::QueueEvent(const Event& event) { - mImpl->SetTopMargin(margin); + mImpl->QueueEvent(event); } -void Core::SetDpi( uint32_t dpiHorizontal, uint32_t dpiVertical) +void Core::ProcessEvents() { - mImpl->SetDpi(dpiHorizontal, dpiVertical); + mImpl->ProcessEvents(); } -void Core::SceneCreated() +uint32_t Core::GetMaximumUpdateCount() const { - mImpl->SceneCreated(); + return mImpl->GetMaximumUpdateCount(); } -void Core::QueueEvent(const Event& event) +void Core::Update(float elapsedSeconds, uint32_t lastVSyncTimeMilliseconds, uint32_t nextVSyncTimeMilliseconds, UpdateStatus& status, bool renderToFboEnabled, bool isRenderingToFbo, bool uploadOnly) { - mImpl->QueueEvent(event); + mImpl->Update(elapsedSeconds, lastVSyncTimeMilliseconds, nextVSyncTimeMilliseconds, status, renderToFboEnabled, isRenderingToFbo, uploadOnly); } -void Core::ProcessEvents() +void Core::PreRender(RenderStatus& status, bool forceClear) { - mImpl->ProcessEvents(); + mImpl->PreRender(status, forceClear); } -uint32_t Core::GetMaximumUpdateCount() const +void Core::PreRender(Integration::Scene& scene, std::vector>& damagedRects) { - return mImpl->GetMaximumUpdateCount(); + mImpl->PreRender(scene, damagedRects); +} + +void Core::RenderScene(RenderStatus& status, Integration::Scene& scene, bool renderToFbo) +{ + mImpl->RenderScene(status, scene, renderToFbo); +} + +void Core::RenderScene(RenderStatus& status, Integration::Scene& scene, bool renderToFbo, Rect& clippingRect) +{ + mImpl->RenderScene(status, scene, renderToFbo, clippingRect); } -void Core::Update( float elapsedSeconds, uint32_t lastVSyncTimeMilliseconds, uint32_t nextVSyncTimeMilliseconds, UpdateStatus& status, bool renderToFboEnabled, bool isRenderingToFbo ) +void Core::PostRender() { - mImpl->Update( elapsedSeconds, lastVSyncTimeMilliseconds, nextVSyncTimeMilliseconds, status, renderToFboEnabled, isRenderingToFbo ); + mImpl->PostRender(); } -void Core::Render( RenderStatus& status, bool forceClear ) +void Core::RegisterProcessor(Processor& processor, bool postProcessor) { - mImpl->Render( status, forceClear ); + mImpl->RegisterProcessor(processor, postProcessor); } -SystemOverlay& Core::GetSystemOverlay() +void Core::UnregisterProcessor(Processor& processor, bool postProcessor) { - return mImpl->GetSystemOverlay(); + mImpl->UnregisterProcessor(processor, postProcessor); } -void Core::RegisterProcessor( Processor& processor ) +ObjectRegistry Core::GetObjectRegistry() const { - mImpl->RegisterProcessor( processor ); + return ObjectRegistry(&mImpl->GetObjectRegistry()); } -void Core::UnregisterProcessor( Processor& processor ) +void Core::LogMemoryPools() const { - mImpl->UnregisterProcessor( processor ); + mImpl->LogMemoryPools(); } Core::Core() -: mImpl( NULL ) +: mImpl(nullptr) { }