X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Fintegration-api%2Fcore.cpp;h=05f6d52b086d0a6ebdc48c48846287f37537e67f;hb=refs%2Fchanges%2F30%2F273930%2F3;hp=1c83633a15b2d87cb8dce371b842c1308f0d6f93;hpb=5787f865cbe64c2b89e85852e3230dac1fdef6b1;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/integration-api/core.cpp b/dali/integration-api/core.cpp index 1c83633..05f6d52 100644 --- a/dali/integration-api/core.cpp +++ b/dali/integration-api/core.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * Copyright (c) 2021 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. @@ -18,27 +18,34 @@ // CLASS HEADER #include -// EXTERNAL INCLUDES -#include -#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 ) -{ - Core* instance = new Core; - instance->mImpl = new Internal::Core( renderController, platformAbstraction, glAbstraction, glSyncAbstraction, gestureManager, policy ); +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; } @@ -48,20 +55,21 @@ Core::~Core() delete mImpl; } +void Core::Initialize() +{ + mImpl->Initialize(); +} + ContextNotifierInterface* Core::GetContextNotifier() { return mImpl->GetContextNotifier(); } -// @todo Rename to ResetGlContext void Core::ContextCreated() { mImpl->ContextCreated(); } -// @todo Replace with StopRendering that prevents RenderManager from rendering -// until we get ResetGLContext again, change ContextCreated to reset gpu buffer cache, -// gl texture id's void Core::ContextDestroyed() { mImpl->ContextDestroyed(); @@ -72,26 +80,6 @@ void Core::RecoverFromContextLoss() mImpl->RecoverFromContextLoss(); } -void Core::SurfaceResized(unsigned int width, unsigned int height) -{ - mImpl->SurfaceResized(width, height); -} - -void Core::SetDpi(unsigned int dpiHorizontal, unsigned int dpiVertical) -{ - mImpl->SetDpi(dpiHorizontal, dpiVertical); -} - -void Core::Suspend() -{ - mImpl->Suspend(); -} - -void Core::Resume() -{ - mImpl->Resume(); -} - void Core::SceneCreated() { mImpl->SceneCreated(); @@ -107,53 +95,58 @@ void Core::ProcessEvents() mImpl->ProcessEvents(); } -void Core::UpdateTouchData(const TouchData& touch) +uint32_t Core::GetMaximumUpdateCount() const { - mImpl->UpdateTouchData(touch); + return mImpl->GetMaximumUpdateCount(); } -unsigned int Core::GetMaximumUpdateCount() const +void Core::Update(float elapsedSeconds, uint32_t lastVSyncTimeMilliseconds, uint32_t nextVSyncTimeMilliseconds, UpdateStatus& status, bool renderToFboEnabled, bool isRenderingToFbo, bool uploadOnly) { - return mImpl->GetMaximumUpdateCount(); + mImpl->Update(elapsedSeconds, lastVSyncTimeMilliseconds, nextVSyncTimeMilliseconds, status, renderToFboEnabled, isRenderingToFbo, uploadOnly); +} + +void Core::PreRender(RenderStatus& status, bool forceClear) +{ + mImpl->PreRender(status, forceClear); } -void Core::Update( float elapsedSeconds, unsigned int lastVSyncTimeMilliseconds, unsigned int nextVSyncTimeMilliseconds, UpdateStatus& status ) +void Core::PreRender(Integration::Scene& scene, std::vector>& damagedRects) { - mImpl->Update( elapsedSeconds, lastVSyncTimeMilliseconds, nextVSyncTimeMilliseconds, status ); + mImpl->PreRender(scene, damagedRects); } -void Core::Render( RenderStatus& status ) +void Core::RenderScene(RenderStatus& status, Integration::Scene& scene, bool renderToFbo) { - mImpl->Render( status ); + mImpl->RenderScene(status, scene, renderToFbo); } -SystemOverlay& Core::GetSystemOverlay() +void Core::RenderScene(RenderStatus& status, Integration::Scene& scene, bool renderToFbo, Rect& clippingRect) { - return mImpl->GetSystemOverlay(); + mImpl->RenderScene(status, scene, renderToFbo, clippingRect); } -void Core::SetViewMode( ViewMode viewMode ) +void Core::PostRender() { - mImpl->SetViewMode( viewMode ); + mImpl->PostRender(); } -ViewMode Core::GetViewMode() const +void Core::RegisterProcessor(Processor& processor, bool postProcessor) { - return mImpl->GetViewMode(); + mImpl->RegisterProcessor(processor, postProcessor); } -void Core::SetStereoBase( float stereoBase ) +void Core::UnregisterProcessor(Processor& processor, bool postProcessor) { - mImpl->SetStereoBase( stereoBase ); + mImpl->UnregisterProcessor(processor, postProcessor); } -float Core::GetStereoBase() const +ObjectRegistry Core::GetObjectRegistry() const { - return mImpl->GetStereoBase(); + return ObjectRegistry(&mImpl->GetObjectRegistry()); } Core::Core() -: mImpl( NULL ) +: mImpl(nullptr) { }