Compose

Układ strony, paginacja, Form XObjects

Opis

Metoda abstrakcyjna klasy TPDFlibDynamicComponent, rysująca jeden fragment komponentu we współrzędnych lokalnych i raportująca jego użyte granice oraz stan kontynuacji

Składnia

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

Parametry

Context.LibraryInstanceDołączona instancja TPDFlib, przez którą fragment ma rysować
Context.PageNumberNumer strony docelowej, mimo że biblioteka wybiera odizolowaną stronę tymczasową na czas działania funkcji zwrotnej
Context.CompositionIndexNumer liczony od 1, który fragment otrzymuje przy zatwierdzeniu
Context.DestinationLeft, Context.DestinationTopPozycja gniazda docelowego przekazana dalej z wywołania kompozycji
Context.AvailableWidth, Context.AvailableHeightNaturalny rozmiar obszaru roboczego otaczającego Form XObject

Rekord wyniku

HasContentTrue, gdy fragment narysował widoczną zawartość
HasMoreContentTrue, gdy komponent potrafi wyprodukować kolejny fragment
UsedWidth, UsedHeightUżyty prostokąt zaczynający się w lokalnym punkcie zerowym, który ma ograniczać całą widoczną zawartość komponentu

Uwagi

Wyniki z treścią wymagają skończonych dodatnich wartości UsedWidth i UsedHeight w granicach AvailableWidth i AvailableHeight

Wynik bez treści jest ważny tylko, gdy HasMoreContent ma wartość False, a obie wykorzystane wymiary są zerowe

Wywołanie zwrotne może używać API rysowania i treści, ale nie zmienia dokumentów, stron ani zagnieżdżonych kontenerów rysowania

Sesja waliduje ComposeResult przez ValidComposeResult, zanim zapadnie jakakolwiek decyzja o umieszczeniu

Zwrócenie zera odrzuca próbę bez zatwierdzania stanu komponentu albo celu; podniesione wyjątki są propagowane po posprzątaniu stanu tymczasowego przez sesję

Wartości zwracane

1Wynik fragmentu jest przedkładany do walidacji i rozmieszczenia
0Próba jest odrzucana i nie zmienia się stan komponentu ani celu

Zobacz również

TPDFlibDynamicComponent, TPDFlibDynamicPageContext, TPDFlibDynamicPageResult, ValidComposeResult, ComposeNextLayout, CloneComponent