-#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) 2017 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.
#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>
class NotificationManager;
class AnimationPlaylist;
class PropertyNotificationManager;
-class Context;
class EventProcessor;
class GestureEventProcessor;
-class ResourceClient;
-class ResourceManager;
-class ImageFactory;
class ShaderFactory;
class TouchResampler;
+class RelayoutController;
namespace SceneGraph
{
class UpdateManager;
class RenderManager;
class DiscardQueue;
+class RenderTaskProcessor;
}
/**
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 Render( Integration::RenderStatus& status );
/**
- * @copydoc Dali::Integration::Core::Suspend()
- */
- void Suspend();
-
- /**
- * @copydoc Dali::Integration::Core::Resume()
- */
- void Resume();
-
- /**
* @copydoc Dali::Integration::Core::SceneCreated()
*/
void SceneCreated();
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 Image factory
- * @return A reference to the Image factory.
- */
- ImageFactory& GetImageFactory();
-
- /**
* Returns the Shader factory
* @return A reference to the Shader binary factory.
*/
*/
GestureEventProcessor& GetGestureEventProcessor();
+ /**
+ * Return the relayout controller
+ * @Return Return a reference to the relayout controller
+ */
+ RelayoutController& GetRelayoutController();
+
private:
/**
Integration::PlatformAbstraction& mPlatform; ///< The interface providing platform specific services.
IntrusivePtr<Stage> mStage; ///< The current stage
- GestureEventProcessor* mGestureEventProcessor; ///< The gesture event processor
- EventProcessor* mEventProcessor; ///< The event processor
- 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
- ImageFactory* mImageFactory; ///< Image 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.
-
- bool mIsActive : 1; ///< Whether Core is active or suspended
+ IntrusivePtr< RelayoutController > mRelayoutController; ///< Size negotiation relayout controller
bool mProcessingEvent : 1; ///< True during ProcessEvents()
+ OwnerPointer<SceneGraph::RenderTaskProcessor> mRenderTaskProcessor; ///< Handles the processing of render tasks
+ OwnerPointer<SceneGraph::RenderManager> mRenderManager; ///< Render manager
+ OwnerPointer<SceneGraph::UpdateManager> mUpdateManager; ///< Update manager
+ OwnerPointer<SceneGraph::DiscardQueue> mDiscardQueue; ///< Used to cleanup nodes & resources when no longer in use.
+ OwnerPointer<ShaderFactory> mShaderFactory; ///< Shader resource factory
+ OwnerPointer<NotificationManager> mNotificationManager; ///< Notification manager
+ OwnerPointer<GestureEventProcessor> mGestureEventProcessor; ///< The gesture event processor
+ OwnerPointer<EventProcessor> mEventProcessor; ///< The event processor
+
friend class ThreadLocalStorage;
};
} // namespace Dali
-#endif // __DALI_INTERNAL_CORE_H__
+#endif // DALI_INTERNAL_CORE_H