IHPDFPageRenderBackend Interface

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;

Contract for pluggable page render backends such as the GDI and SIMD scanline implementations; GetName and GetCapabilities describe the backend and IsAvailable reports whether its runtime prerequisites, for example CPU instruction support, are present

RenderPage renders one page from a backend request; a False result means the caller should fall back to another backend, and the out parameters carry fallback diagnostics plus Type 3 glyph cache and transparency group tiling statistics for performance analysis

IHPDFPageRenderBackendFailureInfo Interface, Advanced Rendering Semantics