Handle Emoji clustering for cursor handling
Checked cases:
- cursor movement (arrows): it works fine
- line-breaking: it works fine
Resolved cases:
- deletion: this patch handled delete cases when the cursor is before or after Emoji
:: Before: when use delete key and cursor is before Emoji
:: After: when use backspace key and cursor is after Emoji
- Emoji layoutted at the end of line: this patch handle the below scenario
1) When there is Emoji contains multi unicodes and it is layoutted at the end of line (LineWrap case , is not new line case)
2) Try to click at the center or at the end of Emoji then the cursor appears inside Emoji
3) Example:"FamilyManWomanGirlBoy 👨‍👩‍👧‍👦"
Sample code to test:
============================================================================
TextEditor textEditor = TextEditor::New();
textEditor.SetBackgroundColor(Dali::Color::GRAY);
textEditor.SetProperty(Dali::Toolkit::TextEditor::Property::TEXT, "AB👨‍👩‍👧‍👦AB👩🏻‍🔬B👨‍👩‍👧‍👦AA☪︎B☪️AB");
textEditor.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT);
textEditor.SetProperty(Dali::Actor::Property::POSITION, Vector2(10, 30));
textEditor.SetProperty(Dali::Actor::Property::SIZE, Vector2(100, 100));
textEditor.SetProperty(Dali::Toolkit::TextEditor::Property::ENABLE_MARKUP, true);
textEditor.SetProperty(Dali::Toolkit::DevelTextEditor::Property::LINE_WRAP_MODE, Dali::Toolkit::DevelText::LineWrap::WORD);
============================================================================
Change-Id: I6d142c58c5cdef5e900404cca8b777a02c8488d1