ElementPlacement - 位置指定オブジェクト
位置指定オブジェクト
Photoshp DOM object
位置指定オブジェクトは、エナミュレーテッドタイプオブジェクトになっている。
挿入位置オブジェクト"ElementPlacement"オブジェクトのプロパティ
ElementPlacement.INSIDE | 中 =レイヤセット(トレーラ)の中 | LayerSet? | |
ElementPlacement.PLACEATBEGINNING | レイヤコレクション(またはトレーラ)の先頭 | LayerSet? | |
ElementPlacement.PLACEATEND | レイヤコレクション(またはトレーラ)の末尾 | LayerSet? | |
ElementPlacement.PLACEBEFORE | 基点オブジェクトの前 | ArtLayer? LayerSet? | |
ElementPlacement.PLACEAFTER | 基点オブジェクトの後 | ArtLayer? LayerSet? |
と、なっているが Layerクラスのプロパティではなく、どうやら ArtLayer? と LayerSets? で別々に扱われているらしい。
たぶん、レイヤセットが擬似的なレイヤトレーラーであるための措置だと思われる。
レイヤセットは通常はピクセルを持たない(マスクはもてる)レイヤであってドキュメント内の通常レイヤと同等の振る舞いをしているが、すべてのレイヤを含む「ルートレイヤセット(仮称)」が例外的にレイヤではないので、レイヤクラスの実装にできないからだと思うナリ。
そのためいささか注意が必要。
レイヤセットをレイヤと同要に扱う場合共通して使用できるプロパティは、 PLACEBEFORE のみ。
PLACEAFTER は、なぜかLayerSet?の最下層のレイヤに対して指定すると、レイヤセット内の当該レイヤの下ではなく親レイヤセットの下(親レイヤセットのPALCEAFTERと同位置)を指す。(たぶんバグ)
その位置を指定するには、親レイヤセットのPLACEATENDを使うか、いったん当該レイヤのPLACEBEFOREで直上に移動して入れ替えを行う等の処理が必要。
前者は処理が1回で済む、後者はレイヤとレイヤセットの判定が不要。
Powered by YukiWiki 2.1.2a / Modified by Nekomataya.