2D texture object class. More...

#include <texture_2d.h>

+ Inheritance diagram for clan::Texture2D:

Public Member Functions

 Texture2D ()
 Constructs a null instance. More...
 
 Texture2D (const std::shared_ptr< Texture_Impl > &impl)
 
 Texture2D (GraphicContext &context, int width, int height, TextureFormat format=tf_rgba8, int levels=1)
 
 Texture2D (GraphicContext &context, const Size &size, TextureFormat texture_format=tf_rgba8, int levels=1)
 
 Texture2D (GraphicContext &context, const std::string &fullname, const ImageImportDescription &import_desc={})
 
 Texture2D (GraphicContext &context, const std::string &filename, const FileSystem &fs, const ImageImportDescription &import_desc={})
 
 Texture2D (GraphicContext &context, IODevice &file, const std::string &image_type, const ImageImportDescription &import_desc={})
 
 Texture2D (GraphicContext &context, const PixelBuffer &image, bool is_srgb=false)
 
 Texture2D (GraphicContext &context, const PixelBuffer &image, const Rect &src_rect, bool is_srgb=false)
 
void copy_image_from (GraphicContext &context, int level, TextureFormat texture_format=tf_rgba8)
 Copy image data from a graphic context. More...
 
void copy_image_from (GraphicContext &context, int x, int y, int width, int height, int level=0, TextureFormat texture_format=tf_rgba8)
 
void copy_image_from (GraphicContext &context, const Rect &pos, int level=0, TextureFormat texture_format=tf_rgba8)
 
void copy_subimage_from (GraphicContext &context, int offset_x, int offset_y, int x, int y, int width, int height, int level=0)
 Copy sub image data from a graphic context. More...
 
void copy_subimage_from (GraphicContext &context, const Point &offset, const Rect &pos, int level=0)
 
float get_dip_height () const
 Returns the device independent height of this texture. More...
 
Sizef get_dip_size () const
 Returns the device independent size of this texture. More...
 
float get_dip_width () const
 Returns the device independent width of this texture. More...
 
int get_height () const
 Retrieves the actual height of the texture in the display. More...
 
float get_pixel_ratio () const
 
PixelBuffer get_pixeldata (GraphicContext &gc, int level=0) const
 Retrieve image data from texture. More...
 
PixelBuffer get_pixeldata (GraphicContext &gc, TextureFormat texture_format, int level=0) const
 
Size get_size () const
 Retrieves the actual size of the texture. More...
 
int get_width () const
 Retrieves the actual width of the texture in the display. More...
 
TextureWrapMode get_wrap_mode_s () const
 Get the texture wrap mode for the s coordinate. More...
 
TextureWrapMode get_wrap_mode_t () const
 Get the texture wrap mode for the t coordinate. More...
 
void set_image (GraphicContext &context, const PixelBuffer &image, int level=0)
 
void set_pixel_ratio (float ratio)
 Sets the display pixel ratio for this texture. More...
 
void set_subimage (GraphicContext &context, int x, int y, const PixelBuffer &image, const Rect &src_rect, int level=0)
 
void set_subimage (GraphicContext &context, const Point &point, const PixelBuffer &image, const Rect &src_rect, int level=0)
 
void set_wrap_mode (TextureWrapMode wrap_s, TextureWrapMode wrap_t)
 
- Public Member Functions inherited from clan::Texture
 Texture ()
 Constructs a null instance. More...
 
 Texture (GraphicContext &gc, PixelBufferSet pixelbuffer_set)
 Constructs a texture as described in a pixelbuffer set. More...
 
 Texture (const std::shared_ptr< Texture_Impl > &impl)
 Constructs a texture from an implementation. More...
 
 Texture (TextureProvider *provider)
 Constructs a texture from a texture provider. More...
 
virtual ~Texture ()
 
void generate_mipmap ()
 Generate the mipmap. More...
 
int get_base_level () const
 Get the texture base level. More...
 
CompareFunction get_compare_function () const
 Get the texture compare function. More...
 
TextureCompareMode get_compare_mode () const
 Get the texture compare mode. More...
 
std::weak_ptr< Texture_Impl > get_impl () const
 Get the implementation weakptr. More...
 
float get_lod_bias () const
 Get the level of detail bias constant. More...
 
TextureFilter get_mag_filter () const
 Get the texture magnification filter. More...
 
