]> Shamusworld >> Repos - architektonas/blobdiff - src/container.h
Trim tool now works for Lines, but inaccurate.
[architektonas] / src / container.h
index ac9c51d6f0436f9575f096902801da3ccd3d8d70..7de5d8918c175e2e08a221eae603005ceed5d001 100644 (file)
@@ -7,27 +7,55 @@
 class Container: public Object
 {
        public:
+//             Container(void);
                Container(Vector, Object * p = 0);
+               Container(const Container &);
                ~Container();
 
-               virtual void Draw(QPainter *);
+               Container & operator=(const Container &);
+               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);
+               void SelectAll(void);
+               void DeselectAll(void);
+               int ItemsSelected(void);
+               Object * SelectedItem(unsigned int);
+               void MoveContentsTo(Container *);
+               void CopyContentsTo(Container *);
+               void MoveSelectedContentsTo(Container *);
+               void CopySelectedContentsTo(Container *);
+               void ResizeAllDimensions(double);
 
        protected:
                Vector oldPoint;                                        // Used for dragging
 
-       private:
+       public:
                std::vector<Object *> objects;
+               bool isTopLevelContainer;
+               Object * lastObjectClicked;
+               Object * lastObjectHovered;
+       private:
                bool dragging;
                bool draggingHandle1;
                bool draggingHandle2;
-//             bool needUpdate;
                bool objectWasDragged;
+               bool hit;
 };
 
 #endif // __CONTAINER_H__