diff options
Diffstat (limited to 'include/line')
| -rw-r--r-- | include/line/cursor.h | 29 | ||||
| -rw-r--r-- | include/line/getter.h | 14 | ||||
| -rw-r--r-- | include/line/mode.h | 2 | ||||
| -rw-r--r-- | include/line/type.h | 18 |
4 files changed, 41 insertions, 22 deletions
diff --git a/include/line/cursor.h b/include/line/cursor.h index 7cae165..6e62bce 100644 --- a/include/line/cursor.h +++ b/include/line/cursor.h @@ -2,53 +2,38 @@ #include <string> +#include "line/type.h" + using namespace std; // TODO: remove namespace ov4 { -struct T_position -{ - int row; - int col; -}; - -enum class T_cursor_movement_direction -{ - LEFT, - RIGHT, -}; - // 1-based inline int cursor_row; inline int cursor_col; inline int line_end_pos; -inline int line_begin_pos; + +inline int prompt_pos; inline int window_size_row; inline int window_size_col; // 0-based index -inline int line_buffer_index_cursor; +inline int 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 int _buffer_index_display_begin; +//inline int buffer_index_display_end; 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(char c); -int get_cursor_real_pos(); - void update_window_size(); void update_line_end_pos(); diff --git a/include/line/getter.h b/include/line/getter.h new file mode 100644 index 0000000..a1c3765 --- /dev/null +++ b/include/line/getter.h @@ -0,0 +1,14 @@ +#pragma once + +#include "line/type.h" + +namespace ov4 +{ + +int get_terminal_pos_cursor(); +int get_buffer_index_display_begin(); +int get_buffer_index_display_end(); + +T_position get_cursor_position(); + +}
\ No newline at end of file diff --git a/include/line/mode.h b/include/line/mode.h index be0a453..d080fc3 100644 --- a/include/line/mode.h +++ b/include/line/mode.h @@ -3,6 +3,8 @@ #include <termios.h> #include <string> +#include "line/type.h" + using namespace std; // TODO: remove namespace ov4 diff --git a/include/line/type.h b/include/line/type.h new file mode 100644 index 0000000..b85a81c --- /dev/null +++ b/include/line/type.h @@ -0,0 +1,18 @@ +#pragma once + +namespace ov4 +{ + +struct T_position +{ + int row; + int col; +}; + +enum class T_cursor_movement_direction +{ + LEFT, + RIGHT, +}; + +}
\ No newline at end of file |
