SysFn15/ru: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
Punk Joker (talk | contribs) No edit summary |
||
Line 5: | Line 5: | ||
Параметры: | Параметры: | ||
* eax = 15 - номер функции | :* eax = 15 - номер функции | ||
* ebx = 1 - номер подфункции | :* ebx = 1 - номер подфункции | ||
* ecx = ширина изображения | :* ecx = ширина изображения | ||
* edx = высота изображения | :* edx = высота изображения | ||
Возвращаемое значение: | Возвращаемое значение: | ||
* функция не возвращает значения | :* функция не возвращает значения | ||
Замечания: | Замечания: | ||
* Вызов функции обязателен перед вызовом подфункций 2 и 5. | :* Вызов функции обязателен перед вызовом подфункций 2 и 5. | ||
* Для обновления экрана (после завершения серии команд, работающих | :* Для обновления экрана (после завершения серии команд, работающих с | ||
* Есть парная функция получения размеров фонового изображения - подфункция 1 функции 39. | ::фоном) вызывайте подфункцию 3 перерисовки фона. | ||
:* Есть парная функция получения размеров фонового изображения - | |||
::подфункция 1 функции 39. | |||
=== Подфункция 2 - поставить точку на фоновом изображении. === | === Подфункция 2 - поставить точку на фоновом изображении. === | ||
Параметры: | Параметры: | ||
* eax = 15 - номер функции | :* eax = 15 - номер функции | ||
* ebx = 2 - номер подфункции | :* ebx = 2 - номер подфункции | ||
* ecx = смещение | :* ecx = смещение | ||
* edx = цвет точки 0xRRGGBB | :* edx = цвет точки 0xRRGGBB | ||
Возвращаемое значение: | Возвращаемое значение: | ||
* функция не возвращает значения | :* функция не возвращает значения | ||
Замечания: | Замечания: | ||
* Смещение для точки с координатами (x,y) вычисляется как (x+y* | :* Смещение для точки с координатами (x,y) вычисляется как | ||
* Если указанное смещение превышает установленный подфункцией 1 размер, вызов игнорируется. | ::(x+y*xsize)*3. | ||
* Для обновления экрана (после завершения серии команд, работающих с фоном) вызывайте подфункцию 3 перерисовки фона. | :* Если указанное смещение превышает установленный подфункцией 1 | ||
* Есть парная функция получения точки с фонового изображения - подфункция 2 функции 39. | ::размер, вызов игнорируется. | ||
:* Для обновления экрана (после завершения серии команд, работающих с | |||
::фоном) вызывайте подфункцию 3 перерисовки фона. | |||
:* Есть парная функция получения точки с фонового изображения - | |||
::подфункция 2 функции 39. | |||
=== Подфункция 3 - перерисовать фон. === | === Подфункция 3 - перерисовать фон. === | ||
Параметры: | Параметры: | ||
* eax = 15 - номер функции | :* eax = 15 - номер функции | ||
* ebx = 3 - номер подфункции | :* ebx = 3 - номер подфункции | ||
Возвращаемое значение: | Возвращаемое значение: | ||
* функция не возвращает значения | :* функция не возвращает значения | ||
=== Подфункция 4 - установить режим отрисовки фона. === | === Подфункция 4 - установить режим отрисовки фона. === | ||
Параметры: | Параметры: | ||
* eax = 15 - номер функции | :* eax = 15 - номер функции | ||
* ebx = 4 - номер подфункции | :* ebx = 4 - номер подфункции | ||
* ecx = режим отрисовки: | :* ecx = режим отрисовки: | ||
::* 1 = замостить | |||
::* 2 = растянуть | |||
Возвращаемое значение: | Возвращаемое значение: | ||
* функция не возвращает значения | :* функция не возвращает значения | ||
Замечания: | Замечания: | ||
* Для обновления экрана (после завершения серии команд, работающих с фоном) вызывайте подфункцию 3 перерисовки фона. | :* Для обновления экрана (после завершения серии команд, работающих с | ||
* Есть парная команда получения режима отрисовки фона - подфункция 4 функции 39. | ::фоном) вызывайте подфункцию 3 перерисовки фона. | ||
:* Есть парная команда получения режима отрисовки фона - | |||
::подфункция 4 функции 39. | |||
=== Подфункция 5 - поместить блок пикселей на фон. === | === Подфункция 5 - поместить блок пикселей на фон. === | ||
Параметры: | Параметры: | ||
* eax = 15 - номер функции | :* eax = 15 - номер функции | ||
* ebx = 5 - номер подфункции | :* ebx = 5 - номер подфункции | ||
* ecx = указатель на данные в формате BBGGRRBBGGRR... | :* ecx = указатель на данные в формате BBGGRRBBGGRR... | ||
* edx = смещение в данных фонового изображения | :* edx = смещение в данных фонового изображения | ||
* esi = размер данных в байтах = 3 * число пикселей | :* esi = размер данных в байтах = 3 * число пикселей | ||
Возвращаемое значение: | Возвращаемое значение: | ||
* функция не возвращает значения | :* функция не возвращает значения | ||
Замечания: | |||
:* Проверки корректности смещения и размера не производится. | |||
:* Цвет каждого пикселя хранится как 3-байтная величина BBGGRR. | |||
:* Пиксели фонового изображения записываются последовательно | |||
::слева направо, сверху вниз. | |||
:* Смещение пикселя с координатами (x,y) есть (x+y*xsize)*3. | |||
:* Для обновления экрана (после завершения серии команд, работающих с | |||
::фоном) вызывайте подфункцию 3 перерисовки фона. | |||
=== Подфункция 6 - спроецировать данные фона на адресное пространство процесса.=== | === Подфункция 6 - спроецировать данные фона на адресное пространство процесса.=== | ||
Параметры: | Параметры: | ||
* eax = 15 - номер функции | :* eax = 15 - номер функции | ||
* ebx = 6 - номер подфункции | :* ebx = 6 - номер подфункции | ||
Возвращаемое значение: | Возвращаемое значение: | ||
* eax = указатель на данные фона, 0 при ошибке | :* eax = указатель на данные фона, 0 при ошибке | ||
Замечания: | Замечания: | ||
* Спроецированные данные доступны на чтение и запись. | :* Спроецированные данные доступны на чтение и запись. | ||
* Размер данных фона равен 3*xsize*ysize. Изменение размеров фона блокируется на время работы с спроецированными данными. | :* Размер данных фона равен 3*xsize*ysize. Изменение размеров фона | ||
* Цвет каждого пикселя хранится как 3-байтовая величина BBGGRR. | ::блокируется на время работы с спроецированными данными. | ||
* Пиксели фонового изображения записываются последовательно слева направо, сверху вниз. | :* Цвет каждого пикселя хранится как 3-байтовая величина BBGGRR. | ||
:* Пиксели фонового изображения записываются последовательно | |||
::слева направо, сверху вниз. | |||
=== Подфункция 7 - закрыть проекцию данных фона на адресное пространство процесса. === | === Подфункция 7 - закрыть проекцию данных фона на адресное пространство процесса. === | ||
Параметры: | Параметры: | ||
* eax = 15 - номер функции | :* eax = 15 - номер функции | ||
* ebx = 7 - номер подфункции | :* ebx = 7 - номер подфункции | ||
* ecx = указатель на данные фона | :* ecx = указатель на данные фона | ||
Возвращаемое значение: | Возвращаемое значение: | ||
* eax = 1 при успехе, 0 при ошибке | :* eax = 1 при успехе, 0 при ошибке | ||
{{System_functions}} | {{System_functions}} | ||
[[Category: SysCalls]] | [[Category: SysCalls]] |
Revision as of 23:19, 15 December 2013
Функция 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 при ошибке
|