gf_surface_reattach()

Повторное использование ранее созданной поверхности

Прототип:

#include <gf/gf.h>
int gf_surface_reattach( gf_surface_t surface,
int w,
int h,
int stride,
const gf_palette_t *palette,
uint8_t *ptr,
unsigned flags );

Аргументы:

surface
Дескриптор поверхности, который был создан функцией gf_surface_attach().
w,h
Новая ширина и высота поверхности в пикселях.
stride
Число байт на одну строку данных (scanline) в новом буфере данных, ассоциированном с поверхностью.
palette
Указатель на структуру gf_palette_t, характеризующую новую палитру поверхности. Можно передать значение NULL в случае, если поверхность имеет формат, отличный от GF_FORMAT_PAL8, либо не требуется изменять палитру.
ptr
Указатель на новый буфер памяти, содержащий данные изображения.
flags
Флаги, влияющие на параметры поверхности. В настоящий момент нет ни одного ожидаемого функцией флага, следует передавать значение 0.

Библиотека:

gf

Описание:

Функция позволяет повторно использовать поверхность, созданную ранее при помощи функции gf_surface_attach(). Функция позволяет изменить буфер памяти, ассоциированные с поверхностью. Формат данных при этом должен остаться неизменным.

Функция спроектирована быть быстрой и избегать ненужных аллоцирований и освобождений памяти в ситуациях, когда требуется использовать буфер повторно.

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

GF_ERR_OK
Успешное завершение.
GF_ERR_PARM
Параметры палитры не соответствуют исходно заданной в функции gf_surface_attach() палитре, либо значение параметра psurface или ptr равно NULL

Классификация:

Графическая подсистема ЗОСРВ «Нейтрино», Graphics Framework

Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

gf_palette_t, gf_surface_attach(), gf_surface_create(), gf_surface_create_layer(), gf_surface_free()




Предыдущий раздел: GF API