Subversion Repositories Kolibri OS

Rev

Rev 7623 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
7623 akron1 1
==============================================================================
2
 
7693 akron1 3
	Библиотека (KolibriOS)
7623 akron1 4
 
5
------------------------------------------------------------------------------
6
MODULE Out - консольный вывод
7
 
7693 akron1 8
	PROCEDURE Open
9
		формально открывает консольный вывод
7623 akron1 10
 
7693 akron1 11
	PROCEDURE Int(x, width: INTEGER)
12
		вывод целого числа x;
13
		width - количество знакомест, используемых для вывода
7623 akron1 14
 
7693 akron1 15
	PROCEDURE Real(x: REAL; width: INTEGER)
16
		вывод вещественного числа x в плавающем формате;
17
		width - количество знакомест, используемых для вывода
7623 akron1 18
 
7693 akron1 19
	PROCEDURE Char(x: CHAR)
20
		вывод символа x
7623 akron1 21
 
7693 akron1 22
	PROCEDURE FixReal(x: REAL; width, p: INTEGER)
23
		вывод вещественного числа x в фиксированном формате;
24
		width - количество знакомест, используемых для вывода;
25
		p - количество знаков после десятичной точки
7623 akron1 26
 
7693 akron1 27
	PROCEDURE Ln
28
		переход на следующую строку
7623 akron1 29
 
7693 akron1 30
	PROCEDURE String(s: ARRAY OF CHAR)
31
		вывод строки s
7623 akron1 32
 
33
------------------------------------------------------------------------------
34
MODULE In - консольный ввод
35
 
7693 akron1 36
	VAR Done: BOOLEAN
37
		принимает значение TRUE в случае успешного выполнения
38
		операции ввода, иначе FALSE
7623 akron1 39
 
7693 akron1 40
	PROCEDURE Open
41
		формально открывает консольный ввод,
42
		также присваивает переменной Done значение TRUE
7623 akron1 43
 
7693 akron1 44
	PROCEDURE Int(VAR x: INTEGER)
45
		ввод числа типа INTEGER
7623 akron1 46
 
7693 akron1 47
	PROCEDURE Char(VAR x: CHAR)
48
		ввод символа
7623 akron1 49
 
7693 akron1 50
	PROCEDURE Real(VAR x: REAL)
51
		ввод числа типа REAL
7623 akron1 52
 
7693 akron1 53
	PROCEDURE String(VAR s: ARRAY OF CHAR)
54
		ввод строки
7623 akron1 55
 
7693 akron1 56
	PROCEDURE Ln
57
		ожидание нажатия ENTER
7623 akron1 58
 
59
------------------------------------------------------------------------------
60
MODULE Console - дополнительные процедуры консольного вывода
61
 
7693 akron1 62
	CONST
7623 akron1 63
 
7693 akron1 64
	Следующие константы определяют цвет консольного вывода
7623 akron1 65
 
7693 akron1 66
		Black = 0      Blue = 1 	  Green = 2
67
		Cyan = 3       Red = 4		  Magenta = 5
68
		Brown = 6      LightGray = 7	  DarkGray = 8
69
		LightBlue = 9  LightGreen = 10	  LightCyan = 11
70
		LightRed = 12  LightMagenta = 13  Yellow = 14
71
		White = 15
7623 akron1 72
 
7693 akron1 73
	PROCEDURE Cls
74
		очистка окна консоли
7623 akron1 75
 
7693 akron1 76
	PROCEDURE SetColor(FColor, BColor: INTEGER)
77
		установка цвета консольного вывода: FColor - цвет текста,
78
		BColor - цвет фона, возможные значения - вышеперечисленные
79
		константы
7623 akron1 80
 
7693 akron1 81
	PROCEDURE SetCursor(x, y: INTEGER)
82
		установка курсора консоли в позицию (x, y)
7623 akron1 83
 
7693 akron1 84
	PROCEDURE GetCursor(VAR x, y: INTEGER)
85
		записывает в параметры текущие координаты курсора консоли
7623 akron1 86
 
