Compose

Rozvržení stránek, stránkování, Form XObjects

Popis

Abstraktní metoda třídy TPDFlibDynamicComponent, která nakreslí jeden fragment komponenty v lokálních souřadnicích a ohlásí její použité meze a stav pokračování

Syntaxe

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

Parametry

Context.LibraryInstancePřipojená instance TPDFlib, skrze niž má fragment kreslit
Context.PageNumberČíslo cílové stránky, i když knihovna po dobu běhu zpětného volání vybere izolovanou dočasnou stránku
Context.CompositionIndexČíslo počítané od 1, které fragment obdrží při potvrzení
Context.DestinationLeft, Context.DestinationTopPozice cílového slotu propuštěná z volání kompozice
Context.AvailableWidth, Context.AvailableHeightPřirozená velikost plátna obklopujícího Form XObject

Záznam výsledku

HasContentTrue, nakreslil-li fragment viditelný obsah
HasMoreContentTrue, může-li komponenta vytvořit další fragment
UsedWidth, UsedHeightPoužitý obdélník začínající v lokálním souřadnicovém bodě nula, který má ohraničit veškerý viditelný obsah komponenty

Poznámky

Obsahové výsledky vyžadují konečné kladné hodnoty UsedWidth a UsedHeight uvnitř AvailableWidth a AvailableHeight

Výsledek bez obsahu je platný, jen když je HasMoreContent False a obě použité dimenze jsou nulové

Zpětné volání může používat kreslicí a obsahová API, ale nesmí měnit dokumenty, stránky ani vnořené kreslicí kontejnery

Relace ověří ComposeResult přes ValidComposeResult, než se učiní jakékoli rozhodnutí o umístění

Vrácení nuly odmítne pokus, aniž by potvrdilo stav komponenty či cíle; vyvolané výjimky se šíří poté, co relace vyčistila přechodný stav

Návratové hodnoty

1Výsledek fragmentu je předložen k validaci a umístění
0Pokus je zamítnut a stav komponenty ani cíle se nemění

Viz také

TPDFlibDynamicComponent, TPDFlibDynamicPageContext, TPDFlibDynamicPageResult, ValidComposeResult, ComposeNextLayout, CloneComponent