Interface IHPDFPageRenderBackend

IHPDFPageRenderBackend = interface
  ['{ACCC7AA4-30B5-4C7B-A4E4-3B9A7481030A}']
  function GetName: AnsiString;
  function GetCapabilities: THPDFPageRenderBackendCapabilities;
  function IsAvailable: boolean;
  function RenderPage(const Request: THPDFPageRenderBackendRequest;
    out Bitmap: TBitmap;
    out Diagnostics: THPDFRenderFallbackDiagnostics;
    out DiagnosticDroppedCount: Integer;
    out Type3Stats: THPDFType3GlyphCacheStats;
    out TransparencyStats: THPDFTransparencyGroupTileStats): boolean;
end;

Contrato para backends de renderização de página plugáveis, como as implementações GDI e SIMD scanline; GetName e GetCapabilities descrevem o backend, e IsAvailable informa se os pré-requisitos de tempo de execução dele — por exemplo, suporte a instruções de CPU — estão presentes

RenderPage renderiza uma página a partir de uma solicitação de backend; um resultado False significa que o chamador deve recorrer a outro backend, e os parâmetros out carregam diagnósticos de fallback além de estatísticas de cache de glifos Type 3 e de tiling de grupos de transparência para análise de desempenho

Interface IHPDFPageRenderBackendFailureInfo, Advanced Rendering Semantics