7693 akron1 87
	PROCEDURE GetCursorX(): INTEGER
88
		возвращает текущую x-координату курсора консоли
7623 akron1 89
 
7693 akron1 90
	PROCEDURE GetCursorY(): INTEGER
91
		возвращает текущую y-координату курсора консоли
7623 akron1 92
 
93
------------------------------------------------------------------------------
94
MODULE ConsoleLib - обертка библиотеки console.obj
95
 
96
------------------------------------------------------------------------------
97
MODULE Math - математические функции
98
 
7693 akron1 99
	CONST
7623 akron1 100
 
7693 akron1 101
		pi = 3.141592653589793E+00
102
		e  = 2.718281828459045E+00
7623 akron1 103
 
104
 
7693 akron1 105
	PROCEDURE IsNan(x: REAL): BOOLEAN
106
		возвращает TRUE, если x - не число
7623 akron1 107
 
7693 akron1 108
	PROCEDURE IsInf(x: REAL): BOOLEAN
109
		возвращает TRUE, если x - бесконечность
7623 akron1 110
 
7693 akron1 111
	PROCEDURE sqrt(x: REAL): REAL
112
		квадратный корень x
7623 akron1 113
 
7693 akron1 114
	PROCEDURE exp(x: REAL): REAL
115
		экспонента x
7623 akron1 116
 
7693 akron1 117
	PROCEDURE ln(x: REAL): REAL
118
		натуральный логарифм x
7623 akron1 119
 
7693 akron1 120
	PROCEDURE sin(x: REAL): REAL
121
		синус x
7623 akron1 122
 
7693 akron1 123
	PROCEDURE cos(x: REAL): REAL
124
		косинус x
7623 akron1 125
 
7693 akron1 126
	PROCEDURE tan(x: REAL): REAL
127
		тангенс x
7623 akron1 128
 
7693 akron1 129
	PROCEDURE arcsin(x: REAL): REAL
130
		арксинус x
7623 akron1 131
 
7693 akron1 132
	PROCEDURE arccos(x: REAL): REAL
133
		арккосинус x
7623 akron1 134
 
7693 akron1 135
	PROCEDURE arctan(x: REAL): REAL
136
		арктангенс x
7623 akron1 137
 
7693 akron1 138
	PROCEDURE arctan2(y, x: REAL): REAL
139
		арктангенс y/x
7623 akron1 140
 
7693 akron1 141
	PROCEDURE power(base, exponent: REAL): REAL
142
		возведение числа base в степень exponent
7623 akron1 143
 
7693 akron1 144
	PROCEDURE log(base, x: REAL): REAL
145
		логарифм x по основанию base
7623 akron1 146
 
7693 akron1 147
	PROCEDURE sinh(x: REAL): REAL
148
		гиперболический синус x
7623 akron1 149
 
7693 akron1 150
	PROCEDURE cosh(x: REAL): REAL
151
		гиперболический косинус x
7623 akron1 152
 
7693 akron1 153
	PROCEDURE tanh(x: REAL): REAL
154
		гиперболический тангенс x
7623 akron1 155
 
7693 akron1 156
	PROCEDURE arsinh(x: REAL): REAL
157
		обратный гиперболический синус x
7623 akron1 158
 
7693 akron1 159
	PROCEDURE arcosh(x: REAL): REAL
160
		обратный гиперболический косинус x
7623 akron1 161
 
7693 akron1 162
	PROCEDURE artanh(x: REAL): REAL
163
		обратный гиперболический тангенс x
7623 akron1 164
 
7693 akron1 165
	PROCEDURE round(x: REAL): REAL
166
		округление x до ближайшего целого
7623 akron1 167
 
7693 akron1 168
	PROCEDURE frac(x: REAL): REAL;
169
		дробная часть числа x
7623 akron1 170
 
7693 akron1 171
	PROCEDURE floor(x: REAL): REAL
172
		наибольшее целое число (представление как REAL),
173
		не больше x: floor(1.2) = 1.0
7623 akron1 174
 
