#ifndef GUIELEMENT_H #define GUIELEMENT_H #include class GuiElement { protected: BITMAP *canvas; bool active; GuiElement(BITMAP *desiredCanvas, bool desiredActive = false) : canvas(desiredCanvas), active(desiredActive) {} public: bool getActive() const; virtual bool acknowledgeKeyStroke(int keyStroke); virtual bool acknowledgeKeyArray(); virtual bool acknowledgeMouse(); virtual void acknowledgeHeartBeat(); virtual void focus(); virtual void blur(); virtual void shift(int xOffset, int yOffset) = 0; virtual bool within(int xTarget, int yTarget) = 0; virtual void draw() = 0; virtual void erase() = 0; }; #endif