Table of Contents

Class ReportShape

Namespace
DocWright.Reporting.Pagination
Assembly
DocWright.Reporting.dll

One drawing operation inside a report item that draws itself.

public abstract class ReportShape
Inheritance
ReportShape
Derived
Inherited Members

Remarks

Coordinates are relative to the owning item's top-left corner, not to the page. Such an item is a self-contained drawing: a viewer that scrolls one, an SVG projection that gives one its own coordinate system, and an item that appears on more than one page all want the same shapes rather than a set translated per appearance. Left and Top are the offset to add.

The vocabulary is deliberately small — a rectangle, a path, a region and a label — because every plot type, every barcode and every gauge reduces to those, and because this is public contract that a viewer binds to. It is shared rather than repeated per item type: a barcode drawn in a different vocabulary from a chart would be a second thing for every consumer to learn.

The region is the one addition since the vocabulary was first fixed (Phase 54e2), for the one thing the others cannot say: several contours that share edges and must be filled as one area. Drawn as separate rectangles, two dark QR Code modules one above the other meet on an edge that an antialiasing renderer covers twice at partial coverage, leaving a grey seam across solid dark; measured, the seams broke the finder patterns ZXing looks for.

Properties

Fill

Gets the fill colour, or null when the shape is not filled.

FillAlpha

Gets the fill's opacity, from 0 (transparent) to 255 (opaque); meaningless when Fill is null.

Kind

Gets what kind of shape this is.

Stroke

Gets the stroke colour, or null when the shape is not stroked.

StrokeAlpha

Gets the stroke's opacity, from 0 (transparent) to 255 (opaque); meaningless when Stroke is null.

StrokeWidth

Gets the stroke width; meaningless when Stroke is null.