Class OverlayDrawOptions
Controls for the tiled subsystem's live label/symbol overlay pass, passed to RenderOnto(SKCanvas, VectorScene, Viewport, OverlayDrawOptions). The defaults reproduce the plain overlay behaviour: draw every point and label, with no declutter suppression and no anchor rotation.
public sealed class OverlayDrawOptions
- Inheritance
-
OverlayDrawOptions
- Inherited Members
Properties
AnchorRotationDegrees
Clockwise display rotation, in degrees: each point and text anchor is turned by it about (ScreenCenterX, ScreenCenterY), matching the rotated base plane, while labels and screen-relative symbols are drawn unrotated (upright) and north-relative symbols (Geographic) turn by it too. Zero (the default, north-up) leaves everything unrotated.
public double AnchorRotationDegrees { get; init; }
Property Value
DeviceScale
Device-pixel scale of the target canvas (its HiDPI back-buffer matrix
scale), used to rasterise cached symbol sprites at the correct resolution
for the symbol atlas (#332 lever c2). Defaults to 1.
public float DeviceScale { get; init; }
Property Value
DrawAreasAndLines
Whether to draw area fills, pattern fills and lines this pass. Defaults to true; a text-only pass (the upright labels of a rotated headless composite) turns it off.
public bool DrawAreasAndLines { get; init; }
Property Value
DrawPoints
Whether to draw point symbols this pass. Defaults to true.
public bool DrawPoints { get; init; }
Property Value
DrawText
Whether to draw text/labels this pass. Defaults to true.
public bool DrawText { get; init; }
Property Value
PointCullBounds
Pixel-space rectangle outside which point/text ops are skipped, or null to derive it from the viewport plus PointCullMarginPx. The test is on the anchor after AnchorRotationDegrees is applied, so a pass that rotates anchors culls against the output as drawn; a pass that instead rotates the canvas must pass the rotated viewport's bounding box.
public SKRect? PointCullBounds { get; init; }
Property Value
ScreenCenterX
Screen-space X of the rotation centre for AnchorRotationDegrees.
public float ScreenCenterX { get; init; }
Property Value
ScreenCenterY
Screen-space Y of the rotation centre for AnchorRotationDegrees.
public float ScreenCenterY { get; init; }
Property Value
SuppressedText
Text ops to suppress this frame (the loser side of a declutter pass; see LabelDeclutterer), or null to draw all text. Suppression is by reference identity against the scene's ops.
public IReadOnlySet<TextPaintOp>? SuppressedText { get; init; }
Property Value
UseSymbolAtlas
Whether point symbols may be drawn from the render-thread symbol-sprite atlas (a once-rasterised SKImage blit) instead of replaying their vector SKPicture every frame (#332 lever c2). Defaults to true; set false to force the vector path (used for pixel-parity tests and as a safety fallback). Per-op-rotated symbols always use the vector path regardless.
public bool UseSymbolAtlas { get; init; }