Donner SVG 0.8.0
0.8.0 ยท ebf353960.8.0 main
SVG editor and embeddable C⁠+⁠+⁠20 engine.
Loading...
Searching...
No Matches
NonScalingStroke.h File Reference
#include <cstdint>
#include "donner/base/Transform.h"
#include "donner/svg/core/Stroke.h"
#include "donner/svg/core/VectorEffect.h"
Include dependency graph for NonScalingStroke.h:

Namespaces

namespace  donner
 Top-level Donner namespace, which is split into different sub-namespaces such as donner::svg and donner::css.
namespace  donner::svg
 Donner SVG library, which can load, manipulate and render SVG files.

Enumerations

enum class  donner::svg::NonScalingStrokeMode : uint8_t {
  donner::svg::Scaling ,
  donner::svg::ScaledLocal ,
  donner::svg::HostSpace
}
 How an element's stroke is realized under its current CTM. More...

Functions

bool donner::svg::IsSimilarityTransform (const Transform2d &transform)
 Returns whether transform's linear part is a similarity: uniform scale combined with rotation and optionally reflection.
NonScalingStrokeMode donner::svg::ResolveNonScalingStrokeMode (VectorEffect vectorEffect, const Transform2d &worldFromEntity, bool geometryMustStayLocal)
 Resolves how an element's stroke is realized.
double donner::svg::EffectiveStrokeWidth (double authoredWidth, NonScalingStrokeMode mode, const Transform2d &worldFromEntity)
 Returns the stroke width the renderer expands the centerline by, in the space that centerline is stroked in: local space for NonScalingStrokeMode::Scaling and NonScalingStrokeMode::ScaledLocal, host space for NonScalingStrokeMode::HostSpace.
double donner::svg::StrokeCullHalfExtent (double strokeWidth, StrokeLinecap linecap, StrokeLinejoin linejoin, double miterLimit)
 Returns the furthest distance a stroke of strokeWidth can reach from its centerline.