00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #include "Interface.h"
00031
00033 class SDLInterface : public Interface
00034 {
00035 private:
00036 bool needsRepaint;
00037 bool full_screen;
00038
00039 public:
00040 ~SDLInterface();
00041 virtual int start();
00042
00043 virtual void flush();
00044 virtual void repaint();
00045
00046 virtual void setIdleCallback(void (*func)(void));
00047 virtual void setPaintCallback(void (*func)(void));
00048 virtual void setKeyboardCallback(void (*func)(int key, int x, int y,
00049 bool special, bool down, unsigned int modifiers));
00050 virtual void setRawEventCallback(void (*func)(void *event));
00051 virtual void addTimerCallback(void (*func)(int value), int time_ms,
00052 int val);
00053 virtual void setWindowSize(int width, int height);
00054 virtual void setFullScreen(bool fullScreen);
00055 virtual bool getFullScreen(void) {return full_screen;}
00056 virtual void setMouseEventCallback(void (*func)(int x, int y,
00057 MouseButtonType button, bool down));
00058 virtual void setMouseMotionCallback(void (*func)(int x, int y));
00059
00060
00061 virtual int getTime();
00062 virtual int getWindowWidth();
00063 virtual int getWindowHeight();
00064
00065 virtual const char* name() { return "GLUT"; }
00066
00067 protected:
00068 virtual int init(int argc, const char* argv[], int width, int height);
00069 };