Circle.hpp
Go to the documentation of this file.
1 
6 #pragma once
7 
8 #include <esvg/Base.hpp>
9 
10 namespace esvg {
11  class Circle : public esvg::Base {
12  private:
13  vec2 m_position;
14  float m_radius;
15  public:
16  Circle(PaintState _parentPaintState);
17  ~Circle();
18  bool parseXML(const exml::Element& _element, mat2& _parentTrans, vec2& _sizeMax) override;
19  void display(int32_t _spacing) override;
20  void draw(esvg::Renderer& _myRenderer, mat2& _basicTrans, int32_t _level) override;
21  void drawShapePoints(std::vector<std::vector<vec2>>& _out,
22  int32_t _recurtionMax,
23  float _threshold,
24  mat2& _basicTrans,
25  int32_t _level=1) override;
26  private:
27  esvg::render::Path createPath();
28  };
29 }
30 
31 
Definition: Path.hpp:19
Main esvg namespace.
Definition: Base.hpp:24
Definition: Base.hpp:52
Definition: Circle.hpp:11
void drawShapePoints(std::vector< std::vector< vec2 >> &_out, int32_t _recurtionMax, float _threshold, mat2 &_basicTrans, int32_t _level=1) override
Draw rhe shape with all points.
Definition: Renderer.hpp:16
Definition: Base.hpp:36
bool parseXML(const exml::Element &_element, mat2 &_parentTrans, vec2 &_sizeMax) override
parse all the element needed in the basic node
void draw(esvg::Renderer &_myRenderer, mat2 &_basicTrans, int32_t _level) override
Draw the form in the renderer.