Subversion Repositories Kolibri OS

Rev

Rev 852 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
836 diamond 1
console.obj экспортирует следующие функции:
2
 
3
typedef unsigned long dword; /* 32-битное беззнаковое целое */
4
typedef unsigned short word; /* 16-битное беззнаковое целое */
5
 
6
void __stdcall con_init(dword wnd_width, dword wnd_height,
7
	dword scr_width, dword scr_height, const char* title);
8
Инициализация консоли. Вызывается один раз в начале программы.
9
wnd_width, wnd_height - высота и ширина (в символах) видимой в окне консоли
10
	области;
11
scr_width, scr_height - высота и ширина (в символах) всей консоли;
12
любые из первых 4 параметров могут быть установлены в -1 (=0xFFFFFFFF)
13
	- использовать значения по умолчанию;
14
title - заголовок окна консоли.
15
 
16
void __stdcall con_exit(bool bCloseWindow);
17
Вызывается при завершении программы. Если (байтовый) параметр bCloseWindow
18
нулевой, то окно консоли остаётся на экране до того момента, как пользователь
19
пожелает закрыть его, при этом к заголовку добавляется строка " [Finished]".
20
 
21
void __stdcall con_set_title(const char* title);
22
Устанавливает новый заголовок окна консоли.
23
 
24
void __stdcall con_write_asciiz(const char* string);
25
Выводит ASCIIZ-строку в консоль в текущую позицию, продвигает текущую позицию.
26
 
27
void __stdcall con_write_string(const char* string, dword length);
28
Аналогично con_write_asciiz, но выводит ровно length символов.
29
 
30
int __cdecl con_printf(const char* format, ...)
31
Стандартная printf из ANSI C.
32
 
33
dword __stdcall con_get_flags(void);
34
Получает значение флагов вывода.
35
dword __stdcall con_set_flags(dword new_flags);
36
Устанавливает значение флагов вывода. Возвращает старое значение.
37
Флаги (битовая маска):
38
/* цвет текста */
39
#define CON_COLOR_BLUE		1
40
#define CON_COLOR_GREEN		2
41
#define CON_COLOR_RED		4
42
#define CON_COLOR_BRIGHT	8
43
/* цвет фона */
44
#define CON_BGR_BLUE		0x10
45
#define CON_BGR_GREEN		0x20
46
#define CON_BGR_RED		0x40
47
#define CON_BGR_BRIGHT		0x80
48
/* управление выводом */
49
#define CON_IGNORE_SPECIALS	0x100
50
/* Если флаг сброшен, функция интерпретирует специальные символы:
51
	10 ('\n') - перевод в начало следующей строки
52
	13 ('\r') - перевод в начало текущей строки
53
	8 ('\b') - забой (на символ назад)
54
	9 ('\t') - табуляция
55
	27 ('\033'='\x1B') - начало Esc-последовательности;
56
иначе выводит их как обычные символы. */
57
/* Поддерживаемые Esc-последовательности:
58
	Esc[;;m - выбор атрибутов символов:
59
		можно указывать один, два или три кода в любом порядке;
60
 
61
		1 = выделение яркостью
62
		5 = яркий фон
63
		7 = реверсное изображение (чёрные символы на белом фоне)
64
		30 = чёрные символы
65
		31 = красные символы
66
		32 = зелёные символы
67
		33 = коричневые символы
68
		34 = синие символы
69
		35 = фиолетовые символы
70
		36 = бирюзовые символы
71
		37 = белые символы
72
		40 = чёрный фон
73
		41 = красный фон
74
		42 = зелёный фон
75
		43 = коричневый фон
76
		44 = синий фон
77
		45 = фиолетовый фон
78
		46 = бирюзовый фон
79
		47 = белый фон
80
*/
81
Значение по умолчанию для флагов = 7.
82
 
83
int __stdcall con_get_font_height(void);
84
Возвращает значение высоты шрифта.
85
 
86
int __stdcall con_get_cursor_height(void);
87
Получает значение высоты курсора.
88
int __stdcall con_set_cursor_height(int new_height);
89
Устанавливает значение высоты курсора. Возвращает старое значение.
90
Попытка установить значение вне корректного интервала (от 0 до font_height-1)
91
игнорируется.
92
Курсор высоты 0 не отображается на экране.
93
Значение высоты по умолчанию - 15% от высоты шрифта.
94
 
95
int __stdcall con_getch(void);
96
Считывает один символ с клавиатуры.
97
Для обычных символов возвращается ASCII-код. Для расширенных символов
98
(например, Fx и стрелочек) первый вызов функции возвращает 0,
99
а повторный вызов возвращает расширенный код (подобно DOS-функциям ввода).
100
 
101
word __stdcall con_getch2(void);
102
Считывает один символ с клавиатуры. Младший байт содержит ASCII-код клавиши
103
(0 для расширенных символов), старший - расширенный код
104
(подобно BIOS-функциям ввода).
105
 
106
int __stdcall con_kbhit(void);
107
Возвращает 1, если какая-то клавиша была нажата, 0 иначе. Для считывания
108
нажатой клавиши предназначены функции con_getch и con_getch2.
109
 
110
void __stdcall con_gets(char* str, int n);
111
Считывает строку с клавиатуры. Ввод прерывается при поступлении символа
112
новой строки, а также по прочтении n-1 символа (в зависимости от того, что
113
произойдёт раньше). В первом случае символ новой строки также записывается в
114
str. Считанная строка дополняется нулевым символом.