7693 akron1 175
	PROCEDURE ceil(x: REAL): REAL
176
		наименьшее целое число (представление как REAL),
177
		не меньше x: ceil(1.2) = 2.0
7623 akron1 178
 
7693 akron1 179
	PROCEDURE sgn(x: REAL): INTEGER
180
		если x > 0 возвращает 1
181
		если x < 0 возвращает -1
182
		если x = 0 возвращает 0
7623 akron1 183
 
7693 akron1 184
	PROCEDURE fact(n: INTEGER): REAL
185
		факториал n
186
 
7623 akron1 187
------------------------------------------------------------------------------
188
MODULE Debug - вывод на доску отладки
7693 akron1 189
	Интерфейс как модуль Out
7623 akron1 190
 
7693 akron1 191
	PROCEDURE Open
192
		открывает доску отладки
7623 akron1 193
 
194
------------------------------------------------------------------------------
195
MODULE File - работа с файловой системой
196
 
7693 akron1 197
	TYPE
7623 akron1 198
 
7693 akron1 199
		FNAME = ARRAY 520 OF CHAR
7623 akron1 200
 
7693 akron1 201
		FS = POINTER TO rFS
7623 akron1 202
 
7693 akron1 203
		rFS = RECORD (* информационная структура файла *)
204
			subfunc, pos, hpos, bytes, buffer: INTEGER;
205
			name: FNAME
206
		END
7623 akron1 207
 
7693 akron1 208
		FD = POINTER TO rFD
7623 akron1 209
 
7693 akron1 210
		rFD = RECORD (* структура блока данных входа каталога *)
211
			attr: INTEGER;
212
			ntyp: CHAR;
213
			reserved: ARRAY 3 OF CHAR;
214
			time_create, date_create,
215
			time_access, date_access,
216
			time_modif,  date_modif,
217
			size, hsize: INTEGER;
218
			name: FNAME
219
		END
7623 akron1 220
 
7693 akron1 221
	CONST
7623 akron1 222
 
7693 akron1 223
		SEEK_BEG = 0
224
		SEEK_CUR = 1
225
		SEEK_END = 2
7623 akron1 226
 
7693 akron1 227
	PROCEDURE Load(FName: ARRAY OF CHAR; VAR size: INTEGER): INTEGER;
228
		Загружает в память файл с именем FName, записывает в параметр
229
		size размер файла, возвращает адрес загруженного файла
230
		или 0 (ошибка). При необходимости, распаковывает
231
		файл (kunpack).
7623 akron1 232
 
7693 akron1 233
	PROCEDURE GetFileInfo(FName: ARRAY OF CHAR; VAR Info: rFD): BOOLEAN
234
		Записывает структуру блока данных входа каталога для файла
235
		или папки с именем FName в параметр Info.
236
		При ошибке возвращает FALSE.
7623 akron1 237
 
7693 akron1 238
	PROCEDURE Exists(FName: ARRAY OF CHAR): BOOLEAN
239
		возвращает TRUE, если файл с именем FName существует
7623 akron1 240
 
7693 akron1 241
	PROCEDURE Close(VAR F: FS)
242
		освобождает память, выделенную для информационной структуры
243
		файла F и присваивает F значение NIL
7623 akron1 244
 
7693 akron1 245
	PROCEDURE Open(FName: ARRAY OF CHAR): FS
246
		возвращает указатель на информационную структуру файла с
247
		именем FName, при ошибке возвращает NIL
7623 akron1 248
 
7693 akron1 249
	PROCEDURE Delete(FName: ARRAY OF CHAR): BOOLEAN
250
		удаляет файл с именем FName, при ошибке возвращает FALSE
7623 akron1 251
 
7693 akron1 252
	PROCEDURE Seek(F: FS; Offset, Origin: INTEGER): INTEGER
253
		устанавливает позицию чтения-записи файла F на Offset,
254
		относительно Origin = (SEEK_BEG - начало файла,
255
		SEEK_CUR - текущая позиция, SEEK_END - конец файла),
