SysFn04/ru

From KolibriOS wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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