Интернет магазин китайских планшетных компьютеров



Компьютеры - Основной протокол X Window System - События

11 мая 2011


Оглавление:
1. Основной протокол X Window System
2. Общий обзор
3. Окна
4. Пиксельные карты и области рисования
5. Ресурсы и идентификаторы
6. События
7. Примеры
8. Цвета



События - пакеты, посланные сервером клиенту, c сообщением, что ожидаемое клиентом, случилось. Например, событие посылается, когда пользователь нажимает клавишу или нажимает кнопку мыши. События могут использоваться не только для ввода: например, события посылают указание на создание новых подокон в данном окне.

Каждое событие соответствует окну. Например, если пользователь щелкает, когда курсор находится в окне, событие будет по отношению к этому окну. Пакет события содержит идентификатор этого окна.

Клиент может запросить сервер отправить событие другому клиенту, это используется для коммуникации между клиентами. Такие события, например генерируется, когда клиент запрашивает текст, который в настоящее время выделен: это событие направляется клиенту, который перемещает окно, содержащее выделенный текст.

Событие Expose отправляется, когда область окна с уничтоженным содержимым становится видимым. Содержание окна может быть уничтожено при некоторых условиях, например, если окно перекрыто, и сервер не поддерживает резервное хранилище. Сервер генерирует событие Expose уведомяющее клиента о том, что часть окна была отрисована.

Пример события: при нажатии клавиши в окне, создаётся событие и отправляется клиенту в зависимости от его маски события окна, которые клиент может изменить.

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

Клиенты определяет, какие виды событий он хочет отправлять, установив атрибут окну. Например, для того, чтобы перерисовать окно, когда его содержание было уничтожено, клиент должен получить событие Expose, которые информирует, что окно должно быть перерисовано. Клиент, однако, пошлёт событие Expose только если клиент уже заявлял о своей заинтересованности в этих событиях. Заявление об интересе осуществляется надлежащей установкой маски атрибута события на окно.

Различные клиенты могут запрашивать события в одном и том же окне. Они могут даже установить различные маски событий на одном и том же окне. Например, клиент может запрашивать только события клавиатуры в окне, а другой клиент запрашивает только события мыши в том же окне. Однако, есть несколько видов событий, которые можно выбрать только по одному клиенту на время для каждого окна. В частности, это события сообщений кликов мышью и некоторые изменения, связанные с управлением окном.

xev - программа, которая показывает события по отношению к окну. В частности, xev -id WID запрашивает все возможные события относительно окна с идентификатором WID и выводит их.



Просмотров: 6210


<<< Лицензии MIT
Список цветов в X11 >>>