SysFn15/ru
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 при ошибке