X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Fclipping%2Ftext-clipper.cpp;h=c4d9a871663cd2cada4ad42c292aeb70ae771d36;hb=9598e692217c5fb541d862a3957b3efd5fd5171d;hp=7a79e4c58f0ffd8f2db378704ea13db11b2cebcd;hpb=d04c5bdbb95cc98f90848c7a98b0b2804df6e5b8;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/text/clipping/text-clipper.cpp b/dali-toolkit/internal/text/clipping/text-clipper.cpp index 7a79e4c..c4d9a87 100644 --- a/dali-toolkit/internal/text/clipping/text-clipper.cpp +++ b/dali-toolkit/internal/text/clipping/text-clipper.cpp @@ -19,10 +19,9 @@ #include // EXTERNAL INCLUDES -#include #include #include -#include +#include namespace { @@ -57,7 +56,7 @@ Actor Clipper::GetRootActor() const return mOffscreenRootActor; } -ImageActor Clipper::GetImageActor() const +Actor Clipper::GetImageActor() const { return mImageActor; } @@ -79,6 +78,8 @@ void Clipper::Refresh( const Vector2& size ) offscreenSize.height, Pixel::RGBA8888 ); + mOffscreenRootActor.SetSize( size ); + mImageActor.SetSize( offscreenSize ); mImageActor.SetImage( frameBufferImage ); mRenderTask.SetTargetFrameBuffer( frameBufferImage ); @@ -97,18 +98,14 @@ void Clipper::Initialize( const Vector2& size ) // Create a root actor and an image actor for offscreen rendering. mOffscreenRootActor = Layer::New(); - mOffscreenRootActor.SetRelayoutEnabled( false ); mOffscreenRootActor.SetColorMode( USE_OWN_COLOR ); - mOffscreenRootActor.SetPositionInheritanceMode( DONT_INHERIT_POSITION ); + mOffscreenRootActor.SetInheritPosition( false ); mOffscreenRootActor.SetInheritScale( false ); mOffscreenRootActor.SetDepthTestDisabled( true ); mOffscreenRootActor.SetSize( offscreenSize ); - mImageActor = ImageActor::New(); - mImageActor.SetRelayoutEnabled( false ); + mImageActor = ImageView::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.SetSize( offscreenSize ); @@ -132,11 +129,19 @@ void Clipper::Initialize( const Vector2& size ) Pixel::RGBA8888 ); mImageActor.SetImage( frameBufferImage ); mRenderTask.SetTargetFrameBuffer( frameBufferImage ); + mImageActor.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 = mImageActor.GetRendererAt(0); + renderer.SetBlendFunc(BlendingFactor::ONE, BlendingFactor::ONE_MINUS_SRC_ALPHA, + BlendingFactor::ONE, BlendingFactor::ONE); +} + Clipper::Clipper() { }