Выбор формата данных в слое
#include <gf/gf.h>
unsigned gf_layer_choose_format( gf_layer_t layer,
gf_format_t format[],
size_t nformat,
const unsigned *criteria );
- layer
- Дескриптор слоя, возвращенный функцией gf_layer_attach().
- format
- Массив удовлетворяющих указанным критериям и поддерживаемых слоем форматов данных (типа gf_format_t), который будет заполняться функцией.
- nformat
- Размер массива format. Функция заполнит не более чем nformat поддерживаемых форматов, удовлетворяющих критериям.
- criteria
- Перечень дополнительных критериев отбора поддерживаемых форматов данных. Перечень имеет вид массива
unsigned
значений, определяющих пары ключ-значение. Последний элемент массива должен иметь ключ GF_NONE
(значение не имеет значения). Доступны следующие критерии отбора форматов: - GF_2D_RENDERABLE
- формат должен поддерживаться движком 2D акселерации. Ожидается одно из следующих значений:
- GF_TRUE — формат должен поддерживаться 2D ускорителем.
- GF_FALSE — формат не должен поддерживаться 2D ускорителем.
- GF_RED_SIZE
- формат должен содержать не менее указанного числа бит данных для хранения красного компонента цвета пикселя. Значение должно быть целым числом.
- GF_GREEN_SIZE
- формат должен содержать не менее указанного числа бит данных для хранения зеленого компонента цвета пикселя. Значение должно быть целым числом.
- GF_BLUE_SIZE
- формат должен содержать не менее указанного числа бит данных для хранения синего компонента цвета пикселя. Значение должно быть целым числом.
- GF_ALPHA_SIZE
- формат должен содержать не менее указанного числа бит данных для хранения альфа компонента цвета пикселя. Значение должно быть целым числом.
gf
Функция позволяет выбирать формат данных слоя, основываясь на возможностях слоя и пожеланиях пользователя (см. параметр criteria). Возвращаемый массив форматов gf_format_t может использоваться для создания поверхностей, поддерживаемого слоем типа.
| Потоки не должны вызывать эту функцию между вызовами gf_draw_begin() и gf_draw_end(). В противном случае возможна взаимная блокировка потоков. |
Число форматов, удовлетворяющих критериям, которые удалось разместить в массиве format. Значение 0
означает, что ни одного подходящего формата, поддерживаемого слоем, найдено не было, либо значение параметра layer или format или criteria равно NULL
Графическая подсистема ЗОСРВ «Нейтрино», Graphics Framework
- Нет
- Обработчик сигналов
- Нет
- В потоке
- Да
gf_layer_attach(), gf_format_t
Предыдущий раздел: GF API