[dali_2.3.19] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / controls / page-turn-view / page-turn-view-impl.h
index 9ae696b..82f865a 100644 (file)
@@ -1,8 +1,8 @@
-#ifndef __DALI_TOOLKIT_INTERNAL_PAGE_TURN_VIEW_IMPL_H__
-#define __DALI_TOOLKIT_INTERNAL_PAGE_TURN_VIEW_IMPL_H__
+#ifndef DALI_TOOLKIT_INTERNAL_PAGE_TURN_VIEW_IMPL_H
+#define DALI_TOOLKIT_INTERNAL_PAGE_TURN_VIEW_IMPL_H
 
 /*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2021 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.
 // EXTERNAL INCLUDES
 #include <dali/devel-api/common/map-wrapper.h>
 #include <dali/public-api/actors/layer.h>
-#include <dali/public-api/actors/camera-actor.h>
-#include <dali/public-api/images/frame-buffer-image.h>
-#include <dali/public-api/render-tasks/render-task.h>
+#include <dali/public-api/rendering/renderer.h>
 
 // INTERNAL INCLUDES
-#include <dali-toolkit/public-api/controls/control-impl.h>
-#include <dali-toolkit/devel-api/controls/page-turn-view/page-turn-view.h>
 #include <dali-toolkit/devel-api/controls/page-turn-view/page-factory.h>
+#include <dali-toolkit/devel-api/controls/page-turn-view/page-turn-view.h>
 #include <dali-toolkit/devel-api/controls/shadow-view/shadow-view.h>
+#include <dali-toolkit/public-api/controls/control-impl.h>
 
 namespace Dali
 {
-
 namespace Toolkit
 {
-
 namespace Internal
 {
-
 class PageTurnView : public Control
 {
 protected:
+  /**
+   * The book page class
+   */
+  struct Page
+  {
+    /**
+     * Constructor
+     */
+    Page();
+    /**
+     * Destructor
+     */
+    ~Page(){};
+
+    /**
+     * Set the page texture content
+     * @param[in] texture The content of the page.
+     */
+    void SetTexture(Texture texture);
+
+    /**
+     * Apply an effect onto the page actor.
+     * @param[in] newShader The shader for rendering effect.
+     */
+    void UseEffect(Shader newShader);
+
+    /**
+     * Apply an effect onto the page actor.
+     * @param[in] newShader The shader for rendering effect.
+     * @param[in] geometry The geometry for rendering effect.
+     */
+    void UseEffect(Shader newShader, Geometry geometry);
+
+    /**
+     * Change the page turning direction.
+     */
+    void ChangeTurnDirection();
+
+    /**
+     * Set the pan displacement property
+     * @param[in] value The property value
+     */
+    void SetPanDisplacement(float value);
+
+    /**
+     * Set the pan center property
+     * @param[in] value The property value
+     */
+    void SetPanCenter(const Vector2& value);
+
+    /**
+     * Set the original center property to be used by shader
+     * @param[in] value The property value
+     */
+    void SetOriginalCenter(const Vector2& value);
+
+    /**
+     * Set the current center property to be used by shader
+     * @param[in] value The property value
+     */
+    void SetCurrentCenter(const Vector2& value);
+
+    Actor           actor;                   ///< The page actor
+    Shader          shader;                  ///< The shader used by the actor
+    TextureSet      textureSet;              ///< The set of textures used by the actor
+    Renderer        renderer;                ///< The renderer of the actor
+    bool            isTurnBack;              ///< The turning direction
+    Property::Index propertyPanDisplacement; ///< The horizontal displacement of the pan
+    Property::Index propertyPanCenter;       ///< The current pan position
+    Property::Index propertyOriginalCenter;  ///< The original center to be used by the shader
+    Property::Index propertyCurrentCenter;   ///< The current center to be used by the shader
+    Property::Index propertyTurnDirection;   ///< The turning direction property
+  };
 
+protected:
   /**
    * Constructor.
    * It initializes the PageTurnView members
    */
-  PageTurnView( PageFactory& pageFactory, const Vector2& pageSize );
+  PageTurnView(PageFactory& pageFactory, const Vector2& viewPageSize);
 
   /**
    * A reference counted object may only be deleted by calling Unreference()
@@ -56,74 +125,65 @@ protected:
   virtual ~PageTurnView();
 
 public:
-
   /**
-   * @copydoc Toolkit::PageTurnView::SetSpineShadowParameter
+   * Set the page size
+   * @param[in] viewPageSize The size of pages
    */
