Widgets/TextAreaWidgets: Keep selections active (and visible) when losing focus

This commit is contained in:
SirLynix
2023-08-23 17:56:36 +02:00
parent 8f0890f719
commit 98c0a47dcc
3 changed files with 61 additions and 21 deletions

View File

@@ -86,11 +86,13 @@ namespace Nz
NazaraSignal(OnTextAreaSelection, const AbstractTextAreaWidget* /*textArea*/, Vector2ui* /*start*/, Vector2ui* /*end*/);
protected:
virtual AbstractTextDrawer& GetTextDrawer() = 0;
virtual const AbstractTextDrawer& GetTextDrawer() const = 0;
Color GetCursorColor() const;
virtual void CopySelectionToClipboard(const Vector2ui& selectionBegin, const Vector2ui& selectionEnd) = 0;
virtual AbstractTextDrawer& GetTextDrawer() = 0;
virtual const AbstractTextDrawer& GetTextDrawer() const = 0;
virtual void HandleIndentation(bool add) = 0;
virtual void HandleSelectionIndentation(bool add) = 0;
virtual void HandleWordCursorMove(bool left) = 0;
@@ -113,7 +115,8 @@ namespace Nz
virtual void PasteFromClipboard(const Vector2ui& targetPosition) = 0;
void RefreshCursor();
void RefreshCursorColor();
void RefreshCursorSize();
inline void SetCursorPositionInternal(std::size_t glyphIndex);
inline void SetCursorPositionInternal(Vector2ui cursorPosition);