Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008 #ifndef __SP_RENDERCONTEXT_OPENGLES_H__
00009 #define __SP_RENDERCONTEXT_OPENGLES_H__
00010
00011
00012 #include "Base/spStandard.hpp"
00013
00014 #if defined(SP_COMPILE_WITH_OPENGLES1) || defined(SP_COMPILE_WITH_OPENGLES2)
00015
00016
00017 #include "Base/spDimensionSize2D.hpp"
00018 #include "Base/spInputOutputString.hpp"
00019 #include "Platform/spSoftPixelDeviceFlags.hpp"
00020 #include "RenderSystem/spRenderContext.hpp"
00021 #include "RenderSystem/OpenGL/spOpenGLCoreHeader.hpp"
00022
00023
00024 namespace sp
00025 {
00026 namespace video
00027 {
00028
00029
00031 class SP_EXPORT OpenGLESRenderContext : public RenderContext
00032 {
00033
00034 public:
00035
00036 OpenGLESRenderContext(bool isGLES2);
00037 ~OpenGLESRenderContext();
00038
00039
00040
00041 bool openGraphicsScreen(
00042 void* ParentWindow, const dim::size2di &Resolution, const io::stringc &Title,
00043 s32 ColorDepth, bool isFullscreen, const SDeviceFlags &Flags
00044 );
00045 void closeGraphicsScreen();
00046
00047 void flipBuffers();
00048
00049 bool activate();
00050 bool deactivate();
00051
00052 void setWindowTitle(const io::stringc &Title);
00053 io::stringc getWindowTitle() const;
00054
00055 void setWindowPosition(const dim::point2di &Position);
00056 dim::point2di getWindowPosition() const;
00057
00058 dim::size2di getWindowSize() const;
00059 dim::size2di getWindowBorder() const;
00060
00061 bool isWindowActive() const;
00062
00063 void* getWindowObject();
00064
00065 private:
00066
00067
00068
00069 bool createRenderContext(void* Window, bool isGLES2);
00070 void releaseRenderContext(void* Window);
00071
00072
00073
00074 bool isGLES2_;
00075
00076 #ifdef SP_USE_GLES_EGL
00077 EGLDisplay Display_;
00078 EGLSurface Surface_;
00079 EGLContext Context_;
00080 #endif
00081
00082 };
00083
00084
00085 }
00086
00087 }
00088
00089
00090 #endif
00091
00092 #endif
00093
00094
00095
00096