00001 00002 00003 /* 00004 Program SHAPE.H 00005 Purpose base class for shapes 00006 Last Update 24-09-96 00007 */ 00008 00009 #ifndef SHAPE_H 00010 #define SHAPE_H 00011 00012 #ifdef __GNUG__ 00013 #pragma interface 00014 #endif 00015 00016 #include "bbox.h" 00017 #include "element.h" 00018 class G_Polygon; 00019 00021 00033 class Shape : public Element 00034 { 00035 public: 00037 Shape(); 00038 void Write(DrawDriver& dr); 00040 BoundingBox& GetBoundingBox(); 00041 00043 virtual int GetLayer(); 00045 virtual void SetLayer(int); 00047 virtual double GetWidth(); 00049 virtual void SetWidth(double width); 00050 00052 virtual void Convert(G_Polygon*, double)=0; 00053 00055 virtual wxPropertySheet* GetPropList(); 00057 void UpdatePropList(); 00058 00059 Shape& operator=(Shape &other); 00060 00061 protected: 00063 int m_layer; 00065 float m_width; 00066 }; 00067 00068 #endif