ComposeDeferredPageLayers

Disposição de página, Gráficos vetoriais, Fluxos de conteúdo

Descrição

Coloca todas as camadas diferidas em fila na respetiva página de destino pela ordem crescente estável do índice Z

Sintaxe

Delphi

Function TPDFlib.ComposeDeferredPageLayers: Integer;

ActiveX

Function PDFlib::ComposeDeferredPageLayers() As Long

DLL

int DLComposeDeferredPageLayers(int InstanceID);

Valores devolvidos

Devolve o número de camadas compostas, ou 0 quando nenhuma camada está em fila, a gravação ainda está ativa, a página selecionada não é a página de destino, as respetivas dimensões foram alteradas ou um formulário capturado não está disponível

Observações

O método ordena as camadas em fila pelo índice z e pela sequência de gravação

As camadas negativas são inseridas antes dos fluxos de conteúdo originais da página por ordem crescente, enquanto as camadas zero e positivas são acrescentadas depois dos fluxos de conteúdo originais por ordem crescente

Cada camada composta adiciona um fluxo de conteúdo que contém uma colocação de Form XObject, mantendo o custo da composição independente do número de operações de desenho dentro da camada

O tipo de letra selecionado, a camada de conteúdo ativa, o estado do pintor e a definição de ajuste são repostos após a composição

Uma pré-condição falhada deixa a fila disponível para que o chamador possa voltar a selecionar a página de destino, enquanto uma falha após a alteração da página limpa a fila para impedir a colocação duplicada

Exemplo

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

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

if PDF.ComposeDeferredPageLayers<> 2 then
  HandleCompositionError;