Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
76
Добавлен:
02.04.2015
Размер:
8.79 Mб
Скачать
      1. Регионы и события

Программы Photon'а используют два базовых объекта: регионы и события. Регионы – объекты стационарные, тогда как события перемещаются через пространство событий.

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

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

    1. События

Когда некое событие проходит сквозь пространство событий, его набор прямоугольников взаимодействует с регионами, размещёнными в пространстве событий другими приложениями. Когда такое происходит, менеджер Photon'а настраивает набор прямоугольников события в соответствии с атрибутами регионов, с которыми это событие взаимодействует.

      1. Начальный набор прямоугольников

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

              1. Набор прямоугольников события

Определённые типы событий (напр., нажатие кнопки), чтобы иметь размеры генерирующего диапазона, не требуют для себя начального набора прямоугольников. Для таких событий набор прямоугольников состоит из одного прямоугольника, размером в одну точку. Одноточечный набор прямоугольников называется точечным источником.

      1. Накопленный набор прямоугольников

Набор прямоугольников "накопленных" событий состоит из прямоугольников, получившихся в результате взаимодействия события с предшествующими регионами в пространстве событий. Если событие полностью перекрыто другими регионами, так что в результате набор не содержит прямоугольников, то такое событие пришло к концу.

 Список типов событий см. в разделе "Типы событий".

    1. Регионы

Процесс может создавать или использовать любое количество регионов и может размещать их где угодно в пространстве событий. Более того, управляя размерами, местоположением и атрибутами региона (относительно других регионов пространства событий), процесс может использовать, модифицировать и удалять службы, предоставляемые другими регионами.

Photon использует серии регионов, выстроенных от корневого региона в конце пространства событий Photon'а к графическому региону в начале (впереди). События рисования стартуют в регионе приложения и движутся вперёд к графическому региону. События ввода стартуют на регионе Мышь/Клавиатура и перемещаются назад в направлении к корневому региону.

              1. Расщеплённый образ регионов Photon'а

В файле <photon/PhT.h> определены следующие константы:

  • Ph_DEV_RID – идентификатор региона устройств

  • Ph_ROOT_RID – идентификатор корневого региона

Владелец регионов и менеджер Photon'а могут располагаться на разных компьютерах.

Регион имеет два атрибута, которые управляют тем, как с событиями обращаться, когда те пересекают регион:

  • чувствительность

  • непрозрачность

Вы можете устанавливать их независимо для каждого отдельного типа событий.

Соседние файлы в папке Литература_1