Difference between revisions of "SysFn04/ru"
Jump to navigation
Jump to search
m (moved SysFn04 to SysFn04/ru: Add /ru) |
Pathoswithin (talk | contribs) |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 3: | Line 3: | ||
---- | ---- | ||
− | + | Параметры: | |
* eax = 4 - номер функции | * eax = 4 - номер функции | ||
* ebx = [координата по оси x]*65536 + [координата по оси y] | * ebx = [координата по оси x]*65536 + [координата по оси y] | ||
− | * ecx = | + | * ecx = 0xXXRRGGBB, где |
− | + | :* RR, GG, BB задают цвет текста | |
− | * | + | :* XX=ABFFCSSS (биты): |
− | ** | + | ::* A=1 - рисуемая строка заканчивается нулём |
− | * | + | ::* B=1 - закрашивать фон (цвет = edi) |
− | * | + | ::* FF задает шрифт и кодировку: |
+ | ::: 0 = 6x9 cp866 | ||
+ | ::: 1 = 8x16 cp866 | ||
+ | ::: 2 = 8x16 UTF-16LE | ||
+ | ::: 3 = 8x16 UTF-8 | ||
+ | ::* C=0 - рисовать в окно, С=1 - рисовать в буфер (edi) | ||
+ | ::* SSS = (множитель размера)-1, то-есть 0 = x1, 7 = x8 | ||
* edx = указатель на начало строки | * edx = указатель на начало строки | ||
− | * esi = для A=0 длина строки, | + | * esi = для A=0 длина строки, для A=1 игнорируется |
+ | * edi = если B=1 - цвет для закраски фона, если C=1 - указатель на буфер | ||
− | + | Возвращаемое значение: | |
* функция не возвращает значения | * функция не возвращает значения | ||
+ | Замечания: | ||
+ | * Нельзя одновременно использовать B=1 и C=1, поскольку в обоих случаях используется регистр edi. | ||
+ | * Если SSS=0, шрифт может сглаживаться, в зависимости от системной настройки. | ||
+ | * Структура буфера: | ||
+ | : Xsize dd ? | ||
+ | : Ysize dd ? | ||
+ | : picture rb Xsize * Ysize * 4 ; 32 бита | ||
− | ''' | + | '''Константы для регистров:''' |
− | + | ::eax - SF_DRAW_TEXT (4) | |
− | |||
− | |||
{{System_functions}} | {{System_functions}} | ||
[[Category: SysCalls]] | [[Category: SysCalls]] |
Latest revision as of 15:28, 12 February 2016
Функция 4 - вывести строку текста в окно
Параметры:
- eax = 4 - номер функции
- ebx = [координата по оси x]*65536 + [координата по оси y]
- ecx = 0xXXRRGGBB, где
- RR, GG, BB задают цвет текста
- XX=ABFFCSSS (биты):
- A=1 - рисуемая строка заканчивается нулём
- B=1 - закрашивать фон (цвет = edi)
- FF задает шрифт и кодировку:
- 0 = 6x9 cp866
- 1 = 8x16 cp866
- 2 = 8x16 UTF-16LE
- 3 = 8x16 UTF-8
- C=0 - рисовать в окно, С=1 - рисовать в буфер (edi)
- SSS = (множитель размера)-1, то-есть 0 = x1, 7 = x8
- edx = указатель на начало строки
- esi = для A=0 длина строки, для A=1 игнорируется
- edi = если B=1 - цвет для закраски фона, если C=1 - указатель на буфер
Возвращаемое значение:
- функция не возвращает значения
Замечания:
- Нельзя одновременно использовать B=1 и C=1, поскольку в обоих случаях используется регистр edi.
- Если SSS=0, шрифт может сглаживаться, в зависимости от системной настройки.
- Структура буфера:
- Xsize dd ?
- Ysize dd ?
- picture rb Xsize * Ysize * 4 ; 32 бита
Константы для регистров:
- eax - SF_DRAW_TEXT (4)
|