Merge "Updating programming guide for control property registration" into devel/master
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / text / clipping / text-clipper.h
index 26bff0b..5f5be4b 100644 (file)
 
 // EXTERNAL INCLUDES
 #include <dali/public-api/actors/layer.h>
-#include <dali/public-api/actors/image-actor.h>
 #include <dali/public-api/actors/camera-actor.h>
 #include <dali/public-api/render-tasks/render-task.h>
+#include <dali-toolkit/public-api/controls/image-view/image-view.h>
+#include <dali/public-api/signals/connection-tracker.h>
 
 namespace Dali
 {
@@ -39,7 +40,7 @@ typedef IntrusivePtr<Clipper> ClipperPtr;
 /**
  * @brief A helper class for clipping actors using a FrameBufferImage.
  */
-class Clipper : public RefObject
+class Clipper : public RefObject, public ConnectionTracker
 {
 public:
 
@@ -53,7 +54,7 @@ public:
   /**
    * @brief Children added to this actor will be clipped with the specified region.
    *
-   * @note This is done by rendering to a FrameBufferImage which must then be displayed; see also GetImageActor().
+   * @note This is done by rendering to a FrameBufferImage which must then be displayed; see also GetImageView().
    * @return The root actor.
    */
   Actor GetRootActor() const;
@@ -61,9 +62,9 @@ public:
   /**
    * @brief This actor will display the resulting FrameBufferImage.
    *
-   * @return The image actor.
+   * @return The image view.
    */
-  ImageActor GetImageActor() const;
+  Actor GetImageView() const;
 
   /**
    * @brief Refresh the contents of the FrameBufferImage.
@@ -82,6 +83,13 @@ private: // Implementation
   void Initialize( const Vector2& size );
 
   /**
+   * The renderer is not created until the clipper actor is set on stage, only by then the blend function could be set.
+   *
+   * @param[in] actor The actor connected to stage.
+   */
+  void OnStageConnect( Dali::Actor actor );
+
+  /**
    * Construct a new Clipper.
    */
   Clipper();
@@ -101,7 +109,7 @@ private: // Data
 
   Layer mOffscreenRootActor;
   CameraActor mOffscreenCameraActor;
-  ImageActor mImageActor;
+  ImageView mImageView;
   RenderTask mRenderTask;
   Vector2 mCurrentOffscreenSize;
 };