ComposeDeferredPageLayers

ページレイアウト、ベクターグラフィックス、コンテンツストリーム

説明

キューに入ったすべての遅延レイヤーを、安定した z-index 昇順でターゲットページに配置します

構文

Delphi

Function TPDFlib.ComposeDeferredPageLayers: Integer;

ActiveX

Function PDFlib::ComposeDeferredPageLayers() As Long

DLL

int DLComposeDeferredPageLayers(int InstanceID);

戻り値

構成したレイヤー数を返します。レイヤーがキューにない、記録がまだアクティブ、選択したページが対象ページでない、その寸法が変更された、またはキャプチャしたフォームが使用できない場合は 0 を返します

備考

このメソッドはキューに入れたレイヤーを z-index と記録順序で並べ替えます

負のレイヤーはページの元コンテンツストリーム前へ昇順で挿入され、0 と正のレイヤーは元コンテンツストリーム後へ昇順で追加されます

合成される各レイヤーは、1 つの Form XObject 配置を含むコンテンツストリームを 1 つ追加するため、合成コストはレイヤー内の描画処理数に左右されません

合成後に、選択したフォント、アクティブなコンテンツレイヤー、ペインター状態、カーニング設定が復元されます

前提条件の失敗ではキューは利用可能なままとなり、呼び出し元はターゲットページを再選択できます。一方、ページ変更後の失敗では重複配置を防ぐためにキューがクリアされます

例

PDF.BeginDeferredPageLayer(-10);
DrawBackground(PDF);
PDF.EndDeferredPageLayer;

PDF.BeginDeferredPageLayer(10);
DrawForeground(PDF);
PDF.EndDeferredPageLayer;

if PDF.ComposeDeferredPageLayers<> 2 then
  HandleCompositionError;