aboutsummaryrefslogtreecommitdiff
path: root/include/line/cursor.h
diff options
context:
space:
mode:
author_ov4 <ov4@ov4.org>2026-10-08 14:08:46 +0000
committer_ov4 <ov4@ov4.org>2026-10-08 14:08:46 +0000
commit01bf68b3bc34a685823a352eb09ed5717a3b4961 (patch)
tree1835e8848cfe70ee52229c7349eefaf1a7296373 /include/line/cursor.h
parent21bf679e4c5fcd72a0337d23cc3e0d15c18315ff (diff)
prepare for page
Diffstat (limited to 'include/line/cursor.h')
-rw-r--r--include/line/cursor.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/include/line/cursor.h b/include/line/cursor.h
index cdea934..7cae165 100644
--- a/include/line/cursor.h
+++ b/include/line/cursor.h
@@ -13,6 +13,12 @@ struct T_position
int col;
};
+enum class T_cursor_movement_direction
+{
+ LEFT,
+ RIGHT,
+};
+
// 1-based
inline int cursor_row;
inline int cursor_col;
@@ -23,17 +29,23 @@ inline int window_size_row;
inline int window_size_col;
// 0-based index
-inline int line_buffer_index;
+inline int line_buffer_index_cursor;
+// index [begin, end] is displayed
+// NB: CLOSE interval
+inline int line_buffer_index_begin;
+inline int line_buffer_index_end;
inline int buffer_len;
+inline std::string line_buffer;
+
T_position get_cursor_position();
void print_override(const std::string &s);
void move_cursor(char c);
-void cursor_input(char c, std::string &buffer);
+void cursor_input_char(char c);
int get_cursor_real_pos();
@@ -41,5 +53,7 @@ void update_window_size();
void update_line_end_pos();
+void move_cursor(T_cursor_movement_direction d);
+
}