|
Kintsugi OS 0.4.0
x86 Monolithic OS
|
#include "screen.h"#include "../kklibc/ctypes.h"#include "../kklibc/stdlib.h"#include "lowlevel_io.h"#include "screen_output_switch.h"Macros | |
| #define | INPUT_BUFFER_SIZE 256 |
Functions | |
| void | kprint_at (char *message, int col, int row, int color) |
| Вывод текста в определенном месте | |
| void | kprint_at_pos (int col, int row, char c, char attr) |
| Вывод символа в определенной позиции | |
| void | kprint (char *message) |
| void | kprintln (char *message) |
| void | kprintln_colored (char *message, int color) |
| void | kprint_colored (char *message, int color) |
| void | kprint_backspace (void) |
| void | _screen_kprint (char *message) |
| Вывод текста | |
| void | _screen_kprintln (char *message) |
| Вывод текста с новой строкой | |
| void | _screen_kprintln_colored (char *message, int color) |
| Цветной вывод с новой строкой | |
| void | _screen_kprint_colored (char *message, int color) |
| Цветной вывод | |
| void | _screen_kprint_backspace () |
| Вывод символа backspace. | |
| void | halted_cpu_screen_clear () |
| Очистка и заполнение экраном halted cpu. | |
| void | panic_red_screen (char *title, char *description) |
| Красный экран для паники ядра | |
| void | printf_panic_screen (char *title, const char *reason_fmt,...) |
| int | print_char (char c, int col, int row, char attr) |
| int | get_cursor_offset () |
| Получение оффсета курсора | |
| void | set_cursor_offset (int offset) |
| void | clear_screen () |
| Стандартная очистка экрана | |
| int | get_offset (int col, int row) |
| int | get_offset_row (int offset) |
| int | get_offset_col (int offset) |
| void | handle_input_char (char c) |
| int | read_line (char *buffer, int max_len) |
| Чтение строки с клавиатуры с экрана | |
| int | read_line_with_prompt (const char *prompt, char *buffer, int max_len) |
| Вывести приглашение и прочитать строку | |
| char * | get_input_buffer (void) |
| Получить текущий буфер ввода (для шелла) | |
| void | clear_input_buffer (void) |
| Очистить буфер ввода | |
| int | has_input_ready (void) |
| char * | take_input (void) |
Variables | |
| static char | input_buffer [INPUT_BUFFER_SIZE] |
| static int | input_buffer_pos = 0 |
| static int | input_ready = 0 |
| #define INPUT_BUFFER_SIZE 256 |
| void _screen_kprint | ( | char * | message | ) |
Вывод текста
| message | сообщение |
| void _screen_kprint_backspace | ( | ) |
Вывод символа backspace.
| void _screen_kprint_colored | ( | char * | message, |
| int | color | ||
| ) |
Цветной вывод
| message | сообщение |
| color | цвет |
| void _screen_kprintln | ( | char * | message | ) |
Вывод текста с новой строкой
| message | сообщение |
| void _screen_kprintln_colored | ( | char * | message, |
| int | color | ||
| ) |
Цветной вывод с новой строкой
| message | сообщение |
| color | цвет |
| void clear_input_buffer | ( | void | ) |
Очистить буфер ввода
| void clear_screen | ( | ) |
Стандартная очистка экрана
| int get_cursor_offset | ( | ) |
Получение оффсета курсора
| char * get_input_buffer | ( | void | ) |
Получить текущий буфер ввода (для шелла)
| int get_offset | ( | int | col, |
| int | row | ||
| ) |
| int get_offset_col | ( | int | offset | ) |
| int get_offset_row | ( | int | offset | ) |
| void halted_cpu_screen_clear | ( | ) |
Очистка и заполнение экраном halted cpu.
| void handle_input_char | ( | char | c | ) |
| int has_input_ready | ( | void | ) |
| void kprint | ( | char * | message | ) |
| void kprint_at | ( | char * | message, |
| int | col, | ||
| int | row, | ||
| int | color | ||
| ) |
Вывод текста в определенном месте
Вывод сообщения в специфической локации Если col, row отрицательные, то используем текущий оффсет
| void kprint_at_pos | ( | int | col, |
| int | row, | ||
| char | c, | ||
| char | attr | ||
| ) |
Вывод символа в определенной позиции
| col | колонка |
| row | строка |
| c | символ |
| attr | атрибуты (цвет) |
| void kprint_backspace | ( | void | ) |
| void kprint_colored | ( | char * | message, |
| int | color | ||
| ) |
| void kprintln | ( | char * | message | ) |
| void kprintln_colored | ( | char * | message, |
| int | color | ||
| ) |
| void panic_red_screen | ( | char * | title, |
| char * | description | ||
| ) |
Красный экран для паники ядра
| title | заголовок |
| description | описание |
| int print_char | ( | char | c, |
| int | col, | ||
| int | row, | ||
| char | attr | ||
| ) |
Функции вывода строки для ядра, использующие видео-память
Если 'col' и 'row' отрицательные, мы пишем на текущей позиции курсора Если 'attr' равен 0 он использует 'белое на чернм' по умолчанию Возвращает оффсет следующего символа Устанавливает курсор на оффсете
| void printf_panic_screen | ( | char * | title, |
| const char * | reason_fmt, | ||
| ... | |||
| ) |
| int read_line | ( | char * | buffer, |
| int | max_len | ||
| ) |
Чтение строки с клавиатуры с экрана
| buffer | Буфер для строки |
| max_len | Максимальная длина (включая нулевой символ) |
| int read_line_with_prompt | ( | const char * | prompt, |
| char * | buffer, | ||
| int | max_len | ||
| ) |
Вывести приглашение и прочитать строку
| prompt | Приглашение (например, "Enter name: ") |
| buffer | Буфер для строки |
| max_len | Максимальная длина |
| void set_cursor_offset | ( | int | offset | ) |
| char * take_input | ( | void | ) |
|
static |
|
static |
|
static |