IRenderingBackend Interface

Definition

Assembly Broadside.dll

The backend contract: what a backend implements to draw a DisplayList on one technology (the software rasterizer, SkiaSharp, CoreGraphics, Direct2D, Android Canvas). Replay(IRenderingBackend) calls these members in the list's order.

public interface IRenderingBackend

Remarks

Backends consume display lists and never see content-stream operators. Everything a call hands over is resolved: paths in user space with the transform set before them, colours as colour space plus components (ISO 32000-2 §8.6.1, colour specification). Colour rendering is the backend's (§8.6.1, §10): it converts a DisplayColor to its device model through GetColorConverter(PdfColorSpace, ColorConversion, PdfDefaultColorSpaces?) on Document, which goes through the engine's colour-management extension point (IColorManagement).

State: a replay starts with the identity transform, so user space is the page's default user space (§8.3.2.3); mapping that to the device (scale, rotation, crop box, user unit) is the backend's or its renderer's. SetTransform(in Matrix) replaces the current transform; SaveState() and RestoreState() are balanced in every list and save and restore the transform and, as later operations join the list, everything else the backend holds per state.

Spans and views handed to a call are valid only during it; copy what you keep. A list replays on any number of threads at once, each with its own backend; one backend instance receives the calls of one replay from one thread.

Tip: use kind:method, kind:property, kind:ctor. Press Esc to clear.

Methods (20)