mirror of
https://github.com/mudita/MuditaOS.git
synced 2026-01-24 22:08:33 -05:00
Add Text scrolling, Add text starting position, Added text scrolling, updated TextLine line endings, TextBlocks newline handling, updated SMS Bubble and Notes text items. Added tests for scrolling.
34 lines
1.0 KiB
C++
34 lines
1.0 KiB
C++
// Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved.
|
|
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
|
|
|
|
#pragma once
|
|
|
|
#include "TextCursor.hpp"
|
|
|
|
namespace gui
|
|
{
|
|
class Text;
|
|
class TextDocument;
|
|
|
|
class TextLineCursor : public TextCursor
|
|
{
|
|
protected:
|
|
auto checkNextLineDocumentEnd(unsigned int selectedLineNumber) -> bool;
|
|
void handleDownNavigation(unsigned int selectedLineNumber, unsigned int selectedLineCursorPosition);
|
|
void handleUpNavigation(unsigned int selectedLineNumber, unsigned int selectedLineCursorPosition);
|
|
|
|
public:
|
|
explicit TextLineCursor(gui::Text *parent, unsigned int pos = text::npos, unsigned int block = text::npos);
|
|
TextLineCursor() = delete;
|
|
|
|
auto displayPreviousLine() -> bool;
|
|
auto displayNextLine() -> bool;
|
|
|
|
auto moveCursor(NavigationDirection direction) -> Move override;
|
|
auto moveCursor(NavigationDirection direction, unsigned int n) -> Move override;
|
|
|
|
bool removeChar() final;
|
|
};
|
|
|
|
} // namespace gui
|