Compose

ページレイアウト、ページ分割、フォームXObject

説明

コンポーネントの1つのフラグメントをローカル座標で描画し、その使用された境界と継続状態を報告する、TPDFlibDynamicComponentの抽象メソッドです

構文

Function TPDFlibDynamicComponent.Compose(
  Const Context: TPDFlibDynamicPageContext;
  Out ComposeResult: TPDFlibDynamicPageResult): Integer;
  Virtual; Abstract;

パラメータ

Context.LibraryInstanceフラグメントが描画を経由して行うべき、接続されたTPDFlibインスタンス
Context.PageNumber宛先ページ番号。コールバックの実行中、ライブラリは隔離された一時ページを選択しますが、それでも渡されます
Context.CompositionIndexフラグメントがコミット時に受け取る1始まりの番号
Context.DestinationLeft, Context.DestinationTop合成呼び出しからそのまま渡される、宛先スロットの位置
Context.AvailableWidth, Context.AvailableHeight周囲のフォームXObjectのナチュラルキャンバスサイズ

結果レコード

HasContentフラグメントが可視コンテンツを描画した場合はTrue
HasMoreContentコンポーネントが別のフラグメントを生成できる場合はTrue
UsedWidth, UsedHeightローカル座標のゼロから始まり、コンポーネントのすべての可視コンテンツを囲むべき、使用された矩形

備考

コンテンツ結果は、AvailableWidthとAvailableHeightの中の有限で正のUsedWidthとUsedHeight値を必要とします

コンテンツなし結果は、HasMoreContentがFalseで両使用寸法が0の場合にのみ有効です

コールバックは描画APIとコンテンツAPIを使えますが、ドキュメント、ページ、ネストされた描画コンテナーを変更してはなりません

セッションは、配置決定が行われる前にValidComposeResultでComposeResultを検証します

0を返すと、コンポーネントや宛先の状態をコミットせずに試行を拒否します。発生した例外は、セッションが一時状態を片付けた後に伝播します

戻り値

1フラグメントの結果が検証と配置のために提示されます
0試行は拒否され、コンポーネントや宛先の状態は変更されません

関連項目

TPDFlibDynamicComponent, TPDFlibDynamicPageContext, TPDFlibDynamicPageResult, ValidComposeResult, ComposeNextLayout, CloneComponent