X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Fintegration-api%2Fcore.cpp;h=b14df7c2fd4e36d1aa4aaf2e72f33c539097889d;hb=403f5989d41f4e5c5a657e24020fe32c77fc1414;hp=44a4323402572cbc18bd89dc474e2a66570e58b6;hpb=0c54941cf8698af1f9e02a212bf6de675c04ba34;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/integration-api/core.cpp b/dali/integration-api/core.cpp index 44a4323..b14df7c 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) 2019 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. @@ -17,15 +17,15 @@ // CLASS HEADER #include - -// EXTERNAL INCLUDES -#include -#include +#include // INTERNAL INCLUDES #include +#include +#include #include #include +#include #include namespace Dali @@ -34,27 +34,26 @@ namespace Dali namespace Integration { -namespace KeepUpdating -{ - -const unsigned int NOT_REQUESTED = 0x00; ///< Zero means that no further updates are required - -// Bit-field values -const unsigned int STAGE_KEEP_RENDERING = 0x01; ///< Stage::KeepRendering() is being used -const unsigned int INCOMING_MESSAGES = 0x02; ///< Event-thread is sending messages to update-thread -const unsigned int ANIMATIONS_RUNNING = 0x04; ///< Animations are ongoing -const unsigned int DYNAMICS_CHANGED = 0x08; ///< A dynamics simulation is running -const unsigned int LOADING_RESOURCES = 0x10; ///< Resources are being loaded -const unsigned int MONITORING_PERFORMANCE = 0x20; ///< The --enable-performance-monitor option is being used -const unsigned int RENDER_TASK_SYNC = 0x40; ///< The refresh once render task is waiting for render sync - -} // namespace KeepUpdating - -Core* Core::New(RenderController& renderController, PlatformAbstraction& platformAbstraction, - GlAbstraction& glAbstraction, GlSyncAbstraction& glSyncAbstraction, GestureManager& gestureManager, ResourcePolicy::DataRetention policy ) +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 ); + instance->mImpl = new Internal::Core( renderController, + platformAbstraction, + glAbstraction, + glSyncAbstraction, + gestureManager, + policy, + renderToFboEnabled, + depthBufferAvailable, + stencilBufferAvailable ); return instance; } @@ -64,20 +63,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(); @@ -88,24 +88,14 @@ void Core::RecoverFromContextLoss() mImpl->RecoverFromContextLoss(); } -void Core::SurfaceResized(unsigned int width, unsigned int height) +void Core::SurfaceResized( Integration::RenderSurface* surface ) { - mImpl->SurfaceResized(width, height); + mImpl->SurfaceResized(surface); } -void Core::SetDpi(unsigned int dpiHorizontal, unsigned int dpiVertical) +void Core::SceneCreated() { - mImpl->SetDpi(dpiHorizontal, dpiVertical); -} - -void Core::Suspend() -{ - mImpl->Suspend(); -} - -void Core::Resume() -{ - mImpl->Resume(); + mImpl->SceneCreated(); } void Core::QueueEvent(const Event& event) @@ -118,49 +108,29 @@ void Core::ProcessEvents() mImpl->ProcessEvents(); } -void Core::UpdateTouchData(const TouchData& touch) -{ - mImpl->UpdateTouchData(touch); -} - -unsigned int Core::GetMaximumUpdateCount() const +uint32_t Core::GetMaximumUpdateCount() const { return mImpl->GetMaximumUpdateCount(); } -void Core::Update( float elapsedSeconds, unsigned int lastVSyncTimeMilliseconds, unsigned int nextVSyncTimeMilliseconds, UpdateStatus& status ) -{ - mImpl->Update( elapsedSeconds, lastVSyncTimeMilliseconds, nextVSyncTimeMilliseconds, status ); -} - -void Core::Render( RenderStatus& status ) -{ - mImpl->Render( status ); -} - -SystemOverlay& Core::GetSystemOverlay() -{ - return mImpl->GetSystemOverlay(); -} - -void Core::SetViewMode( ViewMode viewMode ) +void Core::Update( float elapsedSeconds, uint32_t lastVSyncTimeMilliseconds, uint32_t nextVSyncTimeMilliseconds, UpdateStatus& status, bool renderToFboEnabled, bool isRenderingToFbo ) { - mImpl->SetViewMode( viewMode ); + mImpl->Update( elapsedSeconds, lastVSyncTimeMilliseconds, nextVSyncTimeMilliseconds, status, renderToFboEnabled, isRenderingToFbo ); } -ViewMode Core::GetViewMode() const +void Core::Render( RenderStatus& status, bool forceClear ) { - return mImpl->GetViewMode(); + mImpl->Render( status, forceClear ); } -void Core::SetStereoBase( float stereoBase ) +void Core::RegisterProcessor( Processor& processor ) { - mImpl->SetStereoBase( stereoBase ); + mImpl->RegisterProcessor( processor ); } -float Core::GetStereoBase() const +void Core::UnregisterProcessor( Processor& processor ) { - return mImpl->GetStereoBase(); + mImpl->UnregisterProcessor( processor ); } Core::Core()