X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Ftext-controls%2Ftext-field-impl.cpp;h=9ad7a844dcee268e9f6e80596d2125446da2f01a;hp=4cca3fdd790f684344560c913caf9dd77c4de7fb;hb=0be39f538a909485d8d30e02911a011fa5f6868f;hpb=8112af2d369becef537a1decac926550675f71ef diff --git a/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp b/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp index 4cca3fd..9ad7a84 100644 --- a/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp +++ b/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp @@ -1333,6 +1333,14 @@ float TextField::GetHeightForWidth(float width) return mController->GetHeightForWidth(width) + padding.top + padding.bottom; } +void TextField::ResizeActor(Actor& actor, const Vector2& size) +{ + if (actor.GetProperty(Dali::Actor::Property::SIZE).GetVectorXY() != size) + { + actor.SetProperty(Actor::Property::SIZE, size); + } +} + void TextField::OnRelayout(const Vector2& size, RelayoutContainer& container) { DALI_LOG_INFO(gLogFilter, Debug::Verbose, "TextField OnRelayout\n"); @@ -1362,10 +1370,12 @@ void TextField::OnRelayout(const Vector2& size, RelayoutContainer& container) if(mStencil) { mStencil.SetProperty(Actor::Property::POSITION, Vector2(padding.start, padding.top)); + ResizeActor(mStencil, contentSize); } if(mActiveLayer) { mActiveLayer.SetProperty(Actor::Property::POSITION, Vector2(padding.start, padding.top)); + ResizeActor(mActiveLayer, contentSize); } const Text::Controller::UpdateTextType updateTextType = mController->Relayout(contentSize, layoutDirection); @@ -1378,7 +1388,7 @@ void TextField::OnRelayout(const Vector2& size, RelayoutContainer& container) if(mDecorator && (Text::Controller::NONE_UPDATED != (Text::Controller::DECORATOR_UPDATED & updateTextType))) { - mDecorator->Relayout(size); + mDecorator->Relayout(contentSize); } if(!mRenderer)