Свойства различных объектов Screen API
#include <screen/screen.h>typedef enum {SCREEN_PROPERTY_BUFFER_SIZE,SCREEN_PROPERTY_FORMAT,SCREEN_PROPERTY_ID_STRING,SCREEN_PROPERTY_PHYSICALLY_CONTIGUOUS,SCREEN_PROPERTY_POINTER,SCREEN_PROPERTY_RENDER_BUFFERS,SCREEN_PROPERTY_SIZE,SCREEN_PROPERTY_STRIDE,SCREEN_PROPERTY_SWAP_INTERVAL,SCREEN_PROPERTY_USAGE,SCREEN_PROPERTY_VISIBLE,SCREEN_PROPERTY_RENDER_BUFFER_COUNT,SCREEN_PROPERTY_ZORDER,SCREEN_PROPERTY_PHYSICAL_ADDRESS,SCREEN_PROPERTY_CURSOR_ENABLE,SCREEN_PROPERTY_CURSOR_POSITION,SCREEN_PROPERTY_CURSOR_HOTSPOT,SCREEN_PROPERTY_CURSOR_PIXMAP,SCREEN_PROPERTY_BUTTONS,SCREEN_PROPERTY_KEY_CAP,SCREEN_PROPERTY_FLAGS,SCREEN_PROPERTY_MODIFIERS,SCREEN_PROPERTY_SCAN,SCREEN_PROPERTY_SYM,SCREEN_PROPERTY_NAME,SCREEN_PROPERTY_OWNER_PID,SCREEN_PROPERTY_POSITION,SCREEN_PROPERTY_SOURCE_POSITION,SCREEN_PROPERTY_TYPE,SCREEN_PROPERTY_USER_DATA,SCREEN_PROPERTY_USER_HANDLE,SCREEN_PROPERTY_WINDOW,SCREEN_PROPERTY_DISPLAY_COUNT,SCREEN_PROPERTY_DISPLAYS,SCREEN_PROPERTY_ID,SCREEN_PROPERTY_MOUSE_WHEEL,SCREEN_PROPERTY_WINDOW_COUNT,SCREEN_PROPERTY_WINDOWS,SCREEN_PROPERTY_DISPLAY,} screen_property_t;
libscreen
Возможность чтения и записи конкретных свойств зависит от конкретного объекта Screen API.
int
, представляющая ширину и высоту виде-буфера в пикселях. Следующие объекты API поддерживают данное свойство: int
и определяет пиксельный формат видео-буфера. Значение должно быть выбрано из списка Форматы кодирования цветов пикселей. Следующие объекты API поддерживают данное свойств: int
и характеризует является ли буфер непрерывным в физической памяти. Данное свойство доступно только для чтения. Следующие объекты API поддерживают данное свойство: void *
и характеризует указатель на видео-память указанного буфера, доступную для чтения/записи со стороны ПО. Буфер должен иметь установленными следующие биты маски предполагаемых способов использования: SCREEN_USAGE_READ, SCREEN_USAGE_WRITE. Данное свойство доступно только для чтения. Следующие объекты API поддерживают данное свойство: int
, которая определяет ширину и высоту окна в пикселях. По умолчанию размер окна соответствует размеру дисплея. int
, которая определяет ширину и высоту дисплея в пикселях (разрешение экрана). Имейте в виду, что при использовании поворота дисплея эти параметры меняются местами 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
, характеризует позицию курсора на дисплее: {x, y}
. По умолчанию позиция курсора соответствует центру дисплея. Следующие объекты API поддерживают данное свойство: int
, характеризует активную точку нажатия для курсора: {x, y}
. Следующие объекты 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 поддерживают данное свойство: <sys/keycodes.h>
) int
, содержит ассоциированный с событием сканкод. Следующие объекты API поддерживают данное свойство: int
, содержит ассоциированный с событием символ. Следующие объекты API поддерживают данное свойство: int
, содержит тип события. Следующие объекты API поддерживают данное свойство: int
, содержит идентификатор процесса, ответственного за создание объекта API. Следующие объекты API поддерживают данное свойство: int
, содержит пару экранных координат объекта API. Следующие объекты API поддерживают данное свойство: {x, y}
дисплея в пределах логического рабочего стола. {x, y}
точки касания touch-события или указателя. Поддерживается следующими событиями: {x, y}
левого верхнего угла окна в экранных координатах. Следует помнить, что для встроенных или дочерних окон эта позиция относительна. Например, если окно имеет позицию {10, 10}
, дочернее окно имеет позицию {10, 10}
, то позиция дочернего окна в экранных координатах будет {20, 20}
. int
, позиция исходного viewport'a внутри оконного буфера. Следующие объекты API поддерживают данное свойство: int
, содержит индикатор типа интересуемого объекта. Следующие объекты API поддерживают данное свойство: int
, содержит пользовательские данные. Следующие объекты API поддерживают данное свойство: void *
, содержит дескриптор, который передается окну в случае ассоциации события с окном. Следующие объекты API поддерживают данное свойство: void *
, содержит дескриптор окна. Следующие объекты API поддерживают данное свойство: int
, содержит количество дисплеев, ассоциированных с контекстом. Следующие объекты API поддерживают данное свойство: void **
, содержит массив указателей на дисплеи. Необходимо запросить значение свойства SCREEN_PROPERTY_DISPLAY_COUNT, после этого нужно выделить необходимое количество памяти для хранения массива указателей. Следующие объекты API поддерживают данное свойство: char
или int
, содержит идентификатор дисплея. Следующие объекты API поддерживают данное свойство: int
, содержит информацию о вращении и вертикальном направлении движения колеса мыши. При вращении вверх значение будет отрицательным. Следующие объекты API поддерживают данное свойство: int
, содержит количество окон, ассоциированных с контекстом. Следующие объекты API поддерживают данное свойство: void **
, содержит массив указателей на окна. Необходимо запросить значение свойства SCREEN_PROPERTY_WINDOW_COUNT, после этого нужно выделить необходимое количество памяти для хранения массива указателей. Следующие объекты API поддерживают данное свойство: void *
, содержит дескриптор дисплея. Следующие объекты API поддерживают данное свойство: Графическая подсистема ЗОСРВ «Нейтрино», Screen
ЗОСРВ
«Нейтрино»
редакции 2020
Предыдущий раздел: Общие типы данных