Remove ImageActor from comments and variable names
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / text / clipping / text-clipper.cpp
index 92dbaa4..2286a5b 100644 (file)
 #include <dali-toolkit/internal/text/clipping/text-clipper.h>
 
 // EXTERNAL INCLUDES
-#include <algorithm>
 #include <dali/public-api/common/stage.h>
 #include <dali/public-api/render-tasks/render-task-list.h>
-#include <dali/integration-api/debug.h>
+#include <dali/devel-api/rendering/renderer.h>
 
 namespace
 {
@@ -57,9 +56,9 @@ Actor Clipper::GetRootActor() const
   return mOffscreenRootActor;
 }
 
-ImageActor Clipper::GetImageActor() const
+Actor Clipper::GetImageView() const
 {
-  return mImageActor;
+  return mImageView;
 }
 
 void Clipper::Refresh( const Vector2& size )
@@ -78,9 +77,11 @@ void Clipper::Refresh( const Vector2& size )
     FrameBufferImage frameBufferImage = FrameBufferImage::New( offscreenSize.width,
                                                                offscreenSize.height,
                                                                Pixel::RGBA8888 );
-    mImageActor.SetPreferredSize( offscreenSize );
-    mImageActor.SetResizePolicy( FIXED, ALL_DIMENSIONS );
-    mImageActor.SetImage( frameBufferImage );
+
+    mOffscreenRootActor.SetSize( size );
+
+    mImageView.SetSize( offscreenSize );
+    mImageView.SetImage( frameBufferImage );
     mRenderTask.SetTargetFrameBuffer( frameBufferImage );
 
     // Stores current sizPe to avoid create new Dali resources if text changes.
@@ -95,22 +96,18 @@ void Clipper::Initialize( const Vector2& size )
   const Size offscreenSize( std::min( MAX_OFFSCREEN_RENDERING_SIZE, size.width ),
                             std::min( MAX_OFFSCREEN_RENDERING_SIZE, size.height ) );
 
-  // Create a root actor and an image actor for offscreen rendering.
+  // Create a root actor and an image view for offscreen rendering.
   mOffscreenRootActor = Layer::New();
   mOffscreenRootActor.SetColorMode( USE_OWN_COLOR );
-  mOffscreenRootActor.SetPositionInheritanceMode( DONT_INHERIT_POSITION );
+  mOffscreenRootActor.SetInheritPosition( false );
   mOffscreenRootActor.SetInheritScale( false );
   mOffscreenRootActor.SetDepthTestDisabled( true );
-  mOffscreenRootActor.SetResizePolicy( FIXED, ALL_DIMENSIONS );
-  mOffscreenRootActor.SetPreferredSize( offscreenSize );
+  mOffscreenRootActor.SetSize( offscreenSize );
 
-  mImageActor = ImageActor::New();
-  mImageActor.SetParentOrigin( ParentOrigin::CENTER );
-  mImageActor.SetBlendFunc( BlendingFactor::ONE, BlendingFactor::ONE_MINUS_SRC_ALPHA,
-                            BlendingFactor::ONE, BlendingFactor::ONE );
-  mImageActor.SetScale( Vector3( 1.0f, -1.0f, 1.0f ) );
-  mImageActor.SetPreferredSize( offscreenSize );
-  mImageActor.SetResizePolicy( FIXED, ALL_DIMENSIONS );
+  mImageView = ImageView::New();
+  mImageView.SetParentOrigin( ParentOrigin::CENTER );
+  mImageView.SetScale( Vector3( 1.0f, -1.0f, 1.0f ) );
+  mImageView.SetSize( offscreenSize );
 
   // Creates a new camera actor.
   mOffscreenCameraActor = CameraActor::New();
@@ -130,13 +127,23 @@ void Clipper::Initialize( const Vector2& size )
   FrameBufferImage frameBufferImage = FrameBufferImage::New( offscreenSize.width,
                                                              offscreenSize.height,
                                                              Pixel::RGBA8888 );
-  mImageActor.SetImage( frameBufferImage );
+  mImageView.SetImage( frameBufferImage );
   mRenderTask.SetTargetFrameBuffer( frameBufferImage );
+  mImageView.OnStageSignal().Connect(this, &Clipper::OnStageConnect);
 
   // Stores current size to avoid create new Dali resources if text changes.
   mCurrentOffscreenSize = offscreenSize;
 }
 
+void Clipper::OnStageConnect( Dali::Actor actor )
+{
+  Renderer renderer = mImageView.GetRendererAt(0);
+  renderer.SetProperty( Renderer::Property::BLEND_FACTOR_SRC_RGB,    BlendFactor::ONE );
+  renderer.SetProperty( Renderer::Property::BLEND_FACTOR_DEST_RGB,   BlendFactor::ONE_MINUS_SRC_ALPHA );
+  renderer.SetProperty( Renderer::Property::BLEND_FACTOR_SRC_ALPHA,  BlendFactor::ONE );
+  renderer.SetProperty( Renderer::Property::BLEND_FACTOR_DEST_ALPHA, BlendFactor::ONE );
+}
+
 Clipper::Clipper()
 {
 }
@@ -146,7 +153,7 @@ Clipper::~Clipper()
   if( Stage::IsInstalled() )
   {
     UnparentAndReset( mOffscreenRootActor );
-    UnparentAndReset( mImageActor );
+    UnparentAndReset( mImageView );
 
     Stage::GetCurrent().GetRenderTaskList().RemoveTask( mRenderTask );
   }