Ru/api/kernel: Difference between revisions

From KolibriOS wiki
Jump to navigation Jump to search
Line 83: Line 83:


== Функция 15. ==
== Функция 15. ==
=== Подфункция 1 - установить размер фонового изображения. ===
Параметры:
  * eax = 15 - номер функции
  * ebx = 1 - номер подфункции
  * ecx = ширина изображения
  * edx = высота изображения
Возвращаемое значение:
  * функция не возвращает значения
Замечания:
  * Вызов функции обязателен перед вызовом подфункций 2 и 5.
  * Для обновления экрана (после завершения серии команд, работающих с
    фоном) вызывайте подфункцию 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 при ошибке


Описание функции перенесено в отдельную статью: [[SysFn15/ru | Функция 15]]


== Функция 16 - сохранить рамдиск на дискету. ==
== Функция 16 - сохранить рамдиск на дискету. ==

Revision as of 15:03, 2 April 2010