-  void SetSpineShadowParameter( const Vector2& spineShadowParameter );
+  void SetPageSize(const Vector2& viewPageSize);
 
   /**
-   * @copydoc Toolkit::PageTurnView::GetSpineShadowParameter
+   * Retrieve the page size.
+   * @return The page size.
    */
-  Vector2 GetSpineShadowParameter();
+  Vector2 GetPageSize();
 
   /**
-   * @copydoc Toolkit::PageTurnView::GoToPage
+   * Set the spine shadow parameter to the shader effects.
+   * The two parameters are the major&minor radius (in pixels) to form an ellipse shape.
+   * The top-left quarter of this ellipse is used to calculate spine normal for simulating shadow.
+   * @param [in] spineShadowParameter The major&minor ellipse radius for the simulated spine shadow.
    */
-  void GoToPage( unsigned int pageId );
+  void SetSpineShadowParameter(const Vector2& spineShadowParameter);
 
   /**
-   * @copydoc Toolkit::PageTurnView::GetCurrentPage
+   * Retrieve the spine shadow parameter of the shader effects.
+   * @return The spine shadow parameter.
    */
-  unsigned int GetCurrentPage();
-
-  /**
-   * @copydoc Toolkit::PageTurnView::EnterEditMode
-   */
-  Actor EnterEditMode();
-
-  /**
-   * @copydoc Toolkit::PageTurnView::LeaveEditMode
-   */
-  void LeaveEditMode();
-
-  /**
-   * @copydoc Toolkit::PageTurnView::GetHitActor
-   */
-  Actor GetHitActor( Vector2& screenCoordinates, Vector2& actorCoordinates );
+  Vector2 GetSpineShadowParameter();
 
-  /**
-   * @copydoc Toolkit::PageTurnView::RefreshAll
+  /*
+   * Jump to a given page.
+   * @param[in] pageId The new current page id.
    */
-  void RefreshAll();
+  void GoToPage(unsigned int pageId);
 
   /**
-   * @copydoc Toolkit::PageTurnView::RefreshCurrentPage
+   * Retrieve the id of the current Page.
+   * @return The current page id.
    */
-  void RefreshCurrentPage();
+  unsigned int GetCurrentPage();
 
 protected:
-
   /**
    * This method gets a page from the factory and add to the control
    * to keep NUMBER_OF_CACHED_PAGES_EACH_SIDE pages available in each side
    * @param[in] pageIndex The index of the page to be added
    */
-  void AddPage( int pageIndex );
+  void AddPage(int pageIndex);
 
   /**
    * This method removes a page from the control
    * to keep only NUMBER_OF_CACHED_PAGES_EACH_SIDE pages available in each side
    * @param[in] pageIndex The index of the page to be removed
    */
-  void RemovePage( int pageIndex );
+  void RemovePage(int pageIndex);
 
   /**
    * This method updates the actor and animation states after one page is turned over
    * This method is a callback, connected when receiving the finished signal of a page turning over animation.
    * @param [in] the page turning over animation handle
    */
-  void TurnedOver( Animation& animation );
+  void TurnedOver(Animation& animation);
 
   /**
    * This method organize the depth of the pages on stage
@@ -131,22 +191,15 @@ protected:
    */
   void OrganizePageDepth();
 
-  /**
-   * Set shader Effect to the actor.
-   * If the actor has children, the shader effect is also applied to its first child
-   * @param[in] actor The actor which the shader effect would be applied onto
-   * @param[in] shaderEffect The shader effect to be set to the actor
-   */
-  void SetShaderEffect( ImageActor actor, ShaderEffect shaderEffect );
-
 private:
-
   /**
-   * Set up the render tasks for rendering the page actor to off-screen image
+   * Create shader from a property map.
+   * @param[in] shaderMap The shader property map;
+   * @return The created shader.
    */
-  void SetupRenderTasks();
+  Shader CreateShader(const Property::Map& shaderMap);
 
- /**
 /**
   * Set up the shadow view control to cast shadow
   */
   void SetupShadowView();
@@ -155,58 +208,56 @@ private:
    * This method defines the processes when the pan started, gets called by OnPan( .. )
    * @param[in] gesturePosition The current touch position in local page actor coordinates.
    */