256
		возвращает позицию относительно начала файла, например:
257
			Seek(F, 0, SEEK_END)
258
		устанавливает позицию на конец файла и возвращает длину
259
		файла; при ошибке возвращает -1
7623 akron1 260
 
7693 akron1 261
	PROCEDURE Read(F: FS; Buffer, Count: INTEGER): INTEGER
262
		Читает данные из файла в память. F - указатель на
263
		информационную структуру файла, Buffer - адрес области
264
		памяти, Count - количество байт, которое требуется прочитать
265
		из файла; возвращает количество байт, которое было прочитано
266
		и соответствующим образом изменяет позицию чтения/записи в
267
		информационной структуре F.
7623 akron1 268
 
7693 akron1 269
	PROCEDURE Write(F: FS; Buffer, Count: INTEGER): INTEGER
270
		Записывает данные из памяти в файл. F - указатель на
271
		информационную структуру файла, Buffer - адрес области
272
		памяти, Count - количество байт, которое требуется записать
273
		в файл; возвращает количество байт, которое было записано и
274
		соответствующим образом изменяет позицию чтения/записи в
275
		информационной структуре F.
7623 akron1 276
 
7693 akron1 277
	PROCEDURE Create(FName: ARRAY OF CHAR): FS
278
		создает новый файл с именем FName (полное имя), возвращает
279
		указатель на информационную структуру файла,
280
		при ошибке возвращает NIL
7623 akron1 281
 
7693 akron1 282
	PROCEDURE CreateDir(DirName: ARRAY OF CHAR): BOOLEAN
283
		создает папку с именем DirName, все промежуточные папки
284
		должны существовать, при ошибке возвращает FALSE
7623 akron1 285
 
7693 akron1 286
	PROCEDURE DeleteDir(DirName: ARRAY OF CHAR): BOOLEAN
287
		удаляет пустую папку с именем DirName,
288
		при ошибке возвращает FALSE
7623 akron1 289
 
7693 akron1 290
	PROCEDURE DirExists(DirName: ARRAY OF CHAR): BOOLEAN
291
		возвращает TRUE, если папка с именем DirName существует
7623 akron1 292
 
293
------------------------------------------------------------------------------
294
MODULE Read - чтение основных типов данных из файла F
295
 
7693 akron1 296
	Процедуры возвращают TRUE в случае успешной операции чтения и
297
	соответствующим образом изменяют позицию чтения/записи в
298
	информационной структуре F
7623 akron1 299
 
7693 akron1 300
	PROCEDURE Char(F: File.FS; VAR x: CHAR): BOOLEAN
7623 akron1 301
 
7693 akron1 302
	PROCEDURE Int(F: File.FS; VAR x: INTEGER): BOOLEAN
7623 akron1 303
 
7693 akron1 304
	PROCEDURE Real(F: File.FS; VAR x: REAL): BOOLEAN
7623 akron1 305
 
7693 akron1 306
	PROCEDURE Boolean(F: File.FS; VAR x: BOOLEAN): BOOLEAN
7623 akron1 307
 
7693 akron1 308
	PROCEDURE Set(F: File.FS; VAR x: SET): BOOLEAN
7623 akron1 309
 
7693 akron1 310
	PROCEDURE Card16(F: File.FS; VAR x: SYSTEM.CARD16): BOOLEAN
7623 akron1 311
 
312
------------------------------------------------------------------------------
313
MODULE Write - запись основных типов данных в файл F
314
 
7693 akron1 315
	Процедуры возвращают TRUE в случае успешной операции записи и
316
	соответствующим образом изменяют позицию чтения/записи в
317
	информационной структуре F
7623 akron1 318
 
7693 akron1 319
	PROCEDURE Char(F: File.FS; x: CHAR): BOOLEAN
7623 akron1 320
 
7693 akron1 321
	PROCEDURE Int(F: File.FS; x: INTEGER): BOOLEAN
7623 akron1 322
 
7693 akron1 323
	PROCEDURE Real(F: File.FS; x: REAL): BOOLEAN
