logo search
Литература_1 / photon_old

Регистрация событий (event logging)

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

      1. Модификация событий

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

      1. Взаимосвязь родитель/потомок

Все регионы обладают взаимосвязями типа родитель/потомок. Регион потомка всегда располагается впереди родительского региона (т.е. ближе к пользователю), и его координаты являются относительными – задаются относительно родительского региона.

      1. Координатное пространство Photon'а

Все регионы располагаются внутри координатного пространства Photon'а, имеющего следующие размеры:

      1. Корневой регион

Самым дальним от пользователя всегда является особый регион, называемый корневым регионом. Все другие регионы в некотором роде произошли от него. Как только какое-то событие прошло от пользователя и достигло корневого региона, оно прекращает свой существование.

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

 Регион может быть расположен в пространстве событий где угодно и тем не менее он имеет в качестве своего родителя корневой регион.