Archive / / / / gui_nativeapi.h
2007-09-28 01:30:02 UTC
previous next
#ifndef GUI_NATIVEAPI_H_ #define GUI_NATIVEAPI_H_ #include <boost/smart_ptr.hpp> #include <cairomm/cairomm.h> namespace GUI { class NativeAPIPrivate; class NativeAPI { public: // Public classes class EventReceiver { public: virtual ~EventReceiver() {} virtual void on_redraw_event( Cairo::RefPtr<Cairo::Context> cr, double width, double height) = 0; }; public: // Public methods static void push_event_receiver( boost::shared_ptr<NativeAPI::EventReceiver> event_receiver); static void run_event_loop(int argc, char** argv); private: // Private variables static boost::scoped_ptr<NativeAPIPrivate> _private; // The seperate class for private data is so that I don't need to // #include platform-dependant headers in this header file }; } #endif /*GUI_NATIVEAPI_H_*/