Table of Contents

Interface ISKImagePyramidRenderer

Namespace
SkiaSharp.Extended
Assembly
SkiaSharp.Extended.dll

Renders individual Deep Zoom tiles onto a drawing surface. Implement this interface to provide a custom rendering backend.

public interface ISKImagePyramidRenderer : IDisposable
Inherited Members

Remarks

The rendering pipeline uses a two-pass approach:

  1. LOD fallback pass: DrawFallbackTile(SKRect, SKRect, SKImagePyramidTile) is called for tiles that are loading, using a lower-resolution ancestor.
  2. Hi-res pass: DrawTile(SKRect, SKImagePyramidTile) is called for each cached tile at the correct detail level.

Tile geometry (destination rects, fallback source rects) is pre-calculated by SKImagePyramidTileLayout and passed into the draw methods.

Properties

Canvas

Gets or sets the canvas to render onto. Must be set before calling Render(ISKImagePyramidRenderer).

Methods

BeginRender()

Called before any tile draw calls for a render frame. Use this to set up state (e.g., save canvas, clear background).

DrawFallbackTile(SKRect, SKRect, SKImagePyramidTile)

Draws a lower-resolution fallback tile stretched to fill the destination rect. Only called when LOD blending is enabled and the hi-res tile is still loading.

DrawTile(SKRect, SKImagePyramidTile)

Draws a hi-resolution tile at the exact detail level requested.

EndRender()

Called after all tile draw calls for a render frame. Use this to flush state (e.g., restore canvas).