Polygon.hpp
Go to the documentation of this file.
1 
6 #pragma once
7 
8 #include <esvg/Base.hpp>
9 #include <vector>
10 
11 namespace esvg {
12  /*
13  enum polygonMode {
14  polygoneModeNonZero,
15  polygoneModeEvenOdd
16  };
17  */
18  class Polygon : public esvg::Base {
19  private:
20  std::vector<vec2 > m_listPoint;
21  //enum esvg::polygonMode m_diplayMode; //!< polygone specific display mode
22  public:
23  Polygon(PaintState parentPaintState);
24  ~Polygon();
25  bool parseXML(const exml::Element& _element, mat2& _parentTrans, vec2& _sizeMax) override;
26  void display(int32_t _spacing) override;
27  void draw(esvg::Renderer& _myRenderer, mat2& _basicTrans, int32_t _level) override;
28  void drawShapePoints(std::vector<std::vector<vec2>>& _out,
29  int32_t _recurtionMax,
30  float _threshold,
31  mat2& _basicTrans,
32  int32_t _level=1) override;
33  private:
34  esvg::render::Path createPath();
35  };
36 }
37 
Definition: Path.hpp:19
Main esvg namespace.
Definition: Base.hpp:24
void draw(esvg::Renderer &_myRenderer, mat2 &_basicTrans, int32_t _level) override
Draw the form in the renderer.
Definition: Base.hpp:52
Definition: Renderer.hpp:16
Definition: Base.hpp:36
Definition: Polygon.hpp:18
bool parseXML(const exml::Element &_element, mat2 &_parentTrans, vec2 &_sizeMax) override
parse all the element needed in the basic node
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.