Archived
1
Fork 0
This repository has been archived on 2024-10-07. You can view files and clone it, but cannot push or open issues or pull requests.
kilo/include/terminal.h

33 lines
806 B
C
Raw Normal View History

2023-08-31 04:19:35 +00:00
#ifndef TERMINAL_H
#define TERMINAL_H
2023-09-01 15:04:12 +00:00
#include "input.h"
#include "utils.h"
2023-08-31 04:19:35 +00:00
2023-08-31 05:48:27 +00:00
// Functions to perform low level terminal operations, using escape codes
ERRCODE terminal_enable_raw(void);
void terminal_disable_raw(void);
// Cursor positioned at the start
ERRCODE terminal_clear(void);
// Hide or show the cursor
enum cursor_visibility {
CURSOR_SHOWN = 0,
CURSOR_HIDDEN = 1
};
ERRCODE terminal_cursor_visibility(enum cursor_visibility visibility);
// Calculate the current window size
ERRCODE terminal_get_win_size(int *rows, int *cols);
// Get and set the cursor position, 1-based indexing
ERRCODE terminal_get_cursor_pos(int *row, int *col);
ERRCODE terminal_set_cursor_pos(int, int);
// Read input from the terminal and parse it into a KEY
KEY terminal_read_key(void);
2023-08-31 04:19:35 +00:00
#endif // TERMINAL_H