-#ifndef __DALI_INTERNAL_CORE_H__
-#define __DALI_INTERNAL_CORE_H__
+#ifndef DALI_INTERNAL_CORE_H
+#define DALI_INTERNAL_CORE_H
/*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2016 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.
// INTERNAL INCLUDES
#include <dali/public-api/object/ref-object.h>
+#include <dali/integration-api/context-notifier.h>
#include <dali/internal/common/owner-pointer.h>
#include <dali/internal/event/animation/animation-playlist-declarations.h>
#include <dali/internal/event/common/stage-def.h>
-#include <dali/internal/update/resources/resource-manager-declarations.h>
#include <dali/public-api/common/view-mode.h>
+#include <dali/integration-api/resource-policies.h>
namespace Dali
{
class NotificationManager;
class AnimationPlaylist;
class PropertyNotificationManager;
-class Context;
class EventProcessor;
class GestureEventProcessor;
-class ResourceClient;
-class ResourceManager;
-class FontFactory;
-class ImageFactory;
-class ModelFactory;
class ShaderFactory;
class TouchResampler;
-class EmojiFactory;
+class RelayoutController;
namespace SceneGraph
{
class UpdateManager;
class RenderManager;
class DiscardQueue;
+class RenderTaskProcessor;
}
/**
Integration::PlatformAbstraction& platform,
Integration::GlAbstraction& glAbstraction,
Integration::GlSyncAbstraction& glSyncAbstraction,
- Integration::GestureManager& gestureManager );
+ Integration::GestureManager& gestureManager,
+ ResourcePolicy::DataRetention dataRetentionPolicy );
/**
* Destructor
~Core();
/**
+ * @copydoc Dali::Integration::Core::GetContextNotifier()
+ */
+ Integration::ContextNotifierInterface* GetContextNotifier();
+
+ /**
* @copydoc Dali::Integration::Core::ContextCreated()
*/
void ContextCreated();
/**
- * @copydoc Dali::Integration::Core::ContextToBeDestroyed()
+ * @copydoc Dali::Integration::Core::ContextDestroyed()
+ */
+ void ContextDestroyed();
+
+ /**
+ * @copydoc Dali::Integration::Core::RecoverFromContextLoss()
*/
- void ContextToBeDestroyed();
+ void RecoverFromContextLoss();
/**
* @copydoc Dali::Integration::Core::SurfaceResized(unsigned int, unsigned int)
void SurfaceResized(unsigned int width, unsigned int height);
/**
+ * @copydoc Dali::Integration::Core::SetTopMargin( unsigned int margin )
+ */
+ void SetTopMargin( unsigned int margin );
+
+ /**
* @copydoc Dali::Integration::Core::SetDpi(unsigned int, unsigned int)
*/
void SetDpi(unsigned int dpiHorizontal, unsigned int dpiVertical);
void Resume();
/**
+ * @copydoc Dali::Integration::Core::SceneCreated()
+ */
+ void SceneCreated();
+
+ /**
* @copydoc Dali::Integration::Core::QueueEvent(const Integration::Event&)
*/
void QueueEvent( const Integration::Event& event );
void ProcessEvents();
/**
- * @copydoc Dali::Integration::Core::UpdateTouchData(const Integration::TouchData&)
- */
- void UpdateTouchData(const Integration::TouchData& touch);
-
- /**
* @copydoc Dali::Integration::Core::GetMaximumUpdateCount()
*/
unsigned int GetMaximumUpdateCount() const;
NotificationManager& GetNotificationManager();
/**
- * Returns the Resource Manager.
- * @return A reference to the Resource Manager.
- */
- ResourceManager& GetResourceManager();
-
- /**
- * Returns the Resource client.
- * @return A reference to the Resource Client.
- */
- ResourceClient& GetResourceClient();
-
- /**
- * Returns the Font factory
- * @return A reference to the Font factory.
- */
- FontFactory& GetFontFactory();
-
- /**
- * Returns the Image factory
- * @return A reference to the Image factory.
- */
- ImageFactory& GetImageFactory();
-
- /**
- * Returns the Model factory
- * @return A reference to the Model factory.
- */
- ModelFactory& GetModelFactory();
-
- /**
* Returns the Shader factory
* @return A reference to the Shader binary factory.
*/
GestureEventProcessor& GetGestureEventProcessor();
/**
- * Returns the Emoji factory.
- * @return a reference to the Emoji factory.
+ * Return the relayout controller
+ * @Return Return a reference to the relayout controller
*/
- EmojiFactory& GetEmojiFactory();
+ RelayoutController& GetRelayoutController();
private:
SceneGraph::UpdateManager* mUpdateManager; ///< Update manager
SceneGraph::RenderManager* mRenderManager; ///< Render manager
SceneGraph::DiscardQueue* mDiscardQueue; ///< Used to cleanup nodes & resources when no longer in use.
- ResourcePostProcessList* mResourcePostProcessQueue; ///< Stores resource ids which require post processing after render
NotificationManager* mNotificationManager; ///< Notification manager
AnimationPlaylistOwner mAnimationPlaylist; ///< For 'Fire and forget' animation support
OwnerPointer<PropertyNotificationManager> mPropertyNotificationManager; ///< For safe signal emmision of property changed notifications
- FontFactory* mFontFactory; ///< font resource factory
- ImageFactory* mImageFactory; ///< Image resource factory
- ModelFactory* mModelFactory; ///< Model resource factory
ShaderFactory* mShaderFactory; ///< Shader resource factory
- ResourceClient* mResourceClient; ///< Asynchronous Resource Loading
- ResourceManager* mResourceManager; ///< Asynchronous Resource Loading
- TouchResampler* mTouchResampler; ///< Resamples touches to correct frame rate.
- EmojiFactory* mEmojiFactory; ///< Emoji resource factory.
-
+ IntrusivePtr< RelayoutController > mRelayoutController; ///< Size negotiation relayout controller
+ SceneGraph::RenderTaskProcessor* mRenderTaskProcessor; ///< Handles the processing of render tasks
bool mIsActive : 1; ///< Whether Core is active or suspended
bool mProcessingEvent : 1; ///< True during ProcessEvents()
} // namespace Dali
-#endif // __DALI_INTERNAL_CORE_H__
+#endif // DALI_INTERNAL_CORE_H