Table of Contents

Namespace DocWright.Core.Rendering

Classes

ClipPath

Clip stack operation constraining subsequent primitives to an arbitrary path. The rectangle-only ClipRect remains the cheaper choice for axis-aligned clips; this exists for shape outlines that are not rectangles.

ClipRect

Clip stack operation used to constrain subsequent primitives to a rectangle.

FilledRect

A filled rectangle (used for shading and highlights).

GlyphOrientationGeometry

The layout-space geometry of a GlyphOrientation.

GlyphRun

A positioned run of text glyphs on a single baseline.

GradientFill

A gradient interior paint for a VectorPath.

GradientRamp

The colour ramp Word blends the two stops of a DrawingML gradient with (WQ-0037).

ImagePlacement

Positioned image primitive (populated in a later phase).

LayoutDocument

Immutable renderer-agnostic layout result: pages and positioned primitives in twips.

LayoutPage

One laid-out page.

LinkRegion

Clickable area associated with a hyperlink target (populated in a later phase).

PatternFill

A two-colour tiled pattern interior paint for a VectorPath.

RenderOptions

Options controlling how a renderer serializes a laid-out document. This options bag grows additively; the ILayoutRenderer interface itself never changes within a major version.

RuleSegment

A stroked segment (used for underline/strikethroughs and borders).

StructureMark

A logical-structure boundary in paint order: the start or end of one structure element.

VectorPath

A filled and/or stroked vector path — the primitive shapes and shape groups paint through. Alpha values are in thousandths of a percent (0..100000), matching the DrawingML a:alpha unit and the crop convention on ImagePlacement; a fully transparent paint is omitted rather than drawn.

Structs

GlyphClusterAdvance

One measured cluster advance within a glyph run.

GlyphClusterMap

Logical-to-shaped mapping metadata for one rendered cluster.

GlyphPlacement

Where a shaped glyph sits relative to the pen: the advance the pen moves after it and the offsets it is drawn at, all in twips at the run's size. A combining mark has a zero advance and an offset back over its base; a kerned pair has an advance that is not the glyph's width. Renderers draw the glyph at pen + offset and then move the pen by the advance, along the run's baseline for X and its up direction for Y.

GradientStop

One stop of a GradientFill.

VectorPathSegment

One segment of a vector path, in absolute top-down page twips (the RuleSegment convention, not the rect-origin convention of FilledRect). Control points are meaningful only for CubicTo.

Interfaces

ILaidOutDocument

Marker interface for a fully laid-out document: the immutable result of the layout engine, with every element assigned a page and a position in twips. Renderers consume this seam only — they never see the mutable DOM.

ILayoutPrimitive

Marker interface for positioned layout primitives.

ILayoutRenderer

Renders a laid-out document to an output format. The PDF renderer implements this seam today; image renderers (Word-to-Image) plug in tomorrow without core changes.

Enums

FilledRectKind

Logical type of a filled rectangle.

GlyphOrientation

The quarter turn applied to a run's baseline, measured clockwise from upright.

GradientFillKind

How a GradientFill sweeps its stops.

RuleSegmentKind

What a RuleSegment is, which decides how a renderer puts its thickness on Word's 1/600-inch device grain (WQ-0040, WQ-0054).

StructureRole

The semantic role of a StructureMark, named after the PDF standard structure type it maps to.

TableHeaderScope

The header scope of a TableHeaderCell.

VectorFillRule

How a path's interior is determined.

VectorLineCap

How stroked subpath ends are drawn.

VectorLineJoin

How stroked segments meet.

VectorPathVerb

The drawing verb of one VectorPathSegment.