SysFn04/ru

From KolibriOS wiki
Revision as of 15:28, 12 February 2016 by Pathoswithin (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Функция 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)