Subversion Repositories Kolibri OS

Rev

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

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