Interfaccia 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;

Contratto per i page render backend pluggabili come le implementazioni GDI e scanline SIMD; GetName e GetCapabilities descrivono il backend e IsAvailable riporta se i suoi prerequisiti a runtime, ad esempio il supporto alle istruzioni CPU, sono presenti

RenderPage renderizza una pagina a partire da una richiesta del backend; un risultato False significa che il chiamante dovrebbe ricadere su un altro backend, e i parametri out portano la diagnostica di fallback più le statistiche della cache dei glifi Type 3 e del tiling dei gruppi di trasparenza per l'analisi delle prestazioni

Interfaccia IHPDFPageRenderBackendFailureInfo, Semantica avanzata del rendering