nuclear@9: #ifndef SCREEN_H_ nuclear@9: #define SCREEN_H_ nuclear@9: nuclear@15: typedef int MsgAtom; nuclear@15: nuclear@15: MsgAtom message_atom(const char *str); nuclear@15: nuclear@9: class Screen { nuclear@9: private: nuclear@9: char *name; nuclear@9: nuclear@9: public: nuclear@9: Screen(); nuclear@9: virtual ~Screen(); nuclear@9: nuclear@9: virtual bool init(); nuclear@9: virtual void shutdown(); nuclear@9: nuclear@9: virtual void set_name(const char *name); nuclear@9: virtual const char *get_name() const; nuclear@9: nuclear@9: virtual void update(); nuclear@9: virtual void draw() const = 0; nuclear@9: nuclear@9: virtual void handle_keyboard(int key, bool press); nuclear@9: virtual void handle_mbutton(int bn, bool press, int x, int y); nuclear@9: virtual void handle_mmotion(int x, int y); nuclear@15: nuclear@17: virtual void message(MsgAtom msg, ...); nuclear@9: }; nuclear@9: nuclear@9: #endif // SCREEN_H_