X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fadaptor%2Fcommon%2Fcombined-update-render-controller.h;h=bdb51b013fa53f56cd5481f5a91ca3c819a9c94e;hb=e8e185f7d90010214890c2cb78bdd52c732f63ba;hp=2e2dcad91cb4eef36e97600f4da9720ff2e5c25a;hpb=8814a02ff69d5f5dba9a021dae254113d9c723a0;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/dali/internal/adaptor/common/combined-update-render-controller.h b/dali/internal/adaptor/common/combined-update-render-controller.h index 2e2dcad..bdb51b0 100644 --- a/dali/internal/adaptor/common/combined-update-render-controller.h +++ b/dali/internal/adaptor/common/combined-update-render-controller.h @@ -1,8 +1,8 @@ -#ifndef __DALI_INTERNAL_COMBINED_UPDATE_RENDER_CONTROLLER_H__ -#define __DALI_INTERNAL_COMBINED_UPDATE_RENDER_CONTROLLER_H__ +#ifndef DALI_INTERNAL_COMBINED_UPDATE_RENDER_CONTROLLER_H +#define DALI_INTERNAL_COMBINED_UPDATE_RENDER_CONTROLLER_H /* - * Copyright (c) 2017 Samsung Electronics Co., Ltd. + * Copyright (c) 2018 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. @@ -28,14 +28,15 @@ #include #include #include -#include #include #include +#include + namespace Dali { -class RenderSurface; +class RenderSurfaceInterface; class TriggerEventInterface; namespace Internal @@ -123,7 +124,7 @@ public: /** * @copydoc ThreadControllerInterface::ReplaceSurface() */ - virtual void ReplaceSurface( RenderSurface* surface ); + virtual void ReplaceSurface( Dali::RenderSurfaceInterface* surface ); /** * @copydoc ThreadControllerInterface::ResizeSurface() @@ -135,6 +136,11 @@ public: */ virtual void SetRenderRefreshRate( unsigned int numberOfFramesPerRender ); + /** + * @copydoc ThreadControllerInterface::SetPreRenderCallback + */ + void SetPreRenderCallback( CallbackBase* callback ) override; + private: // Undefined copy constructor. @@ -211,7 +217,7 @@ private: * * @return Pointer to the new surface, NULL otherwise */ - RenderSurface* ShouldSurfaceBeReplaced(); + Integration::RenderSurface* ShouldSurfaceBeReplaced(); /** * Called by the Update/Render thread after a surface has been replaced. @@ -294,8 +300,6 @@ private: FpsTracker mFpsTracker; ///< Object that tracks the FPS UpdateStatusLogger mUpdateStatusLogger; ///< Object that logs the update-status as required. - RenderHelper mRenderHelper; ///< Helper class for EGL, pre & post rendering - sem_t mEventThreadSemaphore; ///< Used by the event thread to ensure all threads have been initialised, and when replacing the surface. ConditionalWait mUpdateRenderThreadWaitCondition; ///< The wait condition for the update-render-thread. @@ -306,6 +310,7 @@ private: const EnvironmentOptions& mEnvironmentOptions; ///< Environment options TriggerEventInterface& mNotificationTrigger; ///< Reference to notification event trigger TriggerEventInterface* mSleepTrigger; ///< Used by the update-render thread to trigger the event thread when it no longer needs to do any updates + CallbackBase* mPreRenderCallback; ///< Used by Update/Render thread when PreRender is about to be called on graphics. pthread_t* mUpdateRenderThread; ///< The Update/Render thread. @@ -329,11 +334,11 @@ private: volatile unsigned int mUseElapsedTimeAfterWait; ///< Whether we should use the elapsed time after waiting (set by the event-thread, read by the update-render-thread). - RenderSurface* volatile mNewSurface; ///< Will be set to the new-surface if requested (set by the event-thread, read & cleared by the update-render thread). + Integration::RenderSurface* volatile mNewSurface; ///< Will be set to the new-surface if requested (set by the event-thread, read & cleared by the update-render thread). volatile unsigned int mPostRendering; ///< Whether post-rendering is taking place (set by the event & render threads, read by the render-thread). volatile unsigned int mSurfaceResized; ///< Will be set to resize the surface (set by the event-thread, read & cleared by the update-render thread). - volatile unsigned int mForceClear; ///< Will be set to clear forcely + volatile unsigned int mForceClear; ///< Will be set to clear forcibly }; } // namespace Adaptor @@ -342,4 +347,4 @@ private: } // namespace Dali -#endif // __DALI_INTERNAL_COMBINED_UPDATE_RENDER_CONTROLLER_H__ +#endif // DALI_INTERNAL_COMBINED_UPDATE_RENDER_CONTROLLER_H