|
|
Компьютеры - Основной протокол X Window System - Примеры11 мая 2011
Оглавление: 1. Основной протокол X Window System 2. Общий обзор 3. Окна 4. Пиксельные карты и области рисования 5. Ресурсы и идентификаторы 6. События 7. Примеры 8. Цвета
Ниже приводится пример возможного взаимодействия между сервером и программой, которая создает окно с черным ящиком в нем и выходит после нажатия на клавиши. В этом примере сервер не отправляет никакого ответа, потому что клиент отправляет запрос не генерирующий ответы. Эти запросы могут генерировать ошибки.
- Клиент открывает соединение с сервером и посылает начальный пакет с указанием порядка байтов который он использует.
- Сервер принимает соединение, отправив соответствующий пакет, который содержит другие сведения, такие как идентификатор корневого окна, и идентификаторы которые клиент может создать.
- Клиент запрашивает создание графического контекста по умолчанию с идентификатором 0x00200000.
- Клиент запрашивает у сервера создание окна верхнего уровня с идентификатором 0x00200001, размер 200x200, позиции и т.д.
- Клиент запрашивает изменение атрибутов окна 0x00200001, указав на заинтересованность в получении событий Expose и KeyPress.
- Клиент запрашивает отображение окна 0x00200001.
- Когда окно становится видимым и его содержимое должно быть прорисовано, то сервер посылает клиенту событие Expose.
- В ответ на это событие, клиент запрашивает прорисовать ящик, отправив запрос PolyFillRectangle с окном 0x00200001 и графическим контекстом 0x00200000.
Если окно перекрывает другое окно и неперекрывает его вновь, при условии что резервное хранилище не управляется, то:
- Сервер отправляет другое событие Expose с сообщением клиенту о том, что его окно отрисовывается снова.
- Клиент перерисовывает окно посылая запрос PolyFillRectangle серверу.
Просмотров: 6429
|