При создании контекста должен быть определен его тип. Контекст определяет механизм взаимодействия с оконной подсистемой. В зависимости от потребностей приложения, а также от наличия у пользователя прав, могут быть созданы контексты различных типов
Возможно создание контекстов следующих типов:
Тип | Описание | Требуются ли привелении root ? | Тип поддерживается? |
---|---|---|---|
SCREEN_APPLICATION_CONTEXT | Данный тип контекста предусматривает создание приложением окон и изменение некторых их параметров. Приложение не может изменять параметры окон, созданных в других процессах. Контекст приложения не информируется об окнах приложений, а также о более "высокоуровневых" окнах. Контекст может установить родительские отношения с некоторым окном, даже если оно создано другим контекстом или процессом. | Нет | Да |
SCREEN_WINDOW_MANAGER_CONTEXT | Контекст может управлять всеми окнами в системе, даже если их процессы будут запущены после текущего. Контекст получает уведомления о событиях создания или удаления (например, при терминировании процесса-владельца) окон в системе, а также при изменении их параметров. | Да | Да |
SCREEN_INPUT_PROVIDER_CONTEXT | Контекст получает возможность посылать события произвольным процессам в системе. Контекст не получает уведомлений, предусмотренных флагом SCREEN_WINDOW_MANAGER_CONTEXT. | Да | Нет |
SCREEN_POWER_MANAGER_CONTEXT | Контекст для управления питанием. | Да | Нет |
SCREEN_DISPLAY_MANAGER_CONTEXT | Контекст, позволяющий получить доступ к параметрам дисплеев. | Да | Нет |
Предыдущий раздел: Контескты