27 #ifndef _CEGUIOpenGLTexture_h_
28 #define _CEGUIOpenGLTexture_h_
30 #include "../../Base.h"
31 #include "../../Renderer.h"
32 #include "../../Texture.h"
33 #include "CEGUI/RendererModules/OpenGL/RendererBase.h"
36 # pragma warning(push)
37 # pragma warning(disable : 4251)
52 void setOpenGLTexture(GLuint tex,
const Sizef& size);
61 GLuint getOpenGLTexture()
const;
83 void setTextureSize(
const Sizef& sz);
99 void restoreTexture();
102 const String& getName()
const;
103 const Sizef& getSize()
const;
104 const Sizef& getOriginalDataSize()
const;
105 const Vector2f& getTexelScaling()
const;
106 void loadFromFile(
const String& filename,
const String& resourceGroup);
107 void loadFromMemory(
const void* buffer,
const Sizef& buffer_size,
109 void blitFromMemory(
const void* sourceData,
const Rectf& area);
110 void blitToMemory(
void* targetData);
111 bool isPixelFormatSupported(
const PixelFormat fmt)
const;
132 GLuint tex,
const Sizef& size);
137 void generateOpenGLTexture();
140 void updateCachedScaleValues();
143 void cleanupOpenGLTexture();
145 GLint internalFormat()
const;
148 void initInternalPixelFormatFields(
const PixelFormat fmt);
151 void setTextureSize_impl(
const Sizef& sz);
153 void loadUncompressedTextureBuffer(
const Rectf& dest_area,
154 const GLvoid* buffer)
const;
156 void loadCompressedTextureBuffer(
const Rectf& dest_area,
157 const GLvoid* buffer)
const;
159 GLsizei getCompressedTextureSize(
const Sizef& pixel_size)
const;
185 #if defined(_MSC_VER)
186 # pragma warning(pop)
189 #endif // end of guard _CEGUIOpenGLTexture_h_
Vector2f d_texelScaling
cached pixel to texel mapping scale values.
Definition: RendererModules/OpenGL/Texture.h:170
PixelFormat
Enumerated type containing the supported pixel formats that can be passed to loadFromMemory.
Definition: Texture.h:61
void destroyTexture(Texture &texture)
Destroy a Texture object that was previously created by calling the createTexture functions...
Main namespace for Crazy Eddie's GUI Library.
Definition: arch_overview.dox:1
Texture & createTexture(const String &name)
Create a 'null' Texture object.
uint8 * d_grabBuffer
cached image data for restoring the texture.
Definition: RendererModules/OpenGL/Texture.h:166
GLenum d_format
Texture format.
Definition: RendererModules/OpenGL/Texture.h:176
GLuint d_ogltexture
The OpenGL texture we're wrapping.
Definition: RendererModules/OpenGL/Texture.h:162
Sizef d_size
Size of the texture.
Definition: RendererModules/OpenGL/Texture.h:164
Abstract base class specifying the required interface for Texture objects.
Definition: Texture.h:52
OpenGLRendererBase & d_owner
OpenGLRenderer that created and owns this OpenGLTexture.
Definition: RendererModules/OpenGL/Texture.h:172
const String d_name
The name given for this texture.
Definition: RendererModules/OpenGL/Texture.h:174
Sizef d_dataSize
original size of pixel data loaded into texture
Definition: RendererModules/OpenGL/Texture.h:168
Common base class used for other OpenGL (desktop or ES) based renderer modules.
Definition: RendererBase.h:53
bool d_isCompressed
Whether Texture format is a compressed format.
Definition: RendererModules/OpenGL/Texture.h:180
GLenum d_subpixelFormat
Texture subpixel format.
Definition: RendererModules/OpenGL/Texture.h:178
Texture implementation for the OpenGLRenderer.
Definition: RendererModules/OpenGL/Texture.h:44
String class used within the GUI system.
Definition: String.h:62