32 lines
806 B
C
32 lines
806 B
C
#ifndef TERMINAL_H
|
|
#define TERMINAL_H
|
|
|
|
#include "input.h"
|
|
#include "utils.h"
|
|
|
|
// 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);
|
|
|
|
#endif // TERMINAL_H
|