X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Fintegration-api%2Fcore.cpp;h=b8914d6d252fc3ce86ce5a01c46d6afaef22870d;hb=95358c8457346a933366c07d83d3fcaa9be9a023;hp=a6c13f68d57f23378a75598b80f0ecabe5975515;hpb=5c66381841dd4dfd82c5a118d34104a00a2e0e1c;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/integration-api/core.cpp b/dali/integration-api/core.cpp index a6c13f6..b8914d6 100644 --- a/dali/integration-api/core.cpp +++ b/dali/integration-api/core.cpp @@ -1,26 +1,23 @@ -// -// Copyright (c) 2014 Samsung Electronics Co., Ltd. -// -// Licensed under the Flora License, Version 1.0 (the License); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://floralicense.org/license/ -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an AS IS BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// +/* + * Copyright (c) 2014 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. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ // CLASS HEADER #include -// EXTERNAL INCLUDES -#include -#include - // INTERNAL INCLUDES #include #include @@ -33,28 +30,11 @@ 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 NOTIFICATIONS_PENDING = 0x20; ///< Notifications are pending for the event-thread -const unsigned int MONITORING_PERFORMANCE = 0x40; ///< The --enable-performance-monitor option is being used -const unsigned int RENDER_TASK_SYNC = 0x80; ///< 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) + GlAbstraction& glAbstraction, GlSyncAbstraction& glSyncAbstraction, GestureManager& gestureManager, ResourcePolicy::DataRetention policy ) { Core* instance = new Core; - instance->mImpl = new Internal::Core( renderController, platformAbstraction, glAbstraction, glSyncAbstraction, gestureManager ); + instance->mImpl = new Internal::Core( renderController, platformAbstraction, glAbstraction, glSyncAbstraction, gestureManager, policy ); return instance; } @@ -64,14 +44,28 @@ Core::~Core() delete mImpl; } +ContextNotifierInterface* Core::GetContextNotifier() +{ + return mImpl->GetContextNotifier(); +} + +// @todo Rename to ResetGlContext void Core::ContextCreated() { mImpl->ContextCreated(); } -void Core::ContextToBeDestroyed() +// @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->ContextToBeDestroyed(); + mImpl->ContextDestroyed(); +} + +void Core::RecoverFromContextLoss() +{ + mImpl->RecoverFromContextLoss(); } void Core::SurfaceResized(unsigned int width, unsigned int height) @@ -84,11 +78,6 @@ void Core::SetDpi(unsigned int dpiHorizontal, unsigned int dpiVertical) mImpl->SetDpi(dpiHorizontal, dpiVertical); } -void Core::SetMinimumFrameTimeInterval(unsigned int interval) -{ - mImpl->SetMinimumFrameTimeInterval(interval); -} - void Core::Suspend() { mImpl->Suspend(); @@ -99,6 +88,11 @@ void Core::Resume() mImpl->Resume(); } +void Core::SceneCreated() +{ + mImpl->SceneCreated(); +} + void Core::QueueEvent(const Event& event) { mImpl->QueueEvent(event); @@ -119,9 +113,9 @@ unsigned int Core::GetMaximumUpdateCount() const return mImpl->GetMaximumUpdateCount(); } -void Core::Update( UpdateStatus& status ) +void Core::Update( float elapsedSeconds, unsigned int lastVSyncTimeMilliseconds, unsigned int nextVSyncTimeMilliseconds, UpdateStatus& status ) { - mImpl->Update( status ); + mImpl->Update( elapsedSeconds, lastVSyncTimeMilliseconds, nextVSyncTimeMilliseconds, status ); } void Core::Render( RenderStatus& status ) @@ -129,21 +123,6 @@ void Core::Render( RenderStatus& status ) mImpl->Render( status ); } -void Core::Sleep() -{ - mImpl->Sleep(); -} - -void Core::WakeUp() -{ - mImpl->WakeUp(); -} - -void Core::VSync( unsigned int frameNumber, unsigned int seconds, unsigned int microseconds ) -{ - mImpl->VSync( frameNumber, seconds, microseconds ); -} - SystemOverlay& Core::GetSystemOverlay() { return mImpl->GetSystemOverlay();