00001 00007 #ifndef DRAWABLE_H_KPV401 00008 #define DRAWABLE_H_KPV401 00009 00014 class Drawable { 00015 public: 00016 virtual ~Drawable() { 00017 } 00018 00023 virtual void draw( const Point& anchor ) = 0; 00024 00030 virtual const Rect& getPosition() const = 0; 00031 00043 virtual float getHeight() const { 00044 return -1.0f; 00045 } 00046 00052 virtual bool needsTransform() const { 00053 return false; 00054 } 00055 00056 protected: 00057 Drawable() { 00058 } 00059 private: 00060 }; 00061 00062 #endif