-  void PanStarted( const Vector2& gesturePosition );
+  void PanStarted(const Vector2& gesturePosition);
 
   /**
    * This method defines the processes when the pan continuing, gets called by OnPan( .. )
    * @param[in] gesturePosition The current touch position in local page actor coordinates.
    */
-  void PanContinuing( const Vector2& gesturePosition );
+  void PanContinuing(const Vector2& gesturePosition);
 
   /**
    * This method defines the processes when the pan finished, gets called by OnPanGesture( .. )
    * @param[in] gesturePosition The current touch position in local page actor coordinates.
    * @param[in] gestureSpeed The speed of the pan ( in pixels per millisecond )
    */
-  void PanFinished( const Vector2& gesturePosition, float gestureSpeed );
+  void PanFinished(const Vector2& gesturePosition, float gestureSpeed);
 
   /**
    * This method updates the actor and the animation states after one page is slidden back instead of turned over
    * This method is a callback, connected when receiving the finished signal of a page sliding back animation.
    * @param [in] the page sliding back animation handle
    */
-  void SliddenBack( Animation& animation );
+  void SliddenBack(Animation& animation);
 
   /**
-   * Refresh the given page.
-   @param[in] the page index.
+   * Stop the page turning animation and contraint.
+   * This method should be called when taking off stage or jump to a specified page.
    */
-  void RenderPage( int pageIndex );
+  void StopTurning();
 
 private: // from Control
-
   /**
    * @copydoc Toolkit::Control::OnPan
    */
-  virtual void OnPan( const PanGesture& gesture );
+  void OnPan(const PanGesture& gesture) override;
 
   /**
    * @copydoc Toolkit::Control::OnInitialize
    */
-  virtual void OnInitialize();
+  void OnInitialize() override;
 
   /**
-   * @copydoc CustomActorImpl::OnStageConnection()
+   * @copydoc CustomActorImpl::OnSceneConnection()
    */
-  virtual void OnStageConnection();
+  void OnSceneConnection(int depth) override;
 
   /**
-   * @copydoc CustomActorImpl::OnStageDisconnection()
+   * @copydoc CustomActorImpl::OnSceneDisconnection()
    */
-  virtual void OnStageDisconnection();
+  void OnSceneDisconnection() override;
 
 private: // implemented differently by PageTurnLandscapeView and PageTurnPortraitView
-
   /**
    * This method is called after the pageTurnView initialization.
    * To set the size of the control size and the parent origin of turning page layer
@@ -215,18 +266,14 @@ private: // implemented differently by PageTurnLandscapeView and PageTurnPortrai
   virtual void OnPageTurnViewInitialize() = 0;
 
   /**
-   * Create the page actor from off screen buffer
-   * @param[in] The index of the page to be added
-   */
-  virtual ImageActor NewPageFromRenderBuffer( int pageIndex ) = 0;
-
-  /**
    * This method is called after the a new page is added to the stage.
    * Could be re-implemented in subclasses to provide specific behaviour
    * @param[in] newPage The added page actor
    * @param[in] isLeftSide Which side the new page is added to
    */
-  virtual void OnAddPage( ImageActor newPage, bool isLeftSide ) { }
+  virtual void OnAddPage(Actor newPage, bool isLeftSide)
+  {
+  }
 
   /**
    * This method is called when pan started or continuing
@@ -235,23 +282,14 @@ private: // implemented differently by PageTurnLandscapeView and PageTurnPortrai
    * @param[in] gesturePosition The pan position in the control coordinate
    * @return The pan position in the page actor local coordinate
    */
-  virtual Vector2 SetPanPosition( const Vector2& gesturePosition ) = 0;
+  virtual Vector2 SetPanPosition(const Vector2& gesturePosition) = 0;
 
   /**
    * This method is called when pan started to determined which page is panned given the pan position in control coordinate
    * Implemented in subclasses to provide specific behaviour.
    * @param[in] gesturePosition The pan position in the control coordinate
    */
