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=8b0f77fe4026cb2f7b777c874304a4451dae1ccc;hpb=70ee2ab38bb1aa71222e65863ebb98d395c449a2;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 8b0f77f..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 ); @@ -98,15 +99,13 @@ void Clipper::Initialize( const Vector2& size ) // Create a root actor and an image actor 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.SetSize( offscreenSize ); - mImageActor = ImageActor::New(); + 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 ); @@ -130,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() { }