Vector<Character>::Iterator first = currentText.Begin() + startOfSelectedText;
Vector<Character>::Iterator last = first + lengthOfSelectedText;
currentText.Erase( first, last );
+
+ // Scroll after delete.
+ mEventData->mPrimaryCursorPosition = handlesCrossed ? mEventData->mRightSelectionPosition : mEventData->mLeftSelectionPosition;
+ mEventData->mScrollAfterDelete = true;
+ mEventData->mDecoratorUpdated = true;
}
- mEventData->mPrimaryCursorPosition = handlesCrossed ? mEventData->mRightSelectionPosition : mEventData->mLeftSelectionPosition;
- mEventData->mScrollAfterDelete = true;
- mEventData->mDecoratorUpdated = true;
}
}
cursorInfo.lineHeight = GetDefaultFontLineHeight();
cursorInfo.primaryCursorHeight = cursorInfo.lineHeight;
- cursorInfo.primaryPosition.x = mEventData->mDecorator->GetCursorWidth();
+ cursorInfo.primaryPosition.x = 0.f;
cursorInfo.primaryPosition.y = 0.f;
// Nothing else to do.
{
case LayoutEngine::HORIZONTAL_ALIGN_BEGIN:
{
- cursorPosition.x = mEventData->mDecorator->GetCursorWidth();
+ cursorPosition.x = 0.f;
break;
}
case LayoutEngine::HORIZONTAL_ALIGN_CENTER:
}
case LayoutEngine::HORIZONTAL_ALIGN_END:
{
- cursorPosition.x = mVisualModel->mControlSize.width;
+ cursorPosition.x = mVisualModel->mControlSize.width - mEventData->mDecorator->GetCursorWidth();
break;
}
}