-  virtual void SetPanActor( const Vector2& panPosition ) = 0;
-
-  /**
-   * This method is called when a page is turned over or slidden back
-   * Remove PageTurnEffect and use a proper PageTurnBookSpineEffect
-   * Implemented in subclasses to provide specific behaviour.
-   * @param[in] actor The current page actor
-   * @param[in] isLeftSide Which side the current page is located
-   */
-  virtual void SetSpineEffect(ImageActor actor, bool isLeftSide) = 0;
+  virtual void SetPanActor(const Vector2& panPosition) = 0;
 
   /**
    * This method is called when pan finished to detect outwards flick
@@ -260,10 +298,21 @@ private: // implemented differently by PageTurnLandscapeView and PageTurnPortrai
    * @param[in] panPosition The pan position in the page actor local coordinate
    * @param[in] gestureSpeed The speed of the pan gesture( in pixels per millisecond )
    */
-  virtual void OnPossibleOutwardsFlick( const Vector2& panPosition, float gestureSpeed ) { }
+  virtual void OnPossibleOutwardsFlick(const Vector2& panPosition, float gestureSpeed)
+  {
+  }
 
-public: //signal
+  /**
+   * This method is called when page is turned over
+   * In portrait view, the page on the left side is not rendered
+   * @param[in] actor The page actor
+   * @param[in] isLeftSide Which side the page is turned to
+   */
+  virtual void OnTurnedOver(Actor actor, bool isLeftSide)
+  {
+  }
 
+public: //signal and property
   /**
    * @copydoc Toolkit::PageTurnView::PageTurnStartedSignal()
    */
@@ -284,81 +333,95 @@ public: //signal
    */
   Toolkit::PageTurnView::PagePanSignal& PagePanFinishedSignal();
 
-private:
+  /**
+    * Connects a callback function with the object's signals.
+    * @param[in] object The object providing the signal.
+    * @param[in] tracker Used to disconnect the signal.
+    * @param[in] signalName The signal to connect to.
+    * @param[in] functor A newly allocated FunctorDelegate.
+    * @return True if the signal was connected.
+    * @post If a signal was connected, ownership of functor was passed to CallbackBase. Otherwise the caller is responsible for deleting the unused functor.
+    */
+  static bool DoConnectSignal(BaseObject* object, ConnectionTrackerInterface* tracker, const std::string& signalName, FunctorDelegate* functor);
 
+  // Properties
+
+  /**
+   * Called when a property of an object of this type is set.
+   * @param[in] object The object whose property is set.
+   * @param[in] index The property index.
+   * @param[in] value The new property value.
+   */
+  static void SetProperty(BaseObject* object, Property::Index index, const Property::Value& value);
+
+  /**
+   * Called to retrieve a property of an object of this type.
+   * @param[in] object The object whose property is to be retrieved.
+   * @param[in] index The property index.
+   * @return The current value of the property.
+   */
+  static Property::Value GetProperty(BaseObject* object, Property::Index index);
+
+private:
   //Undefined
-  PageTurnView( const PageTurnView& );
+  PageTurnView(const PageTurnView&);
 
   //undefined
   PageTurnView& operator=(const PageTurnView& rhs);
 
 protected:
