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
00032
00033 #pragma once
00034
00035 #include "api_gl1.h"
00036 #include "opengl1_defines.h"
00037 #include <utility>
00038 #include "../Core/Text/string_types.h"
00039 #include "../Display/Image/pixel_format.h"
00040 #include "../Display/Render/texture.h"
00041
00042 class CL_GL1Functions;
00043 class CL_GraphicContext;
00044 class CL_GL1GraphicContextProvider;
00045
00046 enum CL_TextureFormat;
00047
00049 typedef void (CL_GL1ProcAddress)();
00050
00054 class CL_API_GL1 CL_GL1
00055 {
00058
00059 public:
00061 static CL_GL1ProcAddress *get_proc_address(const CL_String8 &function_name);
00062
00064 static CL_GL1Functions *functions;
00065
00067 static int get_textureformat_bits(CL_TextureFormat format);
00068
00070
00072 static bool to_opengl_pixelformat(const CL_PixelBuffer &pbuffer, GLenum &format, GLenum &type);
00073
00075
00077 static bool to_opengl_pixelformat(CL_TextureFormat texture_format, GLenum &format, GLenum &type);
00078
00084 static void to_opengl_textureformat(CL_TextureFormat format, GLint &gl_internal_format, GLenum &gl_pixel_format);
00085
00087 static void set_active(CL_GraphicContext &gc);
00088
00090 static void set_active(const CL_GL1GraphicContextProvider * const gc_provider);
00091
00097 static bool set_active();
00098
00100 private:
00104 static void remove_active(const CL_GL1GraphicContextProvider * const gc_provider);
00105
00106 friend class CL_GL1GraphicContextProvider;
00107
00108 };
00109