#define _DOCUMENT_H
#include "ipdf.h"
+#include "quadtree.h"
namespace IPDF
{
void Load(const std::string & filename = "");
void Save(const std::string & filename);
- void Add(Real x, Real y, Real w, Real h);
void DebugDumpObjects();
unsigned ObjectCount() const {return m_count;}
+ inline const Objects & GetObjects() const {return m_objects;}
bool operator==(const Document & equ) const;
bool operator!=(const Document & equ) const {return !(this->operator==(equ));}
+ void Add(ObjectType type, const Rect & bounds, unsigned data_index = 0);
+ unsigned AddBezierData(const Bezier & bezier);
+
+#ifndef QUADTREE_DISABLED
+ inline const QuadTree& GetQuadTree() { if (m_quadtree.root_id == QUADTREE_EMPTY) { GenBaseQuadtree(); } return m_quadtree; }
+ QuadTreeIndex GenQuadNode(QuadTreeIndex parent, QuadTreeNodeChildren type);
+#endif
+
private:
friend class View;
Objects m_objects;
+#ifndef QUADTREE_DISABLED
+ QuadTree m_quadtree;
+ void GenBaseQuadtree();
+#endif
unsigned m_count;
+
+
};
}