-
-  Actor                          mRootOnScreen;
-
-  Vector2                        mControlSize;             ///< The size of the control, it is decided by the page size, the SetSize from application can not change it
-  Layer                          mTurningPageLayer;        ///< The layer for the turning page, to avoid possible depth conflict
-  Toolkit::ShadowView            mShadowView;              ///< The shadow view control for shadow casting
-  ImageActor                     mShadowPlane;             ///< The plane for the shadow to cast on
-  Actor                          mPointLight;              ///< The point light used for shadow casting
-  Layer                          mShadowLayer;             ///< The layer to display the shadow
-
-  PageFactory&                   mPageFactory;             ///< The page factory which provides the page actors
-  Vector2                        mPageSize;                ///< The page size
-  int                            mTotalPageCount;          ///< The total number of pages provided by the page factory
-
-  bool                           mIsEditMode;              ///< The boolean to indicate the current page content is edit-able or not
-
-  bool                           mNeedOffscreenRendering;  ///< The boolean to indicate whether off screen rendering is required for creating page image
-  std::vector<RenderTask>        mOffscreenTask;           ///< The vector of off screen rendering tasks
-  std::vector<Actor>             mPageSourceActor;         ///< The vector of page source actor
-  std::vector<FrameBufferImage>  mRenderedPage;            ///< The vector of off screen buffers
-  CameraActor                    mCameraActor;             ///< The camera actor attached to the off screen tasks
-  bool                           mPanning;                 ///< The boolean to indicate whether the pan gesture is continuing
-
-  std::vector<ShaderEffect>      mTurnEffect;              ///< The group of PageTurnEffects
-  ShaderEffect                   mSpineEffectFront;        ///< The book spine shader effect without flipping image content
-  ShaderEffect                   mSpineEffectBack;         ///< The book spine shader effect with image content flipped
-  Vector2                        mSpineShadowParameter;    ///< The spine shadow parameter for all the above shader effects
-  Vector2                        mOriginalCenter;          ///< The original center set to the PageTurnEffect
-  Vector2                        mCurrentCenter;           ///< The current center set to the PageTurnEffect
-
-  std::vector<ImageActor>        mPageActors;              ///< The vector of pages on stage
-  int                            mCurrentPageIndex;        ///< The index of the current page, between 0 ~ mTotalPageCount-1
-  std::map<ImageActor,bool>      mIsTurnBack;              ///< The map to keep track the page actor's turning direction
-  std::map<Animation,ImageActor> mAnimationActorPair;      ///< The map to keep track which page actor is the animation act on
-  std::map<Animation, int>       mAnimationIndexPair;      ///< The map to keep track which PageTurnEffect, PanDisplacementProperty, CurrentCenterProperty is used for the animation
-  int                            mIndex;                   ///< The index to keep track which PageTurnEffect, PanDisplacementProperty, CurrentCenterProperty is used for the current panning page
-  std::vector<bool>              mIsAnimating;             ///< The boolean vector to keep track which PageTurnEffect, PanDisplacementProperty, CurrentCenterProperty is available for using
-  std::vector<bool>              mIsSliding;               ///< The boolean vector to keep track whether there are animating pages sliding back
-
-  ImageActor                     mPanActor;                ///< The page being panned by the pan gesture
-  Vector2                        mPressDownPosition;       ///< The first press down position of the pan gesture
-  bool                           mPress;                   ///< The boolean to keep track the state of the pageTurnEffect is activated or not
-  bool                           mPageUpdated;             ///< The boolean to keep track whether is page is updated after any turning activity
-
-  float                          mDistanceUpCorner;        ///< The distance between the original center of PageTurnEffect and the top-left corner of the page
-  float                          mDistanceBottomCorner;    ///< The distance between the original center of PageTurnEffect and the bottom-left corner of the page
-
-  std::vector<Property::Index>   mPropertyPanDisplacement; ///< The pan displacement property group
-  std::vector<Property::Index>   mPropertyCurrentCenter;   ///< The current center property group
-  float                          mPanDisplacement;         ///< The displacement of the pan after the constrains are applied
-  bool                           mConstraints;             ///< The boolean to keep track the constrains are applied or not
-
-  Toolkit::PageTurnView::PageTurnSignal   mPageTurnStartedSignal;   ///< The signal to notify that a page has started turning
-  Toolkit::PageTurnView::PageTurnSignal   mPageTurnFinishedSignal;  ///< The signal to notify that a page has finished turning
-  Toolkit::PageTurnView::PagePanSignal    mPagePanStartedSignal;    ///< The signal to notify that a page has started panning
-  Toolkit::PageTurnView::PagePanSignal    mPagePanFinishedSignal;   ///< The signal to notify that a page has finished panning
-
-  static const int               MAXIMUM_TURNING_NUM;                  ///< How many pages are allowed to animating in the same time
-  static const int               NUMBER_OF_CACHED_PAGES_EACH_SIDE;     ///< The maximum number of pages kept, (MAXIMUM_ANIMATION_NUM+1) pages for each side
-  static const int               NUMBER_OF_CACHED_PAGES;               ///< The maximum number of pages kept, (MAXIMUM_ANIMATION_NUM+1)*2 pages in total
-  static const float             STATIC_PAGE_INTERVAL_DISTANCE;        ///< The depth interval between stacked pages (static pages)
+  Layer               mTurningPageLayer;      ///< The layer for the turning page, to avoid possible depth conflict
+  Toolkit::ShadowView mShadowView;            ///< The shadow view control for shadow casting
+  Actor               mShadowPlaneBackground; ///< The plane for the shadow to cast on
+  Actor               mPointLight;            ///< The point light used for shadow casting
+
+  PageFactory* const mPageFactory;       ///< The factory which provides the page actors
+  Shader             mTurnEffectShader;  ///< The group of PageTurnEffects
+  Shader             mSpineEffectShader; ///< The book spine shader effect
+  Geometry           mGeometry;          ///< The grid geometry for pages
+
+  std::vector<Page>        mPages;               ///< The vector of pages on stage
+  std::map<Animation, int> mAnimationPageIdPair; ///< The map to keep track which page actor is the animation act on
+
+  Vector2 mPageSize;             ///< The page size
+  Vector2 mControlSize;          ///< The size of the control, it is decided by the page size, the SetSize from application can not change it
+  Vector2 mSpineShadowParameter; ///< The spine shadow parameter for all the above shader effects
+  Vector2 mOriginalCenter;       ///< The original center set to the PageTurnEffect
+  Vector2 mCurrentCenter;        ///< The current center set to the PageTurnEffect
+  Vector2 mPressDownPosition;    ///< The first press down position of the pan gesture
+
+  float mDistanceUpCorner;     ///< The distance between the original center of PageTurnEffect and the top-left corner of the page
+  float mDistanceBottomCorner; ///< The distance between the original center of PageTurnEffect and the bottom-left corner of the page
+  float mPanDisplacement;      ///< The displacement of the pan after the constrains are applied
+
+  int mTotalPageCount;   ///< The total number of pages provided by the page factory
+  int mCurrentPageIndex; ///< The index of the current page, between 0 ~ mTotalPageCount-1
+  int mTurningPageIndex; ///< The index of the turning page
+  int mIndex;            ///< The index to keep track which PanDisplacementProperty, CurrentCenterProperty is used for the current panning page
+  int mSlidingCount;     ///< The boolean vector to keep track whether there are animating pages sliding back
+  int mAnimatingCount;   ///< The boolean vector to keep track which PageTurnEffect, PanDisplacementProperty, CurrentCenterProperty is available for using
+
+  bool mConstraints; ///< The boolean to keep track the constrains are applied or not
+  bool mPress;       ///< The boolean to keep track the state of the pageTurnEffect is activated or not
+  bool mPageUpdated; ///< The boolean to keep track whether is page is updated after any turning activity
+
+  Toolkit::PageTurnView::PageTurnSignal mPageTurnStartedSignal;  ///< The signal to notify that a page has started turning
+  Toolkit::PageTurnView::PageTurnSignal mPageTurnFinishedSignal; ///< The signal to notify that a page has finished turning
+  Toolkit::PageTurnView::PagePanSignal  mPagePanStartedSignal;   ///< The signal to notify that a page has started panning
+  Toolkit::PageTurnView::PagePanSignal  mPagePanFinishedSignal;  ///< The signal to notify that a page has finished panning
+
+  static const char* const PROPERTY_TEXTURE_WIDTH;   ///< The uniform name of texture width
+  static const char* const PROPERTY_ORIGINAL_CENTER; ///< The property name of original center, which is used to constrain the uniforms
+  static const char* const PROPERTY_CURRENT_CENTER;  ///< The property name of current center, which is used to constrain the uniforms
+
+  static const int   MAXIMUM_TURNING_NUM;              ///< How many pages are allowed to animating in the same time
+  static const int   NUMBER_OF_CACHED_PAGES_EACH_SIDE; ///< The maximum number of pages kept, (MAXIMUM_ANIMATION_NUM+1) pages for each side
+  static const int   NUMBER_OF_CACHED_PAGES;           ///< The maximum number of pages kept, (MAXIMUM_ANIMATION_NUM+1)*2 pages in total
+  static const float STATIC_PAGE_INTERVAL_DISTANCE;    ///< The depth interval between stacked pages (static pages)
 };
 
 } // namespace Internal
 
-
 // Helpers for public-api forwarding methods
 
 inline Toolkit::Internal::PageTurnView& GetImplementation(Toolkit::PageTurnView& pub)
@@ -382,4 +445,5 @@ inline const Toolkit::Internal::PageTurnView& GetImplementation(const Toolkit::P
 } // namespace Toolkit
 
 } // namespace Dali
-#endif /* __DALI_TOOLKIT_INTERNAL_PAGE_TURN_VIEW_IMPL_H__ */
+
+#endif // DALI_TOOLKIT_INTERNAL_PAGE_TURN_VIEW_IMPL_H