+ void Add(ObjectType type, const Rect & bounds, unsigned data_index = 0);
+ unsigned AddBezierData(const Bezier & bezier);
+
+
+
+ /** SVG Related functions **/
+
+ /** Load an SVG text file and add to the document **/
+ void LoadSVG(const std::string & filename, const Rect & bounds = Rect(0,0,1,1));
+
+ /** Parse an SVG node or SVG-group node, adding children to the document **/
+ void ParseSVGNode(pugi::xml_node & root, const Rect & bounds, Real & width, Real & height);
+ /** Parse an SVG path with string **/
+ void ParseSVGPathData(const std::string & d, const Rect & bounds);
+
+ /** Font related functions **/
+ void SetFont(const std::string & font_filename);
+ void AddText(const std::string & text, Real scale, Real x, Real y);
+
+ void AddFontGlyphAtPoint(stbtt_fontinfo *font, int character, Real scale, Real x, Real y);
+
+#ifndef QUADTREE_DISABLED
+ inline const QuadTree& GetQuadTree() { if (m_quadtree.root_id == QUADTREE_EMPTY) { GenBaseQuadtree(); } return m_quadtree; }
+ QuadTreeIndex GenQuadChild(QuadTreeIndex parent, QuadTreeNodeChildren type);
+ QuadTreeIndex GenQuadParent(QuadTreeIndex child, QuadTreeNodeChildren mytype);
+#endif
+