int get_max_level () const
 Get the texture max level. More...
 
float get_max_lod () const
 Get the maximum level of detail. More...
 
TextureFilter get_min_filter () const
 Get the texture minification filter. More...
 
float get_min_lod () const
 Get the minimum level of detail. More...
 
TextureProviderget_provider () const
 Get Provider. More...
 
bool is_null () const
 Returns true if this object is invalid. More...
 
bool is_resident () const
 Returns true if texture is resident in texture memory. More...
 
 operator bool () const
 
bool operator!= (const Texture &other) const
 Inequality operator. More...
 
bool operator< (const Texture &other) const
 Less than operator. More...
 
bool operator== (const Texture &other) const
 Equality operator. More...
 
void set_base_level (int base_level)
 Sets the texture base level texture parameter. More...
 
void set_lod_bias (float lod_bias)
 Sets the level of detail bias constant. More...
 
void set_mag_filter (TextureFilter filter)
 Set the magnification filter. More...
 
void set_max_anisotropy (float max_anisotropy)
 Set the maximum degree of anisotropy. More...
 
void set_max_level (int max_level)
 Sets the texture max level texture parameter. More...
 
void set_max_lod (float max_lod)
 Set the maximum level of detail texture parameter. More...
 
void set_min_filter (TextureFilter filter)
 Set the minification filter. More...
 
void set_min_lod (float min_lod)
 Set the minimum level of detail texture parameter. More...
 
void set_texture_compare (TextureCompareMode mode, CompareFunction func)
 Sets the texture compare mode and compare function texture parameters. More...
 
void throw_if_null () const
 Throw an exception if this object is invalid. More...
 
Texture1D to_texture_1d () const
 Dynamic cast to Texture1D. More...
 
Texture1DArray to_texture_1d_array () const
 Dynamic cast to Texture1DArray. More...
 
Texture2D to_texture_2d () const
 Dynamic cast to Texture2D. More...
 
Texture2DArray to_texture_2d_array () const
 Dynamic cast to Texture2DArray. More...
 
Texture3D to_texture_3d () const
 Dynamic cast to Texture3D. More...
 
TextureCube to_texture_cube () const
 Dynamic cast to TextureCube. More...
 
TextureCubeArray to_texture_cube_array () const
 Dynamic cast to TextureCubeArray. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from clan::Texture
static Texture load (GraphicContext &gc, const std::string &id, const XMLResourceDocument &doc, const ImageImportDescription &import_desc=ImageImportDescription())
 Loads a Texture from a XML resource definition. More...
 
static Resource< Textureresource (GraphicContext &gc, const std::string &id, const ResourceManager &resources)
 Retrieves a Texture resource from the resource manager. More...
 
- Protected Attributes inherited from clan::Texture
std::shared_ptr< Texture_Impl > impl
 

Detailed Description

2D texture object class.

Constructor & Destructor Documentation

clan::Texture2D::Texture2D ( )

Constructs a null instance.

clan::Texture2D::Texture2D ( const std::shared_ptr< Texture_Impl > &  impl)
inline

Constructs a texture from an implementation.

Parameters
implThe Texture object implementation.
clan::Texture2D::Texture2D ( GraphicContext context,
int  width,
int  height,
TextureFormat  format = tf_rgba8,
int  levels = 1 
)

Constructs a new Texture object.

Parameters
contextGraphic context to construct the texture on.
widthWidth of the new texture.
heightHeight of the new texture.
formatData format of the new texture.
levelsNumber of mipmap levels for the new texture. Setting this to 0 enables all levels.
clan::Texture2D::Texture2D ( GraphicContext context,
const Size size,
TextureFormat  texture_format = tf_rgba8,
int  levels = 1 
)

Constructs a new Texture object.

Parameters
contextGraphic context to construct the texture on.
sizeSize of the new texture.
formatData format of the new texture.
levelsNumber of mipmap levels for the new texture. Setting this to 0 enables all levels.
clan::Texture2D::Texture2D ( GraphicContext context,
const std::string fullname,
const ImageImportDescription import_desc = {} 
)
clan::Texture2D::Texture2D ( GraphicContext context,
const std::string filename,
const FileSystem fs,
const ImageImportDescription import_desc = {} 
)
clan::Texture2D::Texture2D ( GraphicContext context,
IODevice file,
const std::string image_type,
const ImageImportDescription import_desc = {} 
)
clan::Texture2D::Texture2D ( GraphicContext context,
const PixelBuffer image,
bool  is_srgb = false 
)
clan::Texture2D::Texture2D ( GraphicContext context,
const PixelBuffer image,
const Rect src_rect,
bool  is_srgb = false 
)

