00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef header_blit_gl_generic
00016 #define header_blit_gl_generic
00017
00018 #ifdef USE_OPENGL
00019
00020 #ifdef WIN32
00021 #include <windows.h>
00022 #endif
00023 #include <GL/gl.h>
00024 #include <GL/glu.h>
00025
00026 #include "Display/Display/Generic/blitters.h"
00027 #include "displaycard_gl_generic.h"
00028
00029 class CL_Blit_GLTexture :
00030 public CL_Blit_NoClip,
00031 public CL_Blit_Clip,
00032 public CL_Blit_Scale_NoClip,
00033 public CL_Blit_Scale_Clip
00034 {
00035 public:
00036 CL_Blit_GLTexture(
00037 CL_GL_DisplayCard_Generic *card,
00038 CL_SurfaceProvider *surf);
00039
00040 virtual ~CL_Blit_GLTexture();
00041
00042 virtual void blt_noclip(
00043 CL_Target *target,
00044 int x,
00045 int y,
00046 int spr_no);
00047
00048 virtual void blt_clip(
00049 CL_Target *target,
00050 int x,
00051 int y,
00052 int spr_no,
00053 const CL_ClipRect &clip);
00054
00055 virtual void blt_scale_noclip(
00056 CL_Target *target,
00057 int x,
00058 int y,
00059 int dest_width,
00060 int dest_height,
00061 int spr_no);
00062
00063 virtual void blt_scale_clip(
00064 CL_Target *target,
00065 int x,
00066 int y,
00067 int dest_width,
00068 int dest_height,
00069 int spr_no,
00070 const CL_ClipRect &clip);
00071
00072 private:
00073 CL_GL_DisplayCard_Generic *card;
00074
00075 int width, height, no_sprs;
00076 int texture_width, texture_height;
00077
00078 GLuint texture;
00079 };
00080
00081 #endif
00082 #endif