Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
godotengine
GitHub Repository: godotengine/godot
Path: blob/master/thirdparty/msdfgen/core/Contour.h
9902 views
1
2
#pragma once
3
4
#include <vector>
5
#include "EdgeHolder.h"
6
7
namespace msdfgen {
8
9
/// A single closed contour of a shape.
10
class Contour {
11
12
public:
13
/// The sequence of edges that make up the contour.
14
std::vector<EdgeHolder> edges;
15
16
/// Adds an edge to the contour.
17
void addEdge(const EdgeHolder &edge);
18
#ifdef MSDFGEN_USE_CPP11
19
void addEdge(EdgeHolder &&edge);
20
#endif
21
/// Creates a new edge in the contour and returns its reference.
22
EdgeHolder &addEdge();
23
/// Adjusts the bounding box to fit the contour.
24
void bound(double &l, double &b, double &r, double &t) const;
25
/// Adjusts the bounding box to fit the contour border's mitered corners.
26
void boundMiters(double &l, double &b, double &r, double &t, double border, double miterLimit, int polarity) const;
27
/// Computes the winding of the contour. Returns 1 if positive, -1 if negative.
28
int winding() const;
29
/// Reverses the sequence of edges on the contour.
30
void reverse();
31
32
};
33
34
}
35
36