forked from KolibriOS/kolibrios
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:
@@ -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
|
||||
|
||||
; <EFBFBD>®â®ª ®ª ª®á®«¨. Ž¡à ¡ âë¢ ¥â ¢¢®¤ ¨ ¢ë¢®¤.
|
||||
; Console window thread. Handles input and output.
|
||||
con.thread:
|
||||
; <EFBFBD>®â®ª ॠ£¨àã¥â 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.
|
||||
|
||||
Reference in New Issue
Block a user