Go to the documentation of this file.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
00031
00032 #ifndef SDLAdapter_INCLUDE_ONCE
00033 #define SDLAdapter_INCLUDE_ONCE
00034
00035 #include <vlSDL/link_config.hpp>
00036 #include <vlGraphics/OpenGLContext.hpp>
00037 #include <vlCore/String.hpp>
00038 #include <vlCore/Vector4.hpp>
00039 #include <SDL.h>
00040
00041 namespace vlut
00042 {
00043 class Applet;
00044 }
00045
00046 namespace vlSDL
00047 {
00048 void messageLoop();
00049
00050
00051
00052
00058 class VLSDL_EXPORT SDLWindow: public vl::OpenGLContext
00059 {
00060 public:
00061 SDLWindow();
00062 SDLWindow(const vl::String& title, const vl::OpenGLContextFormat& info, int x=0, int y=0, int width=640, int height=480);
00063 bool initSDLWindow(const vl::String& title, const vl::OpenGLContextFormat& info, int x=0, int y=0, int width=640, int height=480);
00064
00065 ~SDLWindow();
00066
00067 void setPosition(int x, int y);
00068
00069 virtual void swapBuffers();
00070
00071 void translateEvent(SDL_Event * ev);
00072
00074 void quitApplication();
00075
00076 void setWindowTitle(const vl::String&);
00077
00078 void setMouseVisible(bool visible)
00079 {
00080 mMouseVisible = visible;
00081 SDL_ShowCursor(visible ? SDL_ENABLE : SDL_DISABLE);
00082 }
00083
00084 void setMousePosition(int x, int y)
00085 {
00086 SDL_WarpMouse((Uint16)x, (Uint16)y);
00087 }
00088
00089 void update();
00090
00091 void makeCurrent() { }
00092
00093 static SDL_Surface* sdlSurface() { return mScreen; }
00094
00095 protected:
00096 static SDL_Surface* mScreen;
00097 };
00098 }
00099
00100 #endif