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