#define __DALI_INTERNAL_ADAPTOR_IMPL_H__
/*
- * Copyright (c) 2015 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.
class GestureManager;
class GlImplementation;
class GlSyncImplementation;
-class UpdateRenderController;
+class ThreadController;
class TriggerEvent;
class CallbackManager;
class FeedbackPluginProxy;
*/
static bool IsAvailable();
+ /**
+ * @copydoc Dali::Core::SceneCreated();
+ */
+ void SceneCreated();
+
public: // AdaptorInternalServices implementation
/**
* @copydoc Dali::Adaptor::Start()
virtual void Stop();
/**
- * @copydoc Dali::EventFeeder::FeedTouchPoint()
+ * @copydoc Dali::Adaptor::ContextLost()
*/
- virtual void FeedTouchPoint( TouchPoint& point, int timeStamp );
+ virtual void ContextLost();
/**
- * @copydoc Dali::EventFeeder::FeedWheelEvent()
+ * @copydoc Dali::Adaptor::ContextRegained()
*/
- virtual void FeedWheelEvent( WheelEvent& wheelEvent );
+ virtual void ContextRegained();
/**
- * @copydoc Dali::EventFeeder::FeedKeyEvent()
+ * @copydoc Dali::EventFeeder::FeedTouchPoint()
*/
- virtual void FeedKeyEvent( KeyEvent& keyEvent );
+ virtual void FeedTouchPoint( TouchPoint& point, int timeStamp );
/**
- * @copydoc AdaptorInterface::MoveResize()
+ * @copydoc Dali::EventFeeder::FeedWheelEvent()
*/
- virtual bool MoveResize( const PositionSize& positionSize );
+ virtual void FeedWheelEvent( WheelEvent& wheelEvent );
/**
- * @copydoc AdaptorInterface::SurfaceResized()
+ * @copydoc Dali::EventFeeder::FeedKeyEvent()
*/
- virtual void SurfaceResized( const PositionSize& positionSize );
+ virtual void FeedKeyEvent( KeyEvent& keyEvent );
/**
* @copydoc AdaptorInterface::ReplaceSurface()
virtual bool AddIdle( CallbackBase* callback );
/**
- * @copydoc Internal::Framework::CallFromMainLoop()
+ * @copydoc Dali::Adaptor::RemoveIdle()
*/
- virtual bool CallFromMainLoop( CallbackBase* callback );
+ virtual void RemoveIdle( CallbackBase* callback );
public:
*/
Any GetNativeWindowHandle();
+ /**
+ * Sets use remote surface for eglSurface output
+ * @param[in] useRemoteSurface True if the remote surface is used
+ */
+ void SetUseRemoteSurface(bool useRemoteSurface);
+
public:
/**
void RequestUpdateOnce();
/**
+ * Request adaptor to update indicator's height
+ */
+ void IndicatorSizeChanged(int height);
+
+ /**
* @copydoc Dali::Adaptor::NotifySceneCreated()
*/
void NotifySceneCreated();
*/
void NotifyLanguageChanged();
+ /**
+ * Gets AppId of current application
+ */
+ void GetAppId( std::string& appId );
+
+ /**
+ * Informs core the surface size has changed
+ */
+ void SurfaceResizePrepare( Dali::Adaptor::SurfaceSize surfaceSize );
+
+ /**
+ * Informs ThreadController the surface size has changed
+ */
+ void SurfaceResizeComplete( Dali::Adaptor::SurfaceSize surfaceSize );
+
public: //AdaptorInternalServices
/**
/**
* @copydoc Dali::Internal::Adaptor::AdaptorInternalServices::GetTriggerEventInterface()
*/
- virtual TriggerEventInterface& GetTriggerEventInterface();
+ virtual TriggerEventInterface& GetProcessCoreEventsTrigger();
/**
* @copydoc Dali::Internal::Adaptor::AdaptorInternalServices::GetTriggerEventFactoryInterface()
private:
/**
- * Informs core the surface size has changed
- */
- void SurfaceSizeChanged(const PositionSize& positionSize);
-
- /**
* Assigns the render surface to the adaptor
*
*/
void SetSurface(RenderSurface *surface);
/**
+ * called after surface is created
+ */
+ void SurfaceInitialized();
+
+ /**
* Sends an notification message from main loop idle handler
*/
void ProcessCoreEventsFromIdle();
Dali::Adaptor& mAdaptor; ///< Reference to public adaptor instance.
State mState; ///< Current state of the adaptor
Dali::Integration::Core* mCore; ///< Dali Core
- UpdateRenderController* mUpdateRenderController; ///< Controls update/render threads
+ ThreadController* mThreadController; ///< Controls the threads
VSyncMonitor* mVSyncMonitor; ///< Monitors VSync events
GlImplementation* mGLES; ///< GL implementation
GlSyncImplementation* mGlSync; ///< GL Sync implementation
Any mNativeWindow; ///< window identifier
RenderSurface* mSurface; ///< Current surface
- TizenPlatform::TizenPlatformAbstraction* mPlatformAbstraction; ///< Platform abstraction
+ TizenPlatform::TizenPlatformAbstraction* mPlatformAbstraction; ///< Platform abstraction
EventHandler* mEventHandler; ///< event handler
CallbackManager* mCallbackManager; ///< Used to install callbacks
bool mNotificationOnIdleInstalled; ///< whether the idle handler is installed to send an notification event
- TriggerEvent* mNotificationTrigger; ///< Notification event trigger
+ TriggerEventInterface* mNotificationTrigger; ///< Notification event trigger
GestureManager* mGestureManager; ///< Gesture manager
FeedbackPluginProxy* mDaliFeedbackPlugin; ///< Used to access feedback support
FeedbackController* mFeedbackController; ///< Plays feedback effects for Dali-Toolkit UI Controls.
ObjectProfiler* mObjectProfiler; ///< Tracks object lifetime for profiling
SocketFactory mSocketFactory; ///< Socket factory
const bool mEnvironmentOptionsOwned:1; ///< Whether we own the EnvironmentOptions (and thus, need to delete it)
+ bool mUseRemoteSurface; ///< whether the remoteSurface is used or not
public:
inline static Adaptor& GetImplementation(Dali::Adaptor& adaptor) {return *adaptor.mImpl;}
};