From bfe9e1d77dfcca55296cf157d08ea45f7d75e37b Mon Sep 17 00:00:00 2001 From: "Kirill Lipatov (Leency)" Date: Wed, 5 Aug 2015 10:02:18 +0000 Subject: [PATCH] Sys functions: update font documentation (by Pathoswithin) git-svn-id: svn://kolibrios.org@5682 a494cfbc-eb01-0410-851d-a64ba20cac60 --- kernel/trunk/docs/sysfuncr.txt | 47 +++++++++++++++++++--------------- kernel/trunk/docs/sysfuncs.txt | 42 ++++++++++++++++-------------- 2 files changed, 50 insertions(+), 39 deletions(-) diff --git a/kernel/trunk/docs/sysfuncr.txt b/kernel/trunk/docs/sysfuncr.txt index 5a9d50056c..8fcc2af0bc 100644 --- a/kernel/trunk/docs/sysfuncr.txt +++ b/kernel/trunk/docs/sysfuncr.txt @@ -201,32 +201,31 @@ * ebx = [координата по оси x]*65536 + [координата по оси y] * ecx = 0xXYRRGGBB, где * RR, GG, BB задают цвет текста - * X=ABnn (биты): - * nn задает используемый шрифт: 0=системный моноширинный, - 1=системный шрифт переменной ширины - * A=0 - выводить esi символов, A=1 - выводить ASCIIZ-строку + * X=ABFF (биты): + * A=1 - выводить ASCIIZ-строку * B=1 - закрашивать фон цветом edi - * Y=Cnnn (биты): + * FF задает шрифт и кодировку: + 0 = 6x9 cp866 + 2 = 8x16 UTF-16LE + 3 = 8x16 UTF-8 + * Y=CDDD (биты): * C=1 перенаправить вывод в область пользователя, задано в edi - * nnn - не используется в текущем виде, должно быть 0 (zero) + * DDD = (множитель размера)-1, то-есть 0 = x1, 7 = x8 * edx = указатель на начало строки - * esi = для A=0 длина строки, должна быть не больше 255; - для A=1 игнорируется - * edi = цвет для закраски фона, если B=1 - * edi = указатель на область пользователя, если C=1 + * esi = для A=0 длина строки, для A=1 игнорируется + * edi = если B=1, цвет для закраски фона, + если C=1, указатель на область пользователя + Возвращаемое значение: * функция не возвращает значения Замечания: - * Первый системный шрифт считывается при загрузке из файла char.mt, - второй - из char2.mt. - * Оба шрифта имеют высоту 9 пикселей, ширина моноширинного шрифта - равна 6 пикселей. - * C=1, глубина точки = 32 бита, область пользователя выглядит так: - dword Xsize - dword Ysize - остаток области = Xsize * Y size * 4 - * Нельзя одновременно использовать B=1 и C=1, поскольку в обоих - случаях использован регистр edi для разных целей. + * C=1, цвет = 32 бита, область пользователя выглядит так: + Xsize = dword + Ysize = dword + остаток области = Xsize*Ysize*4 + * Нельзя одновременно использовать B=1 и C=1, + поскольку в обоих случаях используется регистр edi. + ====================================================================== ========================= Функция 5 - пауза. ========================= ====================================================================== @@ -2085,6 +2084,14 @@ dword-значение цвета 0x00RRGGBB * Пользователь может изменять скин статически, создав свой default.skn, или динамически с помощью приложения desktop. +====================================================================== +====== Функция 48, подфункция 9 - настройка сглаживания шрифтов. ===== +====================================================================== +Параметры: + * eax = 48 - номер функции + * ebx = 9 - номер подфункции + * cl=0 - выключить сглаживание, иначе включить сглаживание + ====================================================================== ============ Функция 49 - Advanced Power Management (APM). =========== ====================================================================== diff --git a/kernel/trunk/docs/sysfuncs.txt b/kernel/trunk/docs/sysfuncs.txt index d43225b6a5..4c9c338bfa 100644 --- a/kernel/trunk/docs/sysfuncs.txt +++ b/kernel/trunk/docs/sysfuncs.txt @@ -199,33 +199,29 @@ Parameters: * ebx = [coordinate on axis x]*65536 + [coordinate on axis y] * ecx = 0xXYRRGGBB, where * RR, GG, BB specify text color - * X=ABnn (bits): - * nn specifies the used font: 0=system monospaced, - 1=system font of variable width - * A=0 - output esi characters, A=1 - output ASCIIZ-string + * X = ABFF (bits): + * A=1 - output zero terminated string * B=1 - fill background with the color edi - * Y = Cnnn + * FF specifies the font and encoding: + 0 = 6x9 cp866 + 2 = 8x16 UTF-16LE + 3 = 8x16 UTF-8 + * Y = CDDD (bits): * C=1 redirect the output to the user area, specified in edi - * nnn - not used in the current, must be 0 (zero) + * DDD = (size multiplier)-1, so 0 = x1, 7 = x8 * edx = pointer to the beginning of the string - * esi = for A=0 length of the string, must not exceed 255; - for A=1 is ignored - * edi = color to fill background, if B=1 - * edi = pointer to user area, for redirect, if C=1 + * esi = for A=0 length of the string, for A=1 is ignored + * edi = for B=1 color to fill background, + for C=1 pointer to user area for redirect Returned value: * function does not return value Remarks: - * First system font is read out at loading from the file char.mt, - second - from char2.mt. - * Both fonts have height 9 pixels, width of the monospaced font - is equal to 6 pixels. * C=1, pixel depth = 32 bits, user area is as follows: - dword Xsize - dword Ysize - rest of the area = Xsize * Y size * 4 - * You can not use B = 1 and C = 1, at the same time. Since in both - cases, the register edi is used for different purposes. + Xsize = dword + Ysize = dword + rest of the area = Xsize*Ysize*4 + * You can not use B=1 and C=1 at the same time, since both use edi. ====================================================================== ========================= Function 5 - delay. ======================== @@ -2073,6 +2069,14 @@ Remarks: * User can change the skin statically by creating hisself 'default.skn' or dynamically with the application 'desktop'. +====================================================================== +======== Function 48, subfunction 9 - font smoothing setting. ======== +====================================================================== +Parameters: + * eax = 48 - function number + * ebx = 9 - subfunction number + * cl=0 - turn off font smoothing, else - turn on + ====================================================================== =========== Function 49 - Advanced Power Management (APM). =========== ======================================================================