16 void MoveTo(
const DlPoint& p2,
bool will_be_closed)
override {}
17 void LineTo(
const DlPoint& p2)
override { line_verb_count++; }
18 void QuadTo(
const DlPoint& cp,
const DlPoint& p2)
override {
21 bool ConicTo(
const DlPoint& cp,
const DlPoint& p2, DlScalar weight)
override {
25 void CubicTo(
const DlPoint& cp1,
27 const DlPoint& p2)
override {
30 void Close()
override {}
32 uint32_t line_verb_count;
33 uint32_t quad_verb_count;
34 uint32_t conic_verb_count;
35 uint32_t cubic_verb_count;
44 unsigned int line_verb_cost,
45 unsigned int quad_verb_cost,
46 unsigned int conic_verb_cost,
47 unsigned int cubic_verb_cost) {
48 DlComplexityPathReceiver receiver;
50 return (line_verb_cost * receiver.line_verb_count) +
51 (quad_verb_cost * receiver.quad_verb_count) +
52 (conic_verb_cost * receiver.conic_verb_count) +
53 (cubic_verb_cost * receiver.cubic_verb_count);
unsigned int CalculatePathComplexity(const DlPath &dl_path, unsigned int line_verb_cost, unsigned int quad_verb_cost, unsigned int conic_verb_cost, unsigned int cubic_verb_cost)
void Dispatch(DlPathReceiver &receiver) const override
Collection of functions to receive path segments from the underlying path representation via the DlPa...
virtual void CubicTo(const Point &cp1, const Point &cp2, const Point &p2)=0
virtual void LineTo(const Point &p2)=0
virtual void QuadTo(const Point &cp, const Point &p2)=0
virtual void MoveTo(const Point &p2, bool will_be_closed)=0
virtual bool ConicTo(const Point &cp, const Point &p2, Scalar weight)
impeller::Scalar DlScalar