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

ФлагPh_force_front

Приложение использует флаг Ph_FORCE_FRONT, когда оно хочет, чтобы регион оставался впереди всех последующих братьев, зависящих от принимаемого менеджера Photon'а по умолчанию месторасположения. Как обсуждалось ранее, когда регион открыт с принимаемым по умолчанию месторасположением, он размещается перед своим самым передним братом. Но если какой-либо брат имеет установленный флаг Ph_FORCE_FRONT, новый регион размещается позади самого заднего брата, у которого установлен флаг Ph_FORCE_FROM. Например, давайте посмотрим, что случится в следующем примере, если регион потомка 1 имеет установленный флаг Ph_FORCE_FRONT:

Когда открывается регион потомка 2 с принимаемым по умолчанию месторасположением (следующая диаграмма), он размещается позади региона 1, и регион 1 становится "братом впереди". Поскольку регион 2 был размещён с использованием принимаемых по умолчанию правил, он не наследует установку Ph_FORCE_FRONT региона 1:

Затем, если открывается регион 3 с принимаемым по умолчанию месторасположением, он размещается следующим образом:

 Приложение может установить флаг Ph_FORCE_FRONT при открытии региона (или позже), изменив флаги региона. Состояние этих флагов не оказывает влияние на то, как размещается сам регион – они влияют на то, как размещаются последующие братья, если эти братья открываются с использованием принимаемых по умолчанию правил месторасположения. То есть состояние Ph_FORCE_FRONT существующих братьев не оказывает влияние на месторасположение нового региона, если он открывается с заданными связями с братом. См. следующий раздел – "Задаваемое месторасположение".

Помните, что флаг Ph_FORCE_FRONT оказывает влияние только на местоположение регионов своих братьев – регион потомка всегда становится впереди его родителя.