void Controller::FitPointSizeforLayout( Size layoutSize )
{
const OperationsMask operations = mImpl->mOperationsPending;
- if( NO_OPERATION != ( UPDATE_LAYOUT_SIZE & operations ) )
+ if( NO_OPERATION != ( UPDATE_LAYOUT_SIZE & operations ) || mImpl->mTextFitContentSize != layoutSize )
{
bool actualellipsis = mImpl->mModel->mElideEnabled;
float minPointSize = mImpl->mTextFitMinSize;
// Clear the update info. This info will be set the next time the text is updated.
mImpl->mTextUpdateInfo.Clear();
+ // FullRelayoutNeeded should be true because DoRelayout is MAX_FLOAT, MAX_FLOAT.
+ mImpl->mTextUpdateInfo.mFullRelayoutNeeded = true;
+
mImpl->mUpdateTextDirection = false;
}
// it means all texts should be removed and all Preedit variables should be initialized.
if( ( currentText.Count() - numberOfCharacters == 0 ) && ( cursorIndex == 0 ) )
{
- if( mImpl->mEventData )
- {
- mImpl->mEventData->mPreEditStartPosition = 0;
- mImpl->mEventData->mPreEditLength = 0;
- }
+ mImpl->ClearPreEditFlag();
}
// Updates the text style runs by removing characters. Runs with no characters are removed.
mImpl->mEventData->mScrollAfterDelete = true;
+ if( EventData::INACTIVE == mImpl->mEventData->mState )
+ {
+ mImpl->ChangeState( EventData::EDITING );
+ }
+
DALI_LOG_INFO( gLogFilter, Debug::General, "Controller::RemoveText %p removed %d\n", this, numberOfCharacters );
removed = true;
}