Member Function Documentation

void clan::Texture2D::copy_image_from ( GraphicContext context,
int  level,
TextureFormat  texture_format = tf_rgba8 
)

Copy image data from a graphic context.

void clan::Texture2D::copy_image_from ( GraphicContext context,
int  x,
int  y,
int  width,
int  height,
int  level = 0,
TextureFormat  texture_format = tf_rgba8 
)
void clan::Texture2D::copy_image_from ( GraphicContext context,
const Rect pos,
int  level = 0,
TextureFormat  texture_format = tf_rgba8 
)
void clan::Texture2D::copy_subimage_from ( GraphicContext context,
int  offset_x,
int  offset_y,
int  x,
int  y,
int  width,
int  height,
int  level = 0 
)

Copy sub image data from a graphic context.

void clan::Texture2D::copy_subimage_from ( GraphicContext context,
const Point offset,
const Rect pos,
int  level = 0 
)
float clan::Texture2D::get_dip_height ( ) const
inline

Returns the device independent height of this texture.

References get_height(), and get_pixel_ratio().

Referenced by get_dip_size().

Sizef clan::Texture2D::get_dip_size ( ) const
inline

Returns the device independent size of this texture.

References get_dip_height(), and get_dip_width().

float clan::Texture2D::get_dip_width ( ) const
inline

Returns the device independent width of this texture.

References get_pixel_ratio(), and get_width().

Referenced by get_dip_size().

int clan::Texture2D::get_height ( ) const

Retrieves the actual height of the texture in the display.

Referenced by get_dip_height(), and get_size().

float clan::Texture2D::get_pixel_ratio ( ) const

Retrieves the pixel ratio of this texture.

Returns
The display pixel ratio set for this texture. A zero value implies that no pixel ratio has been set

Referenced by get_dip_height(), and get_dip_width().

PixelBuffer clan::Texture2D::get_pixeldata ( GraphicContext gc,
int  level = 0 
) const

Retrieve image data from texture.

PixelBuffer clan::Texture2D::get_pixeldata ( GraphicContext gc,
TextureFormat  texture_format,
int  level = 0 
) const

Retrieve image data from this texture.

Parameters
formatOutput data format.
levelMipmap level of the texture to retrieve data from.
Size clan::Texture2D::get_size ( ) const
inline

Retrieves the actual size of the texture.

References get_height(), and get_width().

int clan::Texture2D::get_width ( ) const

Retrieves the actual width of the texture in the display.

Referenced by get_dip_width(), and get_size().

TextureWrapMode clan::Texture2D::get_wrap_mode_s ( ) const

Get the texture wrap mode for the s coordinate.

TextureWrapMode clan::Texture2D::get_wrap_mode_t ( ) const

Get the texture wrap mode for the t coordinate.

void clan::Texture2D::set_image ( GraphicContext context,
const PixelBuffer image,
int  level = 0 
)

Upload image to this texture.

Parameters
contextGraphic context to use for the request.
imageImage to upload.
levelMipmap level-of-detail number.
void clan::Texture2D::set_pixel_ratio ( float  ratio)

Sets the display pixel ratio for this texture.

void clan::Texture2D::set_subimage ( GraphicContext context,
int  x,
int  y,
const PixelBuffer image,
const Rect src_rect,
int  level = 0 
)

Upload image to sub-texture.

Parameters
contextGraphic context to use for the request.
xThe horizontal point in the texture to write the new sub-texture image onto.
yThe vertical point in the texture to write the new sub-texture image onto.
imageImage to upload.
levelMipmap level-of-detail number.
void clan::Texture2D::set_subimage ( GraphicContext context,
const Point point,
const PixelBuffer image,
const Rect src_rect,
int  level = 0 
)

Upload image to sub-texture.

Parameters
contextGraphic context to use for the request.
pointPoint in the texture to write the new sub-texture image. onto.
imageImage to upload.
levelMipmap level-of-detail number.
void clan::Texture2D::set_wrap_mode ( TextureWrapMode  wrap_s,
TextureWrapMode  wrap_t 
)

The documentation for this class was generated from the following file: