diff --git a/kernel/trunk/docs/sysfuncr.txt b/kernel/trunk/docs/sysfuncr.txt index 0d52f4f655..b0297f0e58 100644 --- a/kernel/trunk/docs/sysfuncr.txt +++ b/kernel/trunk/docs/sysfuncr.txt @@ -194,37 +194,39 @@ * Системное время можно установить функцией 22. ====================================================================== -============== Функция 4 - вывести строку текста в окно. ============= +================ Функция 4 - нарисовать строку текста. =============== ====================================================================== Параметры: * eax = 4 - номер функции - * ebx = [координата по оси x]*65536 + [координата по оси y] - * ecx = 0xXYRRGGBB, где + * ebx = X*65536+Y, координаты в окне или буфере + * ecx = 0xXXRRGGBB, где * RR, GG, BB задают цвет текста - * X=ABFF (биты): - * A=1 - выводить ASCIIZ-строку - * B=1 - закрашивать фон цветом edi + * XX=ABFFCSSS (биты): + * A=1 - рисуемая строка заканчивается нулём + * B=1 - закрашивать фон (цвет = edi) * FF задает шрифт и кодировку: 0 = 6x9 cp866 2 = 8x16 UTF-16LE 3 = 8x16 UTF-8 - * Y=CDDD (биты): - * C=1 перенаправить вывод в область пользователя, задано в edi - * DDD = (множитель размера)-1, то-есть 0 = x1, 7 = x8 + * C=0 - рисовать в окно, + С=1 - рисовать в буфер (edi) + * SSS = (множитель размера)-1, то-есть 0 = x1, 7 = x8 * edx = указатель на начало строки * esi = для A=0 длина строки, для A=1 игнорируется - * edi = если B=1, цвет для закраски фона, - если C=1, указатель на область пользователя + * edi = если B=1 - цвет для закраски фона, + если C=1 - указатель на буфер Возвращаемое значение: * функция не возвращает значения Замечания: - * C=1, цвет = 32 бита, область пользователя выглядит так: - Xsize = dword - Ysize = dword - остаток области = Xsize*Ysize*4 * Нельзя одновременно использовать B=1 и C=1, поскольку в обоих случаях используется регистр edi. + * Если SSS=0, шрифт может сглаживаться, + в зависимости от системной настройки. + * Структура буфера: +Xsize dd +Ysize dd +picture rb Xsize*Ysize*4 ; 32 бита ====================================================================== ========================= Функция 5 - пауза. ========================= @@ -2132,12 +2134,21 @@ dword-значение цвета 0x00RRGGBB default.skn, или динамически с помощью приложения desktop. ====================================================================== -====== Функция 48, подфункция 9 - настройка сглаживания шрифтов. ===== += Функция 48, подфункция 9 - получить настройку сглаживания шрифтов. = ====================================================================== Параметры: * eax = 48 - номер функции * ebx = 9 - номер подфункции - * cl=0 - выключить сглаживание, иначе включить сглаживание +Возвращаемое значение: + * eax = 2 - субпиксельное, 1 - обычное, 0 - выключить + +====================================================================== +===== Функция 48, подфункция 10 - настроить сглаживание шрифтов. ===== +====================================================================== +Параметры: + * eax = 48 - номер функции + * ebx = 10 - номер подфункции + * cl = 2 - субпиксельное, 1 - обычное, 0 - выключить ====================================================================== ============ Функция 49 - Advanced Power Management (APM). =========== diff --git a/kernel/trunk/docs/sysfuncs.txt b/kernel/trunk/docs/sysfuncs.txt index 80ca84a4ab..e1fd4d3003 100644 --- a/kernel/trunk/docs/sysfuncs.txt +++ b/kernel/trunk/docs/sysfuncs.txt @@ -192,36 +192,37 @@ Remarks: * System time can be set by function 22. ====================================================================== -============ Function 4 - draw text string in the window. ============ +=================== Function 4 - draw text string. =================== ====================================================================== Parameters: * eax = 4 - function number - * ebx = [coordinate on axis x]*65536 + [coordinate on axis y] - * ecx = 0xXYRRGGBB, where + * ebx = X*65536+Y, coordinates in the window or buffer + * ecx = 0xXXRRGGBB, where * RR, GG, BB specify text color - * X = ABFF (bits): + * XX = ABFFCSSS (bits): * A=1 - output zero terminated string - * B=1 - fill background with the color edi + * B=1 - fill background (color = edi) * 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 - * DDD = (size multiplier)-1, so 0 = x1, 7 = x8 + * C=0 - draw to the window, + C=1 - draw to the user buffer (edi) + * SSS = (size multiplier)-1, so 0 = x1, 7 = x8 * edx = pointer to the beginning of the string * 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 + for C=1 pointer to user buffer Returned value: * function does not return value Remarks: - * C=1, pixel depth = 32 bits, user area is as follows: - 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. + * When SSS=0, font may be smoothed, depending on system setting. + * User buffer structure: +Xsize dd +Ysize dd +picture rb Xsize*Ysize*4 ; 32 bpp ====================================================================== ========================= Function 5 - delay. ======================== @@ -2115,12 +2116,21 @@ Remarks: 'default.skn' or dynamically with the application 'desktop'. ====================================================================== -======== Function 48, subfunction 9 - font smoothing setting. ======== +====== Function 48, subfunction 9 - get font smoothing setting. ====== ====================================================================== Parameters: * eax = 48 - function number * ebx = 9 - subfunction number - * cl=0 - turn off font smoothing, else - turn on +Returned value: + * eax = 2 - subpixel, 1 - anti-aliasing, 0 - off + +====================================================================== +========== Function 48, subfunction 10 - set font smoothing. ========= +====================================================================== +Parameters: + * eax = 48 - function number + * ebx = 10 - subfunction number + * cl = 2 - subpixel, 1 - anti-aliasing, 0 - off ====================================================================== =========== Function 49 - Advanced Power Management (APM). ===========