ComposeDeferredPageLayers

Układ strony, Grafika wektorowa, Strumienie zawartości

Opis

Umieszcza wszystkie oczekujące warstwy odroczone na ich stronach docelowych w stabilnej rosnącej kolejności indeksu z

Składnia

Delphi

Function TPDFlib.ComposeDeferredPageLayers: Integer;

ActiveX

Function PDFlib::ComposeDeferredPageLayers() As Long

DLL

int DLComposeDeferredPageLayers(int InstanceID);

Wartości zwracane

Zwraca liczbę złożonych warstw albo 0, gdy żadna warstwa nie oczekuje, rejestrowanie jest nadal aktywne, wybrana strona nie jest stroną docelową, zmieniły się jej wymiary albo przechwycony formularz jest niedostępny

Uwagi

Metoda sortuje oczekujące warstwy według z-index i kolejności rejestracji

Warstwy ujemne są wstawiane przed pierwotnymi strumieniami zawartości strony w kolejności rosnącej, natomiast warstwy zerowe i dodatnie są dołączane po pierwotnych strumieniach zawartości również w kolejności rosnącej

Każda złożona warstwa dodaje jeden strumień zawartości zawierający jedno umieszczenie Form XObject, dzięki czemu koszt składania nie zależy od liczby operacji rysowania wewnątrz warstwy

Po złożeniu przywracane są wybrana czcionka, aktywna warstwa zawartości, stan modułu rysującego i ustawienie kerningu

Nieudane sprawdzenie warunku wstępnego pozostawia kolejkę dostępną, aby kod wywołujący mógł ponownie wybrać stronę docelową, natomiast błąd po modyfikacji strony czyści kolejkę, zapobiegając podwójnemu umieszczeniu

Przykład

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

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

if PDF.ComposeDeferredPageLayers<> 2 then
  HandleCompositionError;