Свойства объектов, ассоциируемые с объектами Screen API
#include <screen/screen.h>enum {SCREEN_PROPERTY_BUFFER_SIZESCREEN_PROPERTY_FORMATSCREEN_PROPERTY_ID_STRINGSCREEN_PROPERTY_PHYSICALLY_CONTIGUOUSSCREEN_PROPERTY_POINTERSCREEN_PROPERTY_RENDER_BUFFERSSCREEN_PROPERTY_SIZESCREEN_PROPERTY_STRIDESCREEN_PROPERTY_SWAP_INTERVALSCREEN_PROPERTY_USAGESCREEN_PROPERTY_VISIBLESCREEN_PROPERTY_RENDER_BUFFER_COUNTSCREEN_PROPERTY_ZORDERSCREEN_PROPERTY_PHYSICAL_ADDRESSSCREEN_PROPERTY_CURSOR_ENABLESCREEN_PROPERTY_CURSOR_POSITIONSCREEN_PROPERTY_CURSOR_HOTSPOTSCREEN_PROPERTY_CURSOR_PIXMAPSCREEN_PROPERTY_BUTTONSSCREEN_PROPERTY_KEY_CAPSCREEN_PROPERTY_FLAGSSCREEN_PROPERTY_MODIFIERSSCREEN_PROPERTY_SCANSCREEN_PROPERTY_SYMSCREEN_PROPERTY_NAMESCREEN_PROPERTY_OWNER_PIDSCREEN_PROPERTY_POSITIONSCREEN_PROPERTY_SOURCE_POSITIONSCREEN_PROPERTY_TYPESCREEN_PROPERTY_USER_DATASCREEN_PROPERTY_USER_HANDLESCREEN_PROPERTY_WINDOWSCREEN_PROPERTY_DISPLAY_COUNTSCREEN_PROPERTY_DISPLAYSSCREEN_PROPERTY_IDSCREEN_PROPERTY_MOUSE_WHEELSCREEN_PROPERTY_WINDOW_COUNTSCREEN_PROPERTY_WINDOWSSCREEN_PROPERTY_DISPLAY};
libscreen
Возможность чтения и записи конкретных свойств зависит от конкретного объекта Screen API.
int
, представляющая ширину и высоту виде-буфера в пикселях. Следующие объекты API поддерживают данное свойство: int
и определяет пиксельный формат видео-буфера. Значение должно быть выбрано из списка Форматы кодирования цветов пикселей. Следующие объекты API поддерживают данное свойств: int
и характеризует является ли буфер непрерывным в физической памяти. Данное свойство доступно только для чтения. Следующие объекты API поддерживают данное свойство: void
*
и характеризует указатель на видео-память указанного буфера, доступную для чтения/записи со стороны ПО. Буфер должен иметь установленными следующие биты маски предполагаемых способов использования: SCREEN_USAGE_READ, SCREEN_USAGE_WRITE. Данное свойство доступно только для чтения. Следующие объекты API поддерживают данное свойство: int
, которая определяет ширину и высоту окна в пикселях. По умолчанию размер окна соответствует размеру дисплея. int
и определяет размер строки пикселей в байтах. Данное свойство доступно только для чтения. Следующие объекты API поддерживают данное свойство: int
и определяет минимальное число vsync периодов между публикациями изменений содержимого окна. По умолчанию интервал обновления между публикациями изменений содержимого окна равен 1
. Следующие объекты API поддерживают данное свойство: int
и определяет битовую маску предполагаемых способов использования ассоциированных с объектом API видео-буферов. Устанавливаемая по умлочанию для создаваемых в рамках объекта буферов маска предполагаемых способов использования соответствует комбинации битов SCREEN_USAGE_READ | SCREEN_USAGE_WRITE. Свойство SCREEN_PROPERTY_USAGE должно быть задано в виде комбинации битов, определяемых типом Способы использования буферов. Обратите внимение на то, что изменение свойства SCREEN_PROPERTY_USAGE влияет на весь конвейер обработки видео-буферов в том случае, когда снимается или устанавливается бит SCREEN_USAGE_OVERLAY. Следующие объекты API поддерживают данное свойство: int
и определяет видимость окна. По умолчанию свойство установлено в значение 1
(окно видимо). Следующие объекты API поддерживают данное свойство: int
и характеризует порядок отображения окон (z-индекс). По умолчанию свойство установлено в значение 0
, z-индекс может быть как положительным, так и отрицательным. Следующие объекты API поддерживают данное свойство: long
long
int
и характеризует физический адрес указанного буфера. Свойство доступно только в том случае, если видео-буфер является физически непрерывным. Данное свойство доступно только для чтения. Следующие объекты API поддерживают данное свойство: int
и характеризует отображение курсора на дисплее. По умолчанию свойство установлено в значение 0
(не отображать), допустимые значения - [0, 1]. Следующие объекты API поддерживают данное свойство: int
, характеризует позицию курсора на дисплее. По умолчанию позиция курсора соответствует центру дисплея. Следующие объекты API поддерживают данное свойство: int
, характеризует активную точку нажатия для курсора. Следующие объекты API поддерживают данное свойство: screen_window_t
*
, содержит битмап курсора. Следующие объекты API поддерживают данное свойство: int
, содержит битовую маску нажатых кнопок. Заметим, что на геймпаде D-pad, A, B, X, Y, Start, Select, Left и Right считаются кнопками. В настоящее время на геймпадах нет карты кнопок, эквивалентной клавиатурной. Следующие объекты API поддерживают данное свойство: int
, содержит код клавиши без учета модификаторов. Свойство SCREEN_PROPERTY_KEY_CAP реализовано только для события SCREEN_EVENT_KEYBOARD. Следующие объекты API поддерживают данное свойство: int
, содержит флаги, ассоциированные с событием. Следующие объекты API поддерживают данное свойство: int
, содержит модификаторы, ассоциированные с событием. Следующие объекты API поддерживают данное свойство: int
, содержит ассоциированный с событием сканкод. Следующие объекты API поддерживают данное свойство: int
, содержит ассоциированный с событием символ. Следующие объекты API поддерживают данное свойство: int
, содержит тип события. Следующие объекты API поддерживают данное свойство: int
, содержит идентификатор процесса, ответственного за создание объекта API. Следующие объекты API поддерживают данное свойство: int
*
, содержит пару экранных координат объекта API. Следующие объекты API поддерживают данное свойство: int
*
, позиция исходного viewport'a внутри оконного буфера. Следующие объекты API поддерживают данное свойство: int
, содержит индикатор типа интересуемого объекта. Следующие объекты API поддерживают данное свойство: int
*
, содержит данные, ассоциированные с пользователем. Следующие объекты API поддерживают данное свойство: void
*
, содержит дескриптор, который передается окну в случае ассоциации события с окном. Следующие объекты API поддерживают данное свойство: void
*
, содержит дескриптор окна. Следующие объекты API поддерживают данное свойство: int
, содержит количество дисплеев, ассоциированных с контекстом. Следующие объекты API поддерживают данное свойство: void
*
*
, содержит массив указателей на дисплеи. Необходимо запросить значение свойства SCREEN_PROPERTY_DISPLAY_COUNT, после этого нужно выделить необходимое количество памяти для хранения массива указателей. Следующие объекты API поддерживают данное свойство: int
, содержит идентификатор дисплея. Следующие объекты API поддерживают данное свойство: int
, содержит информацию о вращении и вертикальном направлении движения колеса мыши. При вращении вверх значение будет отрицательным. Следующие объекты API поддерживают данное свойство: int
, содержит количество окон, ассоциированных с контекстом. Следующие объекты API поддерживают данное свойство: void
*
*
, содержит массив указателей на окна. Необходимо запросить значение свойства SCREEN_PROPERTY_WINDOW_COUNT, после этого нужно выделить необходимое количество памяти для хранения массива указателей. Следующие объекты API поддерживают данное свойство: void
*
, содержит дескриптор дисплея. Следующие объекты API поддерживают данное свойство:
Предыдущий раздел: Общие типы данных