7623 akron1 324
 
7693 akron1 325
	PROCEDURE Boolean(F: File.FS; x: BOOLEAN): BOOLEAN
7623 akron1 326
 
7693 akron1 327
	PROCEDURE Set(F: File.FS; x: SET): BOOLEAN
7623 akron1 328
 
7693 akron1 329
	PROCEDURE Card16(F: File.FS; x: SYSTEM.CARD16): BOOLEAN
7623 akron1 330
 
331
------------------------------------------------------------------------------
332
MODULE DateTime - дата, время
333
 
7693 akron1 334
	CONST ERR = -7.0E5
7623 akron1 335
 
7693 akron1 336
	PROCEDURE Now(VAR Year, Month, Day, Hour, Min, Sec: INTEGER)
337
		записывает в параметры компоненты текущей системной даты и
338
		времени
7623 akron1 339
 
7693 akron1 340
	PROCEDURE Encode(Year, Month, Day, Hour, Min, Sec: INTEGER): REAL
341
		возвращает дату, полученную из компонентов
342
		Year, Month, Day, Hour, Min, Sec;
343
		при ошибке возвращает константу ERR = -7.0E5
7623 akron1 344
 
7693 akron1 345
	PROCEDURE Decode(Date: REAL; VAR Year, Month, Day,
346
				Hour, Min, Sec: INTEGER): BOOLEAN
347
		извлекает компоненты
348
		Year, Month, Day, Hour, Min, Sec из даты Date;
349
		при ошибке возвращает FALSE
7623 akron1 350
 
351
------------------------------------------------------------------------------
352
MODULE Args - параметры программы
353
 
7693 akron1 354
	VAR argc: INTEGER
355
		количество параметров программы, включая имя
356
		исполняемого файла
7623 akron1 357
 
7693 akron1 358
	PROCEDURE GetArg(n: INTEGER; VAR s: ARRAY OF CHAR)
359
		записывает в строку s n-й параметр программы,
360
		нумерация параметров от 0 до argc - 1,
361
		нулевой параметр -- имя исполняемого файла
7623 akron1 362
 
363
------------------------------------------------------------------------------
364
MODULE KOSAPI
365
 
7693 akron1 366
	PROCEDURE sysfunc1(arg1: INTEGER): INTEGER
367
	PROCEDURE sysfunc2(arg1, arg2: INTEGER): INTEGER
368
	...
369
	PROCEDURE sysfunc7(arg1, arg2, ..., arg7: INTEGER): INTEGER
370
		Обертки для функций API ядра KolibriOS.
371
		arg1 .. arg7 соответствуют регистрам
372
			eax, ebx, ecx, edx, esi, edi, ebp;
373
		возвращают значение регистра eax после системного вызова.
7623 akron1 374
 
7693 akron1 375
	PROCEDURE sysfunc22(arg1, arg2: INTEGER; VAR res2: INTEGER): INTEGER
376
		Обертка для функций API ядра KolibriOS.
377
		arg1 - регистр eax, arg2 - регистр ebx,
378
		res2 - значение регистра ebx после системного вызова;
379
		возвращает значение регистра eax после системного вызова.
7623 akron1 380
 
7693 akron1 381
	PROCEDURE malloc(size: INTEGER): INTEGER
382
		Выделяет блок памяти.
383
		size - размер блока в байтах,
384
		возвращает адрес выделенного блока
7623 akron1 385
 
7693 akron1 386
	PROCEDURE free(ptr: INTEGER): INTEGER
387
		Освобождает ранее выделенный блок памяти с адресом ptr,
388
		возвращает 0
7623 akron1 389
 
7693 akron1 390
	PROCEDURE realloc(ptr, size: INTEGER): INTEGER
391
		Перераспределяет блок памяти,
392
		ptr - адрес ранее выделенного блока,
393
		size - новый размер,
394
		возвращает указатель на перераспределенный блок,
395
 
7623 akron1 396
 
7693 akron1 397
	PROCEDURE GetCommandLine(): INTEGER
398
		Возвращает адрес строки параметров
