gf_display_set_layer_order()

Устаналвивает порядок слоёв дисплея

Прототип:

#include <gf/gf.h>
int gf_display_set_layer_order( gf_display_t display,
const unsigned order[],
unsigned flags );

Аргументы:

display
Дескриптор дисплея, для которого устанавливается порядок отображения слоёв. Дескриптор должен быть возвращен функцией gf_display_attach().
order
Массив типа unsigned который определяет новый порядок слоёв. Первый эленмент массива определяет задний слой. Значения элементо массива должны соответствовать дейсвительным индексам солёв дисплея. Если в массиве недостаточно элементов, то результат не определён.
flags
Флаг, определяющий дополнительные возможности. Доступные флаги:
GF_LAYER_UPDATE_NO_WAIT_VSYNC
Выполненине операции ассинхронно; по умолчанию блокируется до следующей вертикальной синхронизации перед изменением порядка слоёв.
GF_LAYER_UPDATE_NO_WAIT_IDLE
Выполнение операции немедленно; по умолчанию ожидает окончания операции отрисовки оборудования перед изменением порядка слоёв.

Библиотека:

gf

Описание:

Данная функция устанавливает порядок слоёв для дисплея. Каждый дисплей всегда содержет по крайнней мере один слой (основной слой дисплея), но некоторые устройства имеют дополнительные слои, которые могут предоставить дополнительные визуальные эффекты без дополнительной нагрузки на CPU.


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

Слои аппаратно накладываются друг на друга и таким образом имеют неявный порядок по оси Z. Некоторые устройства позволяют изменить порядок этих слоёв. Порядок по умолчанию соответствует индексам слоёв, причём нулевой слой раположен дальше всего от пользователя.

Например, чтобы изменить порядок слоёв на двуслойном дисплее необходимо задать порядок {1, 0}. Если бы было 6 слоёв, и вы бы захотели переставить слой 2 назад, то вам бы пришлось задать следующий порядок {2, 0, 1, 3, 4, 5}.

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

GF_ERR_OK
Успешное завершение.
GF_ERR_NOSUPPORT
Порядок слоёв не поддерживается дисплеем.
GF_ERR_IODISPLAY
Ошибка коммуникации с io-display. Следует проверить запущен ли в настоящий момент сервер io-display. Вывод sloginfo может содержать дополнительную информацию.
GF_ERR_PARM
Недействительный порядок слоёв, либо значение параметра display или order равно NULL. Проверьте, нет ли в массиве order повторяющихся значений. Проверьте поле order_caps структуры gf_layer_info_t, чтобы убедиться, что все слои могут быть размещены в заданной позиции.

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

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

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

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

gf_display_attach(), gf_display_detach()




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