Libs/console_coff: Translate comments to English and convert to UTF-8 (#128)

Translated remaining non-English comments to English and convert to UTF-8

Co-authored-by: rgimad <33692565+rgimad@users.noreply.github.com>
Reviewed-on: KolibriOS/kolibrios#128
Reviewed-by: Max Logaev <mxlgv@noreply.localhost>
Co-authored-by: rgimad <rgimad@noreply.localhost>
Co-committed-by: rgimad <rgimad@noreply.localhost>
This commit is contained in:
rgimadandrgimad authored and Max Logaev committed 2025-03-10 20:04:26 +01:00
1 parent 9b08b20cc3
commit 026d2aba40
3 files changed
+150 -149

No files matched your search

@@ -1,5 +1,5 @@
; Вспомогательный файл для console.inc - описание scrollbar
; Вертикальная прокрутка
; Helper file for console.inc - scrollbar definition
; Vertical scrolling
virtual at 0
file 'conscrlv.bmp', 36h
; sanity check
@@ -28,7 +28,7 @@ if con.vscroll_btn_height*4 + con.vscroll_bgr_height*2 \
error 'conscrlv.bmp: invalid dimensions!'
end if
; Загружаем данные BMP, на ходу преобразуя их в данные для 7-й функции
; Load BMP data, converting it into data for sysfn 7 on the fly
con.vscroll:
repeat con.vscroll_height
file 'conscrlv.bmp':36h + ((con.vscroll_width*3+3) and not 3)*(con.vscroll_height - %),\
@@ -1,6 +1,7 @@
; Функции работы с консолью для программ КолибриОС
; SPDX-License-Identifier: GPL-2.0
; Functions for interaction with the console for KolibriOS programs
; diamond, 2006-2008
; Copyright (C) 2006-2025 KolibriOS team
format MS COFF
@@ -56,7 +57,7 @@ START:
or eax, -1
ret 4
; Инициализация консоли
; Console initialization
; void __stdcall con_init(dword wnd_width, dword wnd_height,
; dword scr_width, dword scr_height, const char* title);
@@ -271,13 +272,13 @@ con_write_length:
pop esi ebx
ret 8
; Каждый символ классифицируется как один из
con.printfc.normal = 0 ; нормальный символ
; Each character is classified as one of the following
con.printfc.normal = 0 ; normal character
con.printfc.percent = 1 ; '%'
con.printfc.dot = 2 ; '.'
con.printfc.asterisk = 3 ; '*'
con.printfc.zero = 4 ; '0'
con.printfc.digit = 5 ; ненулевая цифра
con.printfc.digit = 5 ; non-null digit
con.printfc.plus = 6 ; '+'
con.printfc.minus = 7 ; '-'
con.printfc.sharp = 8 ; '#'
@@ -376,24 +377,24 @@ con_printf:
jmp .normal
.spec_begin:
xor ebx, ebx
; bl = тип позиции:
; 0 = начало
; 1 = прочитан ведущий 0 в спецификации формата
; 2 = читаем поле ширины
; 3 = читаем поле точности
; 4 = прочитано поле размера аргумента
; 5 = читаем поле типа
; bh = флаги:
; 1 = флаг '#', выводить 0/0x/0X
; 2 = флаг '-', выравнивание влево
; 4 = флаг '0', дополнение нулями
; 8 = флаг 'h', короткий аргумент
; bl = position type:
; 0 = start
; 1 = read leading 0 in format specification
; 2 = read width field
; 3 = read precision field
; 4 = read argument size field
; 5 = read type field
; bh = flags:
; 1 = flag '#', output 0/0x/0X
; 2 = flag '-', align left
; 4 = flag '0', zero padding
; 8 = flag 'h', short argument
push -1
; dword [esp+8] = precision
push -1
; dword [esp+4] = width
push 0
; byte [esp] = флаг 0/'+'/' '
; byte [esp] = flag 0/'+'/' '
.spec:
xor eax, eax
lodsb
@@ -529,7 +530,7 @@ con_printf:
@@:
push edx
xor edx, edx
; число в eax, основание системы счисления в ecx
; number in eax, radix in ecx
@@:
cmp dword [esp+16+8], 0
jnz .print_num
@@ -1777,10 +1778,10 @@ con.data2image:
mov al, [esi+1]
push eax
and al, 0xF
mov ebx, eax ; цвет текста
mov ebx, eax ; text color
pop eax
shr al, 4
mov ebp, eax ; цвет фона
mov ebp, eax ; background color
sub ebx, ebp
lodsb
inc esi
@@ -2188,7 +2189,7 @@ con_gets2:
sub ebx, 1
jle .ret
mov byte [esi], 0
xor ecx, ecx ; длина уже введённой строки
xor ecx, ecx ; length of the already entered string
call con.get_data_ptr
.loop:
call con_getch2
@@ -2596,15 +2597,15 @@ con.wake:
popad
ret
; Поток окна консоли. Обрабатывает ввод и вывод.
; Console window thread. Handles input and output.
con.thread:
; Поток реагирует на IPC, которое используется только для того, чтобы его можно было "разбудить"
; The thread responds to IPC, which is used only so that it can be "waken up"
push 40
pop eax
push 0x80000067 ; program dont getting events mouse, when it dont active
pop ebx
int 0x40
xor ebx,ebx ;clear ebx
xor ebx,ebx ; clear ebx
mov al, 60
mov bl, 1
mov ecx, con.ipc_buf
@@ -3212,7 +3213,7 @@ con.draw_image:
@@:
int 0x40
push edx
; Вычисляем высоту бегунка
; Calculate the height of the slider
mov ax, dx
sub eax, con.vscroll_btn_height
mov ecx, eax
@@ -3222,7 +3223,7 @@ con.draw_image:
jae @f
mov al, 5
@@:
; eax = высота бегунка. Вычисляем положение бегунка
; eax = slider height. Calculate the slider position
mov [con.vscrollbar_size], eax
xchg eax, ecx
sub eax, ecx
@@ -3232,7 +3233,7 @@ con.draw_image:
div ebx
pop edx
push edx
; ecx = высота бегунка, eax = положение
; ecx = slider height, eax = position
add eax, con.vscroll_btn_height
mov [con.vscrollbar_pos], eax
mov ebx, con.vscroll_bgr2
@@ -3331,8 +3332,8 @@ con.extended_numlock:
cursor_esc dd 27 + ('[' shl 8)
; В текущей реализации значения по умолчанию таковы.
; В будущем они, возможно, будут считываться как параметры из ini-файла console.ini.
; In the current implementation, the default values are:
; In the future, they may be read as parameters from the console.ini ini file.
con.def_wnd_width dd 80
con.def_wnd_height dd 25
con.def_scr_width dd 80
@@ -1,91 +1,91 @@
console.obj ¤ъёяюЁЄшЁєхЄ ёыхфє■∙шх ЇєэъЎшш:
console.obj экспортирует следующие функции:
typedef unsigned long dword; /* 32-сшЄэюх схччэръютюх Ўхыюх */
typedef unsigned short word; /* 16-сшЄэюх схччэръютюх Ўхыюх */
typedef unsigned long dword; /* 32-битное беззнаковое целое */
typedef unsigned short word; /* 16-битное беззнаковое целое */
void __stdcall con_init(dword wnd_width, dword wnd_height,
dword scr_width, dword scr_height, const char* title);
╚эшЎшрышчрЎш  ъюэёюыш. ┬√ч√трхЄё  юфшэ Ёрч т эрўрых яЁюуЁрьь√.
wnd_width, wnd_height - т√ёюЄр ш °шЁшэр (т ёшьтюырї) тшфшьющ т юъэх ъюэёюыш
юсырёЄш;
scr_width, scr_height - т√ёюЄр ш °шЁшэр (т ёшьтюырї) тёхщ ъюэёюыш;
ы■с√х шч яхЁт√ї 4 ярЁрьхЄЁют ьюуєЄ с√Є№ єёЄрэютыхэ√ т -1 (=0xFFFFFFFF)
- шёяюы№чютрЄ№ чэрўхэш  яю єьюыўрэш■;
title - чруюыютюъ юъэр ъюэёюыш.
Инициализация консоли. Вызывается один раз в начале программы.
wnd_width, wnd_height - высота и ширина (в символах) видимой в окне консоли
области;
scr_width, scr_height - высота и ширина (в символах) всей консоли;
любые из первых 4 параметров могут быть установлены в -1 (=0xFFFFFFFF)
- использовать значения по умолчанию;
title - заголовок окна консоли.
void __stdcall con_exit(bool bCloseWindow);
┬√ч√трхЄё  яЁш чртхЁ°хэшш яЁюуЁрьь√. ┼ёыш (срщЄют√щ) ярЁрьхЄЁ bCloseWindow
эєыхтющ, Єю юъэю ъюэёюыш юёЄр╕Єё  эр ¤ъЁрэх фю Єюую ьюьхэЄр, ъръ яюы№чютрЄхы№
яюцхырхЄ чръЁ√Є№ хую, яЁш ¤Єюь ъ чруюыютъє фюсрты хЄё  ёЄЁюър " [Finished]".
Вызывается при завершении программы. Если (байтовый) параметр bCloseWindow
нулевой, то окно консоли остаётся на экране до того момента, как пользователь
пожелает закрыть его, при этом к заголовку добавляется строка " [Finished]".
void __stdcall con_set_title(const char* title);
╙ёЄрэртыштрхЄ эют√щ чруюыютюъ юъэр ъюэёюыш.
Устанавливает новый заголовок окна консоли.
void __stdcall con_write_asciiz(const char* string);
┬√тюфшЄ ASCIIZ-ёЄЁюъє т ъюэёюы№ т Єхъє∙є■ яючшЎш■, яЁюфтшурхЄ Єхъє∙є■ яючшЎш■.
Выводит ASCIIZ-строку в консоль в текущую позицию, продвигает текущую позицию.
void __stdcall con_write_string(const char* string, dword length);
└эрыюушўэю con_write_asciiz, эю т√тюфшЄ Ёютэю length ёшьтюыют.
Аналогично con_write_asciiz, но выводит ровно length символов.
int __cdecl con_printf(const char* format, ...)
╤ЄрэфрЁЄэр  printf шч ANSI C.
Стандартная printf из ANSI C.
dword __stdcall con_get_flags(void);
╧юыєўрхЄ чэрўхэшх Їыруют т√тюфр.
Получает значение флагов вывода.
dword __stdcall con_set_flags(dword new_flags);
╙ёЄрэртыштрхЄ чэрўхэшх Їыруют т√тюфр. ┬ючтЁр∙рхЄ ёЄрЁюх чэрўхэшх.
╘ыруш (сшЄютр  ьрёър):
/* ЎтхЄ ЄхъёЄр */
Устанавливает значение флагов вывода. Возвращает старое значение.
Флаги (битовая маска):
/* цвет текста */
#define CON_COLOR_BLUE 1
#define CON_COLOR_GREEN 2
#define CON_COLOR_RED 4
#define CON_COLOR_BRIGHT 8
/* ЎтхЄ Їюэр */
/* цвет фона */
#define CON_BGR_BLUE 0x10
#define CON_BGR_GREEN 0x20
#define CON_BGR_RED 0x40
#define CON_BGR_BRIGHT 0x80
/* єяЁртыхэшх т√тюфюь */
/* управление выводом */
#define CON_IGNORE_SPECIALS 0x100
/* ┼ёыш Їыру ёсЁю°хэ, ЇєэъЎш  шэЄхЁяЁхЄшЁєхЄ ёяхЎшры№э√х ёшьтюы√:
10 ('\n') - яхЁхтюф т эрўрыю ёыхфє■∙хщ ёЄЁюъш
13 ('\r') - яхЁхтюф т эрўрыю Єхъє∙хщ ёЄЁюъш
8 ('\b') - чрсющ (эр ёшьтюы эрчрф)
9 ('\t') - Єрсєы Ўш 
27 ('\033'='\x1B') - эрўрыю Esc-яюёыхфютрЄхы№эюёЄш;
шэрўх т√тюфшЄ шї ъръ юс√ўэ√х ёшьтюы√. */
/* ╧юффхЁцштрхь√х Esc-яюёыхфютрЄхы№эюёЄш:
Esc[<number1>;<number2>;<number3>m - т√сюЁ рЄЁшсєЄют ёшьтюыют:
ьюцэю єърч√трЄ№ юфшэ, фтр шыш ЄЁш ъюфр т ы■сюь яюЁ фъх;
0 = эюЁьры№эюх шчюсЁрцхэшх (схы√х ёшьтюы√ эр ў╕Ёэюь Їюэх)
1 = т√фхыхэшх  ЁъюёЄ№■
5 =  Ёъшщ Їюэ
7 = ЁхтхЁёэюх шчюсЁрцхэшх (ў╕Ёэ√х ёшьтюы√ эр схыюь Їюэх)
30 = ў╕Ёэ√х ёшьтюы√
31 = ъЁрёэ√х ёшьтюы√
32 = чхы╕э√х ёшьтюы√
33 = ц╕ыЄ√х ёшьтюы√
34 = ёшэшх ёшьтюы√
35 = ЇшюыхЄют√х ёшьтюы√
36 = сшЁ■чют√х ёшьтюы√
37 = схы√х ёшьтюы√
40 = ў╕Ёэ√щ Їюэ
41 = ъЁрёэ√щ Їюэ
42 = чхы╕э√щ Їюэ
43 = ц╕ыЄ√щ Їюэ
44 = ёшэшщ Їюэ
45 = ЇшюыхЄют√щ Їюэ
46 = сшЁ■чют√щ Їюэ
47 = схы√щ Їюэ
╤ыхфє■∙шх яюёыхфютрЄхы№эюёЄш яю тшышё№ т тхЁёшш 5 сшсышюЄхъш:
Esc[<number>A - яхЁхьхёЄшЄ№ ъєЁёюЁ эр <number> ёЄЁюъ ттхЁї
Esc[<number>B - яхЁхьхёЄшЄ№ ъєЁёюЁ эр <number> ёЄЁюъ тэшч
Esc[<number>C - яхЁхьхёЄшЄ№ ъєЁёюЁ эр <number> яючшЎшщ тяЁртю
Esc[<number>D - яхЁхьхёЄшЄ№ ъєЁёюЁ эр <number> яючшЎшщ тыхтю
/* Если флаг сброшен, функция интерпретирует специальные символы:
10 ('\n') - перевод в начало следующей строки
13 ('\r') - перевод в начало текущей строки
8 ('\b') - забой (на символ назад)
9 ('\t') - табуляция
27 ('\033'='\x1B') - начало Esc-последовательности;
иначе выводит их как обычные символы. */
/* Поддерживаемые Esc-последовательности:
Esc[<number1>;<number2>;<number3>m - выбор атрибутов символов:
можно указывать один, два или три кода в любом порядке;
0 = нормальное изображение (белые символы на чёрном фоне)
1 = выделение яркостью
5 = яркий фон
7 = реверсное изображение (чёрные символы на белом фоне)
30 = чёрные символы
31 = красные символы
32 = зелёные символы
33 = жёлтые символы
34 = синие символы
35 = фиолетовые символы
36 = бирюзовые символы
37 = белые символы
40 = чёрный фон
41 = красный фон
42 = зелёный фон
43 = жёлтый фон
44 = синий фон
45 = фиолетовый фон
46 = бирюзовый фон
47 = белый фон
Следующие последовательности появились в версии 5 библиотеки:
Esc[<number>A - переместить курсор на <number> строк вверх
Esc[<number>B - переместить курсор на <number> строк вниз
Esc[<number>C - переместить курсор на <number> позиций вправо
Esc[<number>D - переместить курсор на <number> позиций влево
Esc[<number1>;<number2>H = Esc[<number1>;<number2>f -
єёЄрэютшЄ№ ъєЁёюЁ т яючшЎш■ ё ъююЁфшэрЄрьш <number1>,<number2>
Esc[2J - юўшёЄшЄ№ ¤ъЁрэ, яхЁхьхёЄшЄ№ ъєЁёюЁ т ыхт√щ тхЁїэшщ єуюы
╤ыхфє■∙шх яюёыхфютрЄхы№эюёЄш яю тшышё№ т тхЁёшш 9 сшсышюЄхъш:
установить курсор в позицию с координатами <number1>,<number2>
Esc[2J - очистить экран, переместить курсор в левый верхний угол
Следующие последовательности появились в версии 9 библиотеки:
Esc[J or Esc[0J - Erase everything below cursor
Esc[1J - Erase everything above cursor
Esc[K - Erase in line
@@ -107,83 +107,83 @@ dword __stdcall con_set_flags(dword new_flags);
Esc]2<string>ST/BEL - Implemented identical as Esc]0.
*/
/* ёшуэры ю чръЁ√Єшш юъэр ъюэёюыш; яю тшыё  т тхЁёшш 6 сшсышюЄхъш;
Їыру шуэюЁшЁєхЄё  ЇєэъЎшхщ con_set_flags */
/* сигнал о закрытии окна консоли; появился в версии 6 библиотеки;
флаг игнорируется функцией con_set_flags */
#define CON_WINDOW_CLOSED 0x200
╟эрўхэшх яю єьюыўрэш■ фы  Їыруют = 7.
Значение по умолчанию для флагов = 7.
int __stdcall con_get_font_height(void);
┬ючтЁр∙рхЄ чэрўхэшх т√ёюЄ√ °ЁшЇЄр.
Возвращает значение высоты шрифта.
int __stdcall con_get_cursor_height(void);
╧юыєўрхЄ чэрўхэшх т√ёюЄ√ ъєЁёюЁр.
Получает значение высоты курсора.
int __stdcall con_set_cursor_height(int new_height);
╙ёЄрэртыштрхЄ чэрўхэшх т√ёюЄ√ ъєЁёюЁр. ┬ючтЁр∙рхЄ ёЄрЁюх чэрўхэшх.
╧юя√Єър єёЄрэютшЄ№ чэрўхэшх тэх ъюЁЁхъЄэюую шэЄхЁтрыр (юЄ 0 фю font_height-1)
шуэюЁшЁєхЄё .
╩єЁёюЁ т√ёюЄ√ 0 эх юЄюсЁрцрхЄё  эр ¤ъЁрэх.
╟эрўхэшх т√ёюЄ√ яю єьюыўрэш■ - 15% юЄ т√ёюЄ√ °ЁшЇЄр.
Устанавливает значение высоты курсора. Возвращает старое значение.
Попытка установить значение вне корректного интервала (от 0 до font_height-1)
игнорируется.
Курсор высоты 0 не отображается на экране.
Значение высоты по умолчанию - 15% от высоты шрифта.
int __stdcall con_getch(void);
╤ўшЄ√трхЄ юфшэ ёшьтюы ё ъыртшрЄєЁ√.
─ы  юс√ўэ√ї ёшьтюыют тючтЁр∙рхЄё  ASCII-ъюф. ─ы  Ёрё°шЁхээ√ї ёшьтюыют
(эряЁшьхЁ, Fx ш ёЄЁхыюўхъ) яхЁт√щ т√чют ЇєэъЎшш тючтЁр∙рхЄ 0,
р яютЄюЁэ√щ т√чют тючтЁр∙рхЄ Ёрё°шЁхээ√щ ъюф (яюфюсэю DOS-ЇєэъЎш ь ттюфр).
═рўшэр  ё тхЁёшш 7 сшсышюЄхъш, яюёых чръЁ√Єш  юъэр ъюэёюыш тючтЁр∙рхЄё 
чэрўхэшх 0.
Считывает один символ с клавиатуры.
Для обычных символов возвращается ASCII-код. Для расширенных символов
(например, Fx и стрелочек) первый вызов функции возвращает 0,
а повторный вызов возвращает расширенный код (подобно DOS-функциям ввода).
Начиная с версии 7 библиотеки, после закрытия окна консоли возвращается
значение 0.
word __stdcall con_getch2(void);
╤ўшЄ√трхЄ юфшэ ёшьтюы ё ъыртшрЄєЁ√. ╠ырф°шщ срщЄ ёюфхЁцшЄ ASCII-ъюф ъыртш°ш
(0 фы  Ёрё°шЁхээ√ї ёшьтюыют), ёЄрЁ°шщ - Ёрё°шЁхээ√щ ъюф
(яюфюсэю BIOS-ЇєэъЎш ь ттюфр).
═рўшэр  ё тхЁёшш 7 сшсышюЄхъш, яюёых чръЁ√Єш  юъэр ъюэёюыш тючтЁр∙рхЄё 
чэрўхэшх 0.
Считывает один символ с клавиатуры. Младший байт содержит ASCII-код клавиши
(0 для расширенных символов), старший - расширенный код
(подобно BIOS-функциям ввода).
Начиная с версии 7 библиотеки, после закрытия окна консоли возвращается
значение 0.
int __stdcall con_kbhit(void);
┬ючтЁр∙рхЄ 1, хёыш ърър -Єю ъыртш°р с√ыр эрцрЄр, 0 шэрўх. ─ы  ёўшЄ√трэш 
эрцрЄющ ъыртш°ш яЁхфэрчэрўхэ√ ЇєэъЎшш con_getch ш con_getch2.
═рўшэр  ё тхЁёшш 6 сшсышюЄхъш, яюёых чръЁ√Єш  юъэр ъюэёюыш тёхуфр тючтЁр∙рхЄ 1.
Возвращает 1, если какая-то клавиша была нажата, 0 иначе. Для считывания
нажатой клавиши предназначены функции con_getch и con_getch2.
Начиная с версии 6 библиотеки, после закрытия окна консоли всегда возвращает 1.
char* __stdcall con_gets(char* str, int n);
╤ўшЄ√трхЄ ёЄЁюъє ё ъыртшрЄєЁ√. ┬тюф яЁхЁ√трхЄё  яЁш яюёЄєяыхэшш ёшьтюыр
эютющ ёЄЁюъш, р Єръцх яю яЁюўЄхэшш n-1 ёшьтюыр (т чртшёшьюёЄш юЄ Єюую, ўЄю
яЁюшчющф╕Є Ёрэ№°х). ┬ яхЁтюь ёыєўрх ёшьтюы эютющ ёЄЁюъш Єръцх чряшё√трхЄё  т
str. ╤ўшЄрээр  ёЄЁюър фюяюыэ хЄё  эєыхт√ь ёшьтюыюь.
═рўшэр  ё тхЁёшш 6 сшсышюЄхъш, ЇєэъЎш  тючтЁр∙рхЄ єърчрЄхы№ эр ттхф╕ээє■
ёЄЁюъє яЁш єёях°эюь ўЄхэшш ш NULL, хёыш юъэю ъюэёюыш с√ыю чръЁ√Єю. ─ю тхЁёшш
6 тючтЁр∙рхьюх чэрўхэшх с√ыю эхюяЁхфхыхэю.
Считывает строку с клавиатуры. Ввод прерывается при поступлении символа
новой строки, а также по прочтении n-1 символа (в зависимости от того, что
произойдёт раньше). В первом случае символ новой строки также записывается в
str. Считанная строка дополняется нулевым символом.
Начиная с версии 6 библиотеки, функция возвращает указатель на введённую
строку при успешном чтении и NULL, если окно консоли было закрыто. До версии
6 возвращаемое значение было неопределено.
typedef int (__stdcall * con_gets2_callback)(int keycode, char** pstr, int* pn, int* ppos);
char* __stdcall con_gets2(con_gets2_callback callback, char* str, int n);
╘єэъЎш  яю тшырё№ т тхЁёшш 4 сшсышюЄхъш.
╧юыэюёЄ№■ рэрыюушўэр con_gets чр шёъы■ўхэшхь Єюую, ўЄю ъюуфр яюы№чютрЄхы№
эрцшьрхЄ эхЁрёяючэрээє■ ъыртш°є, т√ч√трхЄё  єърчрээр  callback-яЁюЎхфєЁр
(ъюЄюЁр  ьюцхЄ, эряЁшьхЁ, юсЁрсрЄ√трЄ№ up/down фы  шёЄюЁшш ттюфр ш tab фы 
ртЄюфюяюыэхэш ). ╧ЁюЎхфєЁх яхЁхфр╕Єё  ъюф ъыртш°ш ш ЄЁш єърчрЄхы  - эр ёЄЁюъє,
эр ышьшЄ ш эр Єхъє∙є■ яючшЎш■ т ёЄЁюъх. ╧ЁюЎхфєЁр ьюцхЄ ьхэ Є№ ёюфхЁцшьюх
ёЄЁюъш ш ьюцхЄ ьхэ Є№ ёрьє ёЄЁюъє (эряЁшьхЁ, яхЁхЁрёяЁхфхышЄ№ ярь Є№ фы 
єтхышўхэш  ышьшЄр), ышьшЄ, яючшЎш■ т ёЄЁюъх - фы  ¤Єюую ш яхЁхфр■Єё  єърчрЄхыш.
┬ючтЁр∙рхьюх чэрўхэшх: 0=ёЄЁюър эх ьхэ ырё№; 1=ёЄЁюър шчьхэшырё№, эхюсїюфшью
єфрышЄ№ ёЄрЁє■ ш т√тхёЄш эютє■; 2=ёЄЁюър шчьхэшырё№, эхюсїюфшью х╕ т√тхёЄш;
3=эхьхфыхээю т√щЄш шч ЇєэъЎшш.
═рўшэр  ё тхЁёшш 6 сшсышюЄхъш, ЇєэъЎш  тючтЁр∙рхЄ єърчрЄхы№ эр ттхф╕ээє■
ёЄЁюъє яЁш єёях°эюь ўЄхэшш ш NULL, хёыш юъэю ъюэёюыш с√ыю чръЁ√Єю. ─ю тхЁёшш
6 тючтЁр∙рхьюх чэрўхэшх с√ыю эхюяЁхфхыхэю.
Функция появилась в версии 4 библиотеки.
Полностью аналогична con_gets за исключением того, что когда пользователь
нажимает нераспознанную клавишу, вызывается указанная callback-процедура
(которая может, например, обрабатывать up/down для истории ввода и tab для
автодополнения). Процедуре передаётся код клавиши и три указателя - на строку,
на лимит и на текущую позицию в строке. Процедура может менять содержимое
строки и может менять саму строку (например, перераспределить память для
увеличения лимита), лимит, позицию в строке - для этого и передаются указатели.
Возвращаемое значение: 0=строка не менялась; 1=строка изменилась, необходимо
удалить старую и вывести новую; 2=строка изменилась, необходимо её вывести;
3=немедленно выйти из функции.
Начиная с версии 6 библиотеки, функция возвращает указатель на введённую
строку при успешном чтении и NULL, если окно консоли было закрыто. До версии
6 возвращаемое значение было неопределено.
void __stdcall con_cls();
╘єэъЎш  яю тшырё№ т тхЁёшш 5 сшсышюЄхъш.
╬ўш∙рхЄ ¤ъЁрэ ш яхЁхтюфшЄ ъєЁёюЁ т ыхт√щ тхЁїэшщ єуюы.
Функция появилась в версии 5 библиотеки.
Очищает экран и переводит курсор в левый верхний угол.
void __stdcall con_get_cursor_pos(int* px, int* py);
╘єэъЎш  яю тшырё№ т тхЁёшш 5 сшсышюЄхъш.
╟ряшё√трхЄ т *px Єхъє∙є■ ъююЁфшэрЄє ъєЁёюЁр яю юёш x, т *py - яю юёш y.
Функция появилась в версии 5 библиотеки.
Записывает в *px текущую координату курсора по оси x, в *py - по оси y.
void __stdcall con_set_cursor_pos(int x, int y);
╘єэъЎш  яю тшырё№ т тхЁёшш 5 сшсышюЄхъш.
╙ёЄрэртыштрхЄ ъєЁёюЁ т яючшЎш■ ё єърчрээ√ьш ъююЁфшэрЄрьш. ┼ёыш ъръющ-Єю шч
ярЁрьхЄЁют т√їюфшЄ чр яЁхфхы√ ёююЄтхЄёЄтє■∙хую фшрярчюэр (юЄ 0 фю scr_width-1
фы  x, юЄ 0 фю scr_height-1 фы  y, scr_width ш scr_height с√ыш чрфрэ√ яЁш
т√чютх con_init), Єю ёююЄтхЄёЄтє■∙р  ъююЁфшэрЄр ъєЁёюЁр эх ьхэ хЄё .
Функция появилась в версии 5 библиотеки.
Устанавливает курсор в позицию с указанными координатами. Если какой-то из
параметров выходит за пределы соответствующего диапазона (от 0 до scr_width-1
для x, от 0 до scr_height-1 для y, scr_width и scr_height были заданы при
вызове con_init), то соответствующая координата курсора не меняется.
int __stdcall con_get_input(char* buf, int buflen);
Read as many input events as are available and fit in the receive buffer.