Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008 #ifndef __SP_SOFTPIXELDEVICE_LINUX_H__
00009 #define __SP_SOFTPIXELDEVICE_LINUX_H__
00010
00011
00012 #include "Base/spStandard.hpp"
00013
00014 #if defined(SP_PLATFORM_LINUX)
00015
00016
00017 #include "Platform/spSoftPixelDevice.hpp"
00018
00019 #include <sys/utsname.h>
00020 #include <sys/time.h>
00021 #include <X11/X.h>
00022 #include <X11/Xlib.h>
00023 #include <X11/Xutil.h>
00024 #include <X11/extensions/xf86vmode.h>
00025 #include <GL/gl.h>
00026 #include <GL/glx.h>
00027
00028
00029 namespace sp
00030 {
00031
00032 namespace video { class OpenGLRenderSystem; }
00033
00034
00036 class SP_EXPORT SoftPixelDeviceLinux : public SoftPixelDevice
00037 {
00038
00039 public:
00040
00041 SoftPixelDeviceLinux(
00042 const video::ERenderSystems RendererType, const dim::size2di &Resolution, s32 ColorDepth,
00043 const io::stringc &Title, bool isFullScreen, const SDeviceFlags &Flags
00044 );
00045 ~SoftPixelDeviceLinux();
00046
00047
00048
00049 bool updateEvents();
00050 void deleteDevice();
00051
00052 void beep(u32 Milliseconds = 100, u32 Frequency = 1000);
00053
00054 private:
00055
00056 friend class video::OpenGLRenderSystem;
00057 friend class SoftwareDriver;
00058 friend class io::InputControl;
00059
00060
00061
00062 void setupKeyCodeTable();
00063 void createCursor();
00064
00065
00066
00067 Display* Display_;
00068 Window Window_;
00069
00070 Cursor Cursor_;
00071 XEvent Event_;
00072
00073 static timeval TimeStart_;
00074
00075 };
00076
00077
00078 }
00079
00080
00081 #endif
00082
00083 #endif
00084
00085
00086
00087