7623 akron1 399
 
7693 akron1 400
	PROCEDURE GetName(): INTEGER
401
		Возвращает адрес строки с именем программы
7623 akron1 402
 
7693 akron1 403
	PROCEDURE LoadLib(name: ARRAY OF CHAR): INTEGER
404
		Загружает DLL с полным именем name. Возвращает адрес таблицы
405
		экспорта. При ошибке возвращает 0.
7623 akron1 406
 
7693 akron1 407
	PROCEDURE GetProcAdr(name: ARRAY OF CHAR; lib: INTEGER): INTEGER
408
		name - имя процедуры
409
		lib - адрес таблицы экспорта DLL
410
		Возвращает адрес процедуры. При ошибке возвращает 0.
7623 akron1 411
 
412
------------------------------------------------------------------------------
413
MODULE ColorDlg - работа с диалогом "Color Dialog"
414
 
7693 akron1 415
	TYPE
7623 akron1 416
 
7693 akron1 417
		Dialog = POINTER TO RECORD (* структура диалога *)
418
		    status: INTEGER   (* состояние диалога:
419
 
420
					 1 - пользователь нажал OK
421
					 2 - диалог открыт	     *)
7623 akron1 422
 
7693 akron1 423
		    color:  INTEGER   (* выбранный цвет *)
424
		END
7623 akron1 425
 
7693 akron1 426
	PROCEDURE Create(draw_window: DRAW_WINDOW): Dialog
427
		создать диалог
428
		draw_window - процедура перерисовки основного окна
429
		(TYPE DRAW_WINDOW = PROCEDURE);
430
		процедура возвращает указатель на структуру диалога
7623 akron1 431
 
7693 akron1 432
	PROCEDURE Show(cd: Dialog)
433
		показать диалог
434
		cd - указатель на структуру диалога, который был создан ранее
435
		процедурой Create
7623 akron1 436
 
7693 akron1 437
	PROCEDURE Destroy(VAR cd: Dialog)
438
		уничтожить диалог
439
		cd - указатель на структуру диалога
7623 akron1 440
 
441
------------------------------------------------------------------------------
442
MODULE OpenDlg - работа с диалогом "Open Dialog"
443
 
7693 akron1 444
	TYPE
7623 akron1 445
 
7693 akron1 446
		Dialog = POINTER TO RECORD (* структура диалога *)
447
		    status:   INTEGER  (* состояние диалога:
448
 
449
					  1 - пользователь нажал OK
450
					  2 - диалог открыт	      *)
7623 akron1 451
 
7693 akron1 452
		    FileName: ARRAY 4096 OF CHAR (* имя выбранного файла *)
453
		    FilePath: ARRAY 4096 OF CHAR (* полное имя выбранного
454
						    файла		 *)
455
		END
7623 akron1 456
 
7693 akron1 457
	PROCEDURE Create(draw_window: DRAW_WINDOW; type: INTEGER; def_path,
458
			filter: ARRAY OF CHAR): Dialog
459
		создать диалог
460
		draw_window - процедура перерисовки основного окна
461
			(TYPE DRAW_WINDOW = PROCEDURE)
462
		type -	тип диалога
463
 
464
			1 - сохранить
465
			2 - выбрать папку
466
		def_path - путь по умолчанию, папка def_path будет открыта
467
			при первом запуске диалога
468
		filter - в строке записано перечисление расширений файлов,
469
			которые будут показаны в диалоговом окне, расширения
470
			разделяются символом "|", например: "ASM|TXT|INI"
471
		процедура возвращает указатель на структуру диалога
7623 akron1 472
 
7693 akron1 473
	PROCEDURE Show(od: Dialog; Width, Height: INTEGER)
474
		показать диалог
475
		od - указатель на структуру диалога, который был создан ранее
476
		     процедурой Create
477
		Width и Height - ширина и высота диалогового окна
7623 akron1 478
 
7693 akron1 479
	PROCEDURE Destroy(VAR od: Dialog)
480
		уничтожить диалог
