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



Компьютеры - Основной протокол X Window System - Ресурсы и идентификаторы

11 мая 2011


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



Все данные об окнах, растровых изображениях, шрифтах и т. д. хранятся на сервере. Клиент знает идентификаторы этих объектов-чисел и использует их в качестве имен при взаимодействии с сервером. Например, если клиент желает создать окно, он посылает запрос серверу о создании окна с заданным идентификатором. Идентификатор может быть использован клиентом позднее, например для запроса строки, которые следует нарисовать в окне. Объекты находятся на сервере, и клиенту известны как цифровые идентификаторы:

  • окно
  • пиксельная карта
  • шрифт
  • цветовая карта
  • графический контест

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

Идентификаторы являются 32-разрядными целыми числами, но три самых старших бита всегда равны нулю. Каждый клиент имеет свой собственный набор идентификаторов который он может использовать для создания новых ресурсов. Этот набор определяется сервером как два целых числа, включенных в пакет подтверждения соединения. Клиенты выбирают идентификаторы, из этого набора таким образом, что бы они не конфликтовали: любые 2 объекта как окна, растровые изображения, шрифты, цветовые карты, а также графические контексты не могут иметь один и тот же идентификатор.

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

Идентификаторы являются уникальными для сервера, а не только для клиента, например, два окна не могут иметь один и тот же идентификатор, даже если созданы двумя разными клиентами. Клиент может получить доступ к любому объекту по его идентификатору.

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

Идентификаторы являются уникальными для сервера, а не только для клиента, например, любые два окна не могут иметь один и тот же идентификатор, даже если созданы двумя разными клиентами. Клиент может получить доступ к любому объекту через его идентификатор. В частности, оно может также получить доступ к ресурсам, созданной любым другим клиентом, даже если их идентификаторы вне множества идентификаторов им созданных.

В результате два клиента, подключенных к одному и тому же серверу могут использовать один и тот же идентификатор для ссылок на один и тот же ресурс. Например, если клиент создает окно с идентификатором 0x1e00021 и передает этот номер 0x1e00021 в другое приложение, то это другое приложение может работать на том же самом окне. Такая возможность, например в использует X Window версия программы Ghostview: эта программа создает окно-потомка, сохраняет его идентификатор в переменной среды, и вызывает Ghostscript, которая рисует содержимое файла PostScript и отображает в этом окне.

Ресурсы, как правило, уничтожаются, когда клиент, который создал их, закрывает соединение с сервером. Тем не менее, перед закрытием соединения, клиент может отослать запрос серверу не уничтожать их.



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


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