SysFn15/ru

From KolibriOS wiki
Revision as of 15:05, 2 April 2010 by Art zh (talk | contribs) (Created page with ''''Функция 15''' - ---- === Подфункция 1 - установить размер фонового изображения. === Параметры: * eax = 15 - н...')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Функция 15 -


Подфункция 1 - установить размер фонового изображения.

Параметры:

  • eax = 15 - номер функции
  • ebx = 1 - номер подфункции
  • ecx = ширина изображения
  • edx = высота изображения

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

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

Замечания:

  • Вызов функции обязателен перед вызовом подфункций 2 и 5.
  • Для обновления экрана (после завершения серии команд, работающих c фоном) вызывайте подфункцию 3 перерисовки фона.
  • Есть парная функция получения размеров фонового изображения - подфункция 1 функции 39.

Подфункция 2 - поставить точку на фоновом изображении.

Параметры:

 * eax = 15 - номер функции
 * ebx = 2 - номер подфункции
 * ecx = смещение
 * edx = цвет точки 0xRRGGBB

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

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

Замечания:

 * Смещение для точки с координатами (x,y) вычисляется как
   (x+y*xsize)*3.
 * Если указанное смещение превышает установленный подфункцией 1
   размер, вызов игнорируется.
 * Для обновления экрана (после завершения серии команд, работающих с
   фоном) вызывайте подфункцию 3 перерисовки фона.
 * Есть парная функция получения точки с фонового изображения -
   подфункция 2 функции 39.


Подфункция 3 - перерисовать фон.

Параметры:

 * eax = 15 - номер функции
 * ebx = 3 - номер подфункции

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

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


Подфункция 4 - установить режим отрисовки фона.

Параметры:

 * eax = 15 - номер функции
 * ebx = 4 - номер подфункции
 * ecx = режим отрисовки:
   * 1 = замостить
   * 2 = растянуть

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

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

Замечания:

 * Для обновления экрана (после завершения серии команд, работающих с
   фоном) вызывайте подфункцию 3 перерисовки фона.
 * Есть парная команда получения режима отрисовки фона -
   подфункция 4 функции 39.


Подфункция 5 - поместить блок пикселей на фон.

Параметры:

 * eax = 15 - номер функции
 * ebx = 5 - номер подфункции
 * ecx = указатель на данные в формате BBGGRRBBGGRR...
 * edx = смещение в данных фонового изображения
 * esi = размер данных в байтах = 3 * число пикселей

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

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

Замечания:

 * Проверки корректности смещения и размера не производится.
 * Цвет каждого пикселя хранится как 3-байтная величина BBGGRR.
 * Пиксели фонового изображения записываются последовательно
   слева направо, сверху вниз.
 * Смещение пикселя с координатами (x,y) есть (x+y*xsize)*3.
 * Для обновления экрана (после завершения серии команд, работающих с
   фоном) вызывайте подфункцию 3 перерисовки фона.


Подфункция 6 - спроецировать данные фона на адресное пространство процесса.

Параметры:

 * eax = 15 - номер функции
 * ebx = 6 - номер подфункции

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

 * eax = указатель на данные фона, 0 при ошибке

Замечания:

 * Спроецированные данные доступны на чтение и запись.
 * Размер данных фона равен 3*xsize*ysize. Изменение размеров фона
   блокируется на время работы с спроецированными данными.
 * Цвет каждого пикселя хранится как 3-байтовая величина BBGGRR.
 * Пиксели фонового изображения записываются последовательно
   слева направо, сверху вниз.


Подфункция 7 - закрыть проекцию данных фона на адресное пространство процесса.

Параметры:

 * eax = 15 - номер функции
 * ebx = 7 - номер подфункции
 * ecx = указатель на данные фона

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

 * eax = 1 при успехе, 0 при ошибке