diff options
| author | _ov4 <ov4@ov4.org> | 2026-10-08 14:08:46 +0000 |
|---|---|---|
| committer | _ov4 <ov4@ov4.org> | 2026-10-08 14:08:46 +0000 |
| commit | 01bf68b3bc34a685823a352eb09ed5717a3b4961 (patch) | |
| tree | 1835e8848cfe70ee52229c7349eefaf1a7296373 /include/line/cursor.h | |
| parent | 21bf679e4c5fcd72a0337d23cc3e0d15c18315ff (diff) | |
prepare for page
Diffstat (limited to 'include/line/cursor.h')
| -rw-r--r-- | include/line/cursor.h | 18 |
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); + } |
