Vector2 contentSize( size.x - ( padding.start + padding.end ), size.y - ( padding.top + padding.bottom ) );
- // If the same text comes for relayouting for same layout size we don't need to calculate point size again.
- // Like for color change.
- if (mController->IsTextFitEnabled() && (mController->GetTextFitContentSize() != contentSize ) )
+ if( mController->IsTextFitEnabled() )
{
- mController->FitPointSizeforLayout(contentSize);
- mController->SetTextFitContentSize(contentSize);
+ mController->FitPointSizeforLayout( contentSize );
+ mController->SetTextFitContentSize( contentSize );
}
// Support Right-To-Left
void Controller::FitPointSizeforLayout( Size layoutSize )
{
+ const OperationsMask operations = mImpl->mOperationsPending;
+ if( NO_OPERATION != ( UPDATE_LAYOUT_SIZE & operations ) )
+ {
bool actualellipsis = mImpl->mModel->mElideEnabled;
float minPointSize = mImpl->mTextFitMinSize;
float maxPointSize = mImpl->mTextFitMaxSize;
mImpl->mFontDefaults->mFitPointSize = pointSizeArray[bestSizeIndex];
mImpl->mFontDefaults->sizeDefined = true;
ClearFontData();
+ }
}
float Controller::GetHeightForWidth( float width )