2010-04-05 23:38:59 +02:00
|
|
|
#ifndef OVERLAY
|
|
|
|
#define OVERLAY
|
|
|
|
|
2010-04-14 22:01:45 +02:00
|
|
|
#include <boost/shared_ptr.hpp>
|
|
|
|
|
2010-04-05 23:38:59 +02:00
|
|
|
#include <SDL/SDL.h>
|
|
|
|
|
|
|
|
namespace Engine {
|
|
|
|
|
|
|
|
class OverlayBase {
|
|
|
|
public:
|
|
|
|
OverlayBase () {};
|
|
|
|
virtual ~OverlayBase() {};
|
|
|
|
|
|
|
|
virtual bool OnKeyDown (const SDL_keysym &keysym) { return false; };
|
|
|
|
virtual bool OnKeyUp (const SDL_keysym &keysym) { return false; };
|
|
|
|
virtual bool OnMouseButtonUp (Uint8 button, Uint16 xpos, Uint16 ypos) { return false; };
|
|
|
|
virtual bool OnMouseButtonDown (Uint8 button, Uint16 xpos, Uint16 ypos) { return false; };
|
|
|
|
|
|
|
|
virtual void Draw () = 0;
|
|
|
|
|
|
|
|
void _strange_function_for_vtable () {};
|
|
|
|
};
|
|
|
|
|
2010-04-14 22:01:45 +02:00
|
|
|
typedef boost::shared_ptr<OverlayBase> OverlayBasePtr;
|
|
|
|
|
2010-04-05 23:38:59 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
#endif /* OVERLAY */
|