|
|
Donner
Embeddable browser-grade SVG2 engine
|
#include <cstdint>#include <ostream>#include <span>#include <vector>#include "donner/base/BezierUtils.h"#include "donner/base/Box.h"#include "donner/base/FillRule.h"#include "donner/base/Transform.h"#include "donner/base/Vector2.h"Classes | |
| struct | donner::StrokeStyle |
| Parameters for converting a stroked path to a filled outline. More... | |
| class | donner::Path |
| Immutable 2D vector path. More... | |
| struct | donner::Path::Command |
| A command in the path, pairing a verb with the index of its first point. More... | |
| struct | donner::Path::PointOnPath |
| Result of sampling the path at a given arc length distance. More... | |
| struct | donner::Path::Vertex |
| Vertex in a path's edge list, used for marker placement. More... | |
| class | donner::PathBuilder |
| Mutable builder for constructing immutable Path objects. More... | |
Namespaces | |
| namespace | donner |
| Top-level Donner namespace, which is split into different sub-namespaces such as donner::svg and donner::css. | |
Enumerations | |
| enum class | donner::LineCap : uint8_t { donner::Butt , donner::Round , donner::Square } |
| Line cap style for stroke endpoints. More... | |
| enum class | donner::LineJoin : uint8_t { donner::Miter , donner::Round , donner::Bevel } |
| Line join style for stroke corners. More... | |
Functions | |
| std::ostream & | donner::operator<< (std::ostream &os, LineCap cap) |
| Ostream output operator for LineCap. | |
| std::ostream & | donner::operator<< (std::ostream &os, LineJoin join) |
| Ostream output operator for LineJoin. | |
| struct donner::StrokeStyle |
Parameters for converting a stroked path to a filled outline.
| Class Members | ||
|---|---|---|
| LineCap | cap = LineCap::Butt | Line cap style for open subpath endpoints. |
| LineJoin | join = LineJoin::Miter | Line join style for corners between segments. |
| double | miterLimit = 4.0 | Maximum miter length ratio (as per SVG stroke-miterlimit). |
| double | width = 1.0 | Stroke width. |
| struct donner::Path::PointOnPath |
Result of sampling the path at a given arc length distance.
| Class Members | ||
|---|---|---|
| double | angle | Tangent angle in radians (atan2). |
| Vector2d | point | Position on the path. |
| Vector2d | tangent | Un-normalized tangent vector at the point. |
| bool | valid = true | False if distance exceeds path length. |