gf_layer_choose_format()

Выбор формата данных в слое

Прототип:

#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 может использоваться для создания поверхностей, поддерживаемого слоем типа.


Warning: Потоки не должны вызывать эту функцию между вызовами gf_draw_begin() и gf_draw_end(). В противном случае возможна взаимная блокировка потоков.

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

Число форматов, удовлетворяющих критериям, которые удалось разместить в массиве format. Значение 0 означает, что ни одного подходящего формата, поддерживаемого слоем, найдено не было, либо значение параметра layer или format или criteria равно NULL

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

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

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

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

gf_layer_attach(), gf_format_t




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