gf_layer_info_t

Информация о слое

Формат:

#include <gf/gf.h>
typedef struct {
gf_format_t format;
unsigned caps;
unsigned alpha_valid_flags;
unsigned alpha_combinations;
unsigned chromakey_caps;
uint64_t order_caps;
int src_max_height;
int src_max_width;
int src_max_viewport_height;
int src_max_viewport_width;
int dst_max_height;
int dst_max_width;
int dst_min_height;
int dst_min_width;
int max_scaleup_x;
int max_scaleup_y;
int max_scaledown_x;
int max_scaledown_y;
uint32_t output_mask;
} gf_layer_info_t;

Описание:

Структура gf_layer_info_t имеет как минимум следующие поля:

format
Формат пикселей слоя. См. также gf_format_t для списка доступных форматов.

Note: Если заполненный функцией gf_layer_query() формат является упакованным, то он не будет endian-специфичным.

caps
Функциональные возможности слоя. Допустимые биты маски:
GF_LAYER_CAP_FILTER
Можно применять сглаживающие фильтры во время отображения слоя. Фильтрацию можно применять для уменьшения количества артефактов при масштабировании изображений.
GF_LAYER_CAP_SCALE_REPLICATE
Для масштабирования исходного изображения в целевое окно просмотра доступен простой метод реплицирования пикселей.
GF_LAYER_CAP_PAN_SOURCE
Можно настроить положение исходного окна просмотра, вызвав gf_layer_set_src_viewport().
GF_LAYER_CAP_SIZE_DEST
Размер целевого окна просмотра может отличаться от размера исходного окна просмотра.
GF_LAYER_CAP_PAN_DEST
Можно настроить положение целевого окна просмотра, вызвав gf_layer_set_dst_viewport().
GF_LAYER_CAP_EDGE_CLAMP
Если отображаемое изображение недостаточно велико для заполнения целевого окна просмотра, то незаполненные правая и нижняя части окна просмотра могут быть заполнены автоматически. Последний отображаемый пиксель будет повторен до границы просматриваемой области.
GF_LAYER_CAP_EDGE_WRAP
Если отображаемое изображение недостаточно велико для заполнения целевого окна просмотра, то незаполненные правая и нижняя части окна просмотра могут быть заполнены. Правая и нижняя части могут быть перенесены к левым верхним частям изображения.
GF_LAYER_CAP_DISABLE
Можно деактивировать слой с помощью gf_layer_disable().
GF_LAYER_CAP_SET_BRIGHTNESS
Можно настроить яркость с помощью gf_layer_set_brightness().
GF_LAYER_CAP_SET_CONTRAST
Можно настроить контрастность с помощью gf_layer_set_contrast().
GF_LAYER_CAP_SET_SATURATION
Можно настроить насыщенность с помощью gf_layer_set_saturation().
GF_LAYER_CAP_ALPHA_WITH_CHROMA
Слой может одновременно применять alpha-смешивание and chroma-key.
GF_LAYER_CAP_PAN_DEST_NEGATIVE
Координаты результирующего окна отображения слоя могут быть отрицательными.
GF_LAYER_CAP_MAIN_DISPLAY
Данный слой является основным слоем дисплея.
alpha_valid_flags
Флаги, указываемые папаметром mode типа gf_alpha_t в функции gf_layer_set_blending().
alpha_combinations
Возможности оборудования для alpha-смешивания в слое. Допустимые биты маски:
GF_ALPHA_CAP_SPP_WITH_GLOBAL
Попиксельное source-смешивание может производиться совместно с глобальным множителем alpha-канала.
GF_ALPHA_CAP_GLOBAL_WITH_DPP
Попиксельное destination-смешивание можно производить совместно с глобальным множителем alpha-канала.
GF_ALPHA_CAP_SPP_WITH_DPP
Попиксельное source-смешивание можно использовать совместно с destination-попиксельным смешиванием.
GF_ALPHA_CAP_GLOBAL_WITH_GLOBAL
Глобальные множители alpha-канала surce- и destination- слоев могут использоваться совместно.
chromakey_caps
Возможности аппаратуры по обеспечению chroma-key для уровня. Допустимые биты маски:
GF_LAYER_CHROMAKEY_CAP_SRC_SINGLE
Слой поддерживает chroma-key c точным совпадением значения цвета исходного пикселя с ключем.
GF_LAYER_CHROMAKEY_CAP_SRC_RANGE
Слой поддерживает chroma-key c соответствием значения исходного пикселя диапазану значени ключа.
GF_LAYER_CHROMAKEY_CAP_DST_SINGLE
Слой поддерживает chroma-key c точным совпадением значения цвета целевого пикселя с ключем.
GF_LAYER_CHROMAKEY_CAP_DST_RANGE
Tлой поддерживает chroma-key c соответствием значения целевого пикселя диапазану значени ключа.
GF_LAYER_CHROMAKEY_CAP_SHOWTHROUGH
Слой можно настроить так, чтобы при сравнении цветовых ключей и совпадении цветов отображаемый пиксель поступал из нижележащего слоя. При несовпадении цветов, отображается пиксель из видимого слоя.
GF_LAYER_CHROMAKEY_CAP_BLOCK
Слой можно настроить так, чтобы при сравнении цветовых ключей и совпадении цветов, отображаемый пиксель брался из видимого слоя. При несовпадении цветов, отображается пиксель из нижелезащего слоя.
order_caps
число z-уровней, которые может занимать слой. Для каждого уровня будет включен или выключен соответствующий бит order_caps, чтобы отразить, возможно ли использование уровня. Уровень 0 (самая дальняя от пользователя) представляется наименьшим значимым битом 0, уровень 1 - битом 1 и т.д.
src_max_height
Максимальная высота источника (в пикселях).
src_max_width
Максимальная ширина источника (в пикселях).
src_max_viewport_height
Максимальная высота исходного окна просмотра (в пикселях).
src_max_viewport_width
Максимальная ширина исходного окна просмотра (в пикселях).
dst_max_height
Максимальная высота цели (в пикселях).
dst_max_width
Максимальная ширина цели (в пикселях).
dst_min_height
Максимальная высота целевого окна просмотра (в пикселях).
dst_min_width
Максимальная ширина целевого окна просмотра (в пикселях).
max_scaleup_x, max_scaleup_y
Максимальный коэффициент масштабирования для увеличения изображения по горизонтали и вертикали. Значение 1 показывает, что масштабирование невозможно. Значение < 1 является некорректным. Значение max_scaleup_x > 1 означает, что ширина целевого окна просмотра может быть до max_scaleup_x, умноженного на на ширину исходного окна просмотра. Аналогично, значение max_scaleup_y > 1 означает, что высота целевого окна просмотра может достигать max_scaleup_y, умноженного на высоту исходного окна просмотра.
max_scaledown_x, max_scaledown_y
Максимальный коэффициент масштабирования для уменьшения изображения по горизонтали и вертикали. Значение 1 показывает, что масштабирование невозможно. Значение < 1 является некорректным. Значение max_scaledown_x > 1 означает, что ширина целевого окна просмотра может быть в max_scaledown_x раз больше ширины исходного окна просмотра. Аналогично, значение max_scaledown_y > 1 означает, что высота целевого окна просмотра может быть в max_scaledown_y раз больше высоты исходного окна просмотра.
output_mask
При наличии нескольких выходов это значение указывает, на каких выходах слой может отображаться.

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

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

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

gf_layer_query()




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