481
		od - указатель на структуру диалога
7623 akron1 482
 
483
------------------------------------------------------------------------------
484
MODULE kfonts - работа с kf-шрифтами
485
 
7693 akron1 486
	CONST
7623 akron1 487
 
7693 akron1 488
		bold		=   1
489
		italic		=   2
490
		underline	=   4
491
		strike_through	=   8
492
		smoothing	=  16
493
		bpp32		=  32
7623 akron1 494
 
7693 akron1 495
	TYPE
7623 akron1 496
 
7693 akron1 497
		TFont = POINTER TO TFont_desc (* указатель на шрифт *)
7623 akron1 498
 
7693 akron1 499
	PROCEDURE LoadFont(file_name: ARRAY OF CHAR): TFont
500
		загрузить шрифт из файла
501
		file_name   имя kf-файла
502
		рез-т:	    указатель на шрифт/NIL (ошибка)
7623 akron1 503
 
7693 akron1 504
	PROCEDURE SetSize(Font: TFont; font_size: INTEGER): BOOLEAN
505
		установить размер шрифта
506
		Font	    указатель на шрифт
507
		font_size   размер шрифта
508
		рез-т:	    TRUE/FALSE (ошибка)
7623 akron1 509
 
7693 akron1 510
	PROCEDURE Enabled(Font: TFont; font_size: INTEGER): BOOLEAN
511
		проверить, есть ли шрифт, заданного размера
512
		Font	    указатель на шрифт
513
		font_size   размер шрифта
514
		рез-т:	    TRUE/FALSE (шрифта нет)
7623 akron1 515
 
7693 akron1 516
	PROCEDURE Destroy(VAR Font: TFont)
517
		выгрузить шрифт, освободить динамическую память
518
		Font	    указатель на шрифт
519
		Присваивает переменной Font значение NIL
7623 akron1 520
 
7693 akron1 521
	PROCEDURE TextHeight(Font: TFont): INTEGER
522
		получить высоту строки текста
523
		Font	    указатель на шрифт
524
		рез-т:	    высота строки текста в пикселях
7623 akron1 525
 
7693 akron1 526
	PROCEDURE TextWidth(Font: TFont;
527
		    str, length, params: INTEGER): INTEGER
528
		получить ширину строки текста
529
		Font	    указатель на шрифт
530
		str	    адрес строки текста в кодировке Win-1251
531
		length	    количество символов в строке или -1, если строка
532
			    завершается нулем
533
		params	    параметры-флаги см. ниже
534
		рез-т:	    ширина строки текста в пикселях
7623 akron1 535
 
7693 akron1 536
	PROCEDURE TextOut(Font: TFont;
537
		    canvas, x, y, str, length, color, params: INTEGER)
538
		вывести текст в буфер
539
		для вывода буфера в окно, использовать ф.65 или
540
		ф.7 (если буфер 24-битный)
541
		Font	    указатель на шрифт
542
		canvas	    адрес графического буфера
543
			    структура буфера:
544
			      Xsize	  dd
545
			      Ysize	  dd
546
			      picture	  rb  Xsize * Ysize * 4 (32 бита)
547
					      или Xsize * Ysize * 3 (24 бита)
548
		x, y	    координаты текста относительно левого верхнего
549
			    угла буфера
550
		str	    адрес строки текста в кодировке Win-1251
551
		length	    количество символов в строке или -1, если строка
552
			    завершается нулем
553
		color	    цвет текста 0x00RRGGBB
554
		params	    параметры-флаги:
555
			       1   жирный
556
			       2   курсив
557
			       4   подчеркнутый
558
			       8   перечеркнутый
559
			      16   применить сглаживание
560
			      32   вывод в 32-битный буфер
561
			    возможно использование флагов в любых сочетаниях
7623 akron1 562
------------------------------------------------------------------------------
563
MODULE RasterWorks - обертка библиотеки Rasterworks.obj
564
------------------------------------------------------------------------------
565
MODULE libimg - обертка библиотеки libimg.obj
566
------------------------------------------------------------------------------