aboutsummaryrefslogtreecommitdiff
path: root/src/tui/document_view.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/tui/document_view.hh')
-rw-r--r--src/tui/document_view.hh10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/tui/document_view.hh b/src/tui/document_view.hh
index 587f419..5f5e331 100644
--- a/src/tui/document_view.hh
+++ b/src/tui/document_view.hh
@@ -46,6 +46,13 @@ enum class ViewMotion : std::uint8_t
PanRight
};
+enum class FocusResult : std::uint8_t
+{
+ Empty,
+ Moved,
+ Wrapped
+};
+
// One tab's reading state. It owns the logical snapshot; screen rows are caches.
// Keyboard, mouse and host navigation all use the same layout/source mappings.
class DocumentView
@@ -70,6 +77,9 @@ public:
void wheel( int steps );
bool locate( const DocumentPoint& point );
std::optional<HitTarget> focused_target() const;
+ // Browse/field-editor routing owns mode eligibility; this follows the shared order.
+ FocusResult focus( bool backward );
+ const Link* focused_link() const;
void draw( Frame& frame, CellPoint origin ) const;
private: