Group.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  class Group : public esvg::Base {
13  private:
14  std::vector<ememory::SharedPtr<esvg::Base>> m_subElementList;
15  public:
16  Group(PaintState _parentPaintState);
17  ~Group();
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  };
27 }
28 
void draw(esvg::Renderer &_myRenderer, mat2 &_basicTrans, int32_t _level) override
Draw the form in the renderer.
Main esvg namespace.
Definition: Base.hpp:24
Definition: Group.hpp:12
Definition: Base.hpp:52
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