#include <vector>
#include "structs.h"
-void CopyObjects(std::vector<void *> & from, std::vector<void *> & to);
+void CopyObjects(VPVector & from, VPVector & to);
+VPVector CopyObjects(VPVector & from);
Object * CopyObject(Object * obj);
-void MoveSelectedObjectsTo(std::vector<void *> & dest, std::vector<void *> & from);
-void AddObjectsTo(std::vector<void *> & dest, std::vector<void *> & from);
-void ClearSelected(std::vector<void *> & v);
-void SelectAll(std::vector<void *> & v);
-void DeleteContents(std::vector<void *> & v);
-void DeleteSelectedObjects(std::vector<void *> & v);
-void RemoveSelectedObjects(std::vector<void *> & v);
-void SavePointsFrom(std::vector<void *> & v, std::vector<Object> & s);
-void RestorePointsTo(std::vector<void *> & v, std::vector<Object> & s);
+Object * CopyObject2(Object * obj);
+void MoveSelectedObjectsTo(VPVector & dest, VPVector & from);
+VPVector MoveSelectedObjectsFrom(VPVector & from);
+void CopySelectedObjectsTo(VPVector & dest, VPVector & from);
+VPVector CopySelectedObjects(VPVector & from);
+void AddObjectsTo(VPVector & dest, VPVector & from);
+void ClearSelected(VPVector & v);
+void SelectAll(VPVector & v);
+void DeleteContents(VPVector & v);
+void DeleteSelectedObjects(VPVector & v);
+void RemoveSelectedObjects(VPVector & v);
+void SavePointsFrom(VPVector & v, std::vector<Object> & s);
+void RestorePointsTo(VPVector & v, std::vector<Object> & s);
+void RestorePointsTo(VPVector & v, VPVector & s);
void TranslateObject(Object * obj, Point delta);
-void TranslateObjects(std::vector<void *> & v, Point delta);
+void TranslateContainer(Container * c, Point point, Point delta);
+void TranslateObjects(VPVector & v, Point delta);
+VPVector Flatten(Container * src);
+VPVector Flatten(VPVector src);
#endif // __UTILS_H__
-