Повторное использование ранее созданной поверхности
#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