X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Ftext-controller.cpp;h=e660591aa693c4fe87b2867185ab064f6ee78b03;hb=55e1976335d0098eff26d44a245de161a6a2a231;hp=f82eada0fad1e211cab6fc4269eaf30b9b7359f1;hpb=b31354c6e542fbf4658964882bdd2591935e36f6;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/text/text-controller.cpp b/dali-toolkit/internal/text/text-controller.cpp index f82eada..e660591 100755 --- a/dali-toolkit/internal/text/text-controller.cpp +++ b/dali-toolkit/internal/text/text-controller.cpp @@ -2045,7 +2045,6 @@ Vector3 Controller::GetNaturalSize() GET_SCRIPTS | VALIDATE_FONTS | GET_LINE_BREAKS | - GET_WORD_BREAKS | BIDI_INFO | SHAPE_TEXT | GET_GLYPH_METRICS ); @@ -2117,7 +2116,6 @@ bool Controller::CheckForTextFit( float pointSize, Size& layoutSize ) GET_SCRIPTS | VALIDATE_FONTS | GET_LINE_BREAKS | - GET_WORD_BREAKS | BIDI_INFO | SHAPE_TEXT| GET_GLYPH_METRICS ); @@ -2213,7 +2211,6 @@ float Controller::GetHeightForWidth( float width ) GET_SCRIPTS | VALIDATE_FONTS | GET_LINE_BREAKS | - GET_WORD_BREAKS | BIDI_INFO | SHAPE_TEXT | GET_GLYPH_METRICS ); @@ -2435,7 +2432,6 @@ Toolkit::DevelText::TextDirection::Type Controller::GetTextDirection() GET_SCRIPTS | VALIDATE_FONTS | GET_LINE_BREAKS | - GET_WORD_BREAKS | BIDI_INFO | SHAPE_TEXT | GET_GLYPH_METRICS ); @@ -3712,6 +3708,17 @@ bool Controller::RemoveText( int cursorOffset, } } + // If the number of current text and the number of characters to be deleted are same, + // 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; + } + } + // Updates the text style runs by removing characters. Runs with no characters are removed. mImpl->mModel->mLogicalModel->UpdateTextStyleRuns( cursorIndex, -numberOfCharacters ); @@ -3818,32 +3825,11 @@ bool Controller::DoRelayout( const Size& size, return true; } - const Vector& lineBreakInfo = mImpl->mModel->mLogicalModel->mLineBreakInfo; - const Vector& wordBreakInfo = mImpl->mModel->mLogicalModel->mWordBreakInfo; - const Vector& characterDirection = mImpl->mModel->mLogicalModel->mCharacterDirections; - const Vector& glyphs = mImpl->mModel->mVisualModel->mGlyphs; - const Vector& glyphsToCharactersMap = mImpl->mModel->mVisualModel->mGlyphsToCharacters; - const Vector& charactersPerGlyph = mImpl->mModel->mVisualModel->mCharactersPerGlyph; const Character* const textBuffer = mImpl->mModel->mLogicalModel->mText.Begin(); - const float outlineWidth = static_cast( mImpl->mModel->GetOutlineWidth() ); // Set the layout parameters. Layout::Parameters layoutParameters( size, - textBuffer, - lineBreakInfo.Begin(), - wordBreakInfo.Begin(), - ( 0u != characterDirection.Count() ) ? characterDirection.Begin() : NULL, - glyphs.Begin(), - glyphsToCharactersMap.Begin(), - charactersPerGlyph.Begin(), - charactersToGlyphBuffer, - glyphsPerCharacterBuffer, - totalNumberOfGlyphs, - mImpl->mModel->mHorizontalAlignment, - mImpl->mModel->mLineWrapMode, - outlineWidth, - mImpl->mModel->mIgnoreSpacesAfterText, - mImpl->mModel->mMatchSystemLanguageDirection ); + mImpl->mModel ); // Resize the vector of positions to have the same size than the vector of glyphs. Vector& glyphPositions = mImpl->mModel->mVisualModel->mGlyphPositions;