]> Shamusworld >> Repos - architektonas/blobdiff - src/container.h
Added new triangulation tool, ability to snap to endpoints/intersections.
[architektonas] / src / container.h
index 6be759dc0090e87b03c101a6d0cbd2082b914486..7d5ef4cf8e01f4873347ca8325d982793b60b616 100644 (file)
@@ -16,12 +16,19 @@ class Container: public Object
                virtual void Draw(Painter *);
                virtual Vector Center(void);
                virtual bool Collided(Vector);
-               virtual void PointerMoved(Vector);
+               virtual bool PointerMoved(Vector);
                virtual void PointerReleased(void);
                virtual bool NeedsUpdate(void);
                virtual void Add(Object *);
                virtual QRectF Extents(void);
                virtual void Enumerate(FILE *);
+               virtual Object * Copy(void);
+               virtual void Rotate(Point, double);
+               virtual void RotateSelected(Point, double);
+               virtual void Mirror(Point, Point);
+               virtual void MirrorSelected(Point, Point);
+               virtual void Save(void);
+               virtual void Restore(void);
                void Delete(Object *);
                void DeleteSelectedItems(void);
                void Clear(void);
@@ -30,7 +37,9 @@ class Container: public Object
                int ItemsSelected(void);
                Object * SelectedItem(unsigned int);
                void MoveContentsTo(Container *);
+               void CopyContentsTo(Container *);
                void MoveSelectedContentsTo(Container *);
+               void CopySelectedContentsTo(Container *);
                void ResizeAllDimensions(double);
 
        protected:
@@ -39,11 +48,15 @@ class Container: public Object
        public:
                std::vector<Object *> objects;
                bool isTopLevelContainer;
+               Object * lastObjectClicked;
+               Object * lastObjectHovered;
+               Object * penultimateObjectHovered;
        private:
                bool dragging;
                bool draggingHandle1;
                bool draggingHandle2;
                bool objectWasDragged;
+               bool hit;
 };
 
 #endif // __CONTAINER_H__