Difference between revisions of "SysFn04/ru"

From KolibriOS wiki
Jump to navigation Jump to search
m (moved SysFn04 to SysFn04/ru: Add /ru)
Line 3: Line 3:
 
----
 
----
  
'''Параметры:'''
+
Параметры:
* eax = 4 - номер функции
+
:* eax = 4 - номер функции
* ebx = [координата по оси x]*65536 + [координата по оси y]
+
:* ebx = [координата по оси x]*65536 + [координата по оси y]
* ecx = 0xX0RRGGBB, где
+
:* ecx = 0xXYRRGGBB, где
** RR, GG, BB задают цвет текста
+
::* RR, GG, BB задают цвет текста
** X=ABnn (биты):
+
::* X=ABnn (биты):
** nn задает используемый шрифт: 0=системный моноширинный, 1=системный шрифт переменной ширины
+
::::* nn задает используемый шрифт: 0=системный моноширинный,
** A=0 - выводить esi символов, A=1 - выводить ASCIIZ-строку
+
::::1=системный шрифт переменной ширины
** B=1 - закрашивать фон цветом edi
+
:::* A=0 - выводить esi символов, A=1 - выводить ASCIIZ-строку
* edx = указатель на начало строки
+
:::* B=1 - закрашивать фон цветом edi
* esi = для A=0 длина строки, должна быть не больше 255; для A=1 игнорируется
+
::* Y=Cnnn (биты):
 
+
:::* C=1 перенаправить вывод в область пользователя, задано в edi
'''Возвращаемое значение:'''
+
:::* nnn - не используется в текущем виде, должно быть 0 (zero)
* функция не возвращает значения
+
:* edx = указатель на начало строки
 
+
:* esi = для A=0 длина строки, должна быть не больше 255;
'''Замечания:'''
+
:::::для A=1 игнорируется
* Первый системный шрифт считывается при загрузке из файла char.mt, второй - из char2.mt.
+
:* edi = цвет для закраски фона, если B=1
* Оба шрифта имеют высоту 9 пикселей, ширина моноширинного шрифта равна 6 пикселей.
+
:* edi = указатель на область пользователя, если C=1
 
+
Возвращаемое значение:
 +
:* функция не возвращает значения
 +
Замечания:
 +
:* Первый системный шрифт считывается при загрузке из файла char.mt,
 +
::второй - из char2.mt.
 +
:* Оба шрифта имеют высоту 9 пикселей, ширина моноширинного шрифта
 +
::равна 6 пикселей.
 +
:* C=1, глубина точки = 32 бита, область пользователя выглядит так:
 +
::dword Xsize
 +
::dword Ysize
 +
::остаток области = Xsize * Y size * 4
 +
:* Нельзя одновременно использовать B=1 и C=1, поскольку в обоих
 +
::случаях использован регистр edi для разных целей.
  
 
{{System_functions}}
 
{{System_functions}}
 
[[Category: SysCalls]]
 
[[Category: SysCalls]]

Revision as of 23:02, 15 December 2013

Функция 4 - вывести строку текста в окно


Параметры:

  • eax = 4 - номер функции
  • ebx = [координата по оси x]*65536 + [координата по оси y]
  • ecx = 0xXYRRGGBB, где
  • RR, GG, BB задают цвет текста
  • X=ABnn (биты):
  • nn задает используемый шрифт: 0=системный моноширинный,
1=системный шрифт переменной ширины
  • A=0 - выводить esi символов, A=1 - выводить ASCIIZ-строку
  • B=1 - закрашивать фон цветом edi
  • Y=Cnnn (биты):
  • C=1 перенаправить вывод в область пользователя, задано в edi
  • nnn - не используется в текущем виде, должно быть 0 (zero)
  • edx = указатель на начало строки
  • esi = для A=0 длина строки, должна быть не больше 255;
для A=1 игнорируется
  • edi = цвет для закраски фона, если B=1
  • edi = указатель на область пользователя, если C=1

Возвращаемое значение:

  • функция не возвращает значения

Замечания:

  • Первый системный шрифт считывается при загрузке из файла char.mt,
второй - из char2.mt.
  • Оба шрифта имеют высоту 9 пикселей, ширина моноширинного шрифта
равна 6 пикселей.
  • C=1, глубина точки = 32 бита, область пользователя выглядит так:
dword Xsize
dword Ysize
остаток области = Xsize * Y size * 4
  • Нельзя одновременно использовать B=1 и C=1, поскольку в обоих
случаях использован регистр edi для разных целей.