clan::TransferTexture Class Reference

Texture Transfer class. More...

#include <transfer_texture.h>

+ Inheritance diagram for clan::TransferTexture:

Public Member Functions

 TransferTexture ()
 Constructs a null instance. More...
 
 TransferTexture (PixelBufferProvider *provider)
 Constructs a GPU Transfer Buffer. More...
 
 TransferTexture (GraphicContext &gc, int width, int height, PixelBufferDirection direction=data_to_gpu, TextureFormat texture_format=tf_rgba8, const void *data=nullptr, BufferUsage usage=usage_stream_draw)
 Constructs a GPU Transfer Buffer. More...
 
 TransferTexture (GraphicContext &gc, const PixelBuffer &pbuff, PixelBufferDirection direction=data_to_gpu, BufferUsage usage=usage_stream_draw)
 Constructs a GPU Transfer Buffer from an existing pixelbuffer. More...
 
 ~TransferTexture ()
 
- Public Member Functions inherited from clan::PixelBuffer
 PixelBuffer ()
 Constructs a null instance. More...
 
 PixelBuffer (int width, int height, TextureFormat texture_format, const void *data=nullptr, bool only_reference_data=false)
 Constructs a PixelBuffer. More...
 
 PixelBuffer (const std::string &fullname, bool srgb=false)
 Constructs a PixelBuffer. More...
 
 PixelBuffer (const std::string &filename, const FileSystem &file_system, bool srgb=false)
 Constructs a PixelBuffer. More...
 
 PixelBuffer (IODevice &file, const std::string &image_type, bool srgb=false)
 Constructs a PixelBuffer. More...
 
 PixelBuffer (PixelBufferProvider *provider)
 Constructs a PixelBuffer. More...
 
virtual ~PixelBuffer ()
 
PixelBuffer copy () const
 Create a copy of the pixelbuffer that doesn't share data with the original pixel buffer. More...
 
PixelBuffer copy (const Rect &rect) const
 Create a copy of the pixelbuffer that doesn't share data with the original pixel buffer. More...
 
void flip_vertical ()
 Flip the entire image vertically (turn it upside down) More...
 
unsigned int get_bytes_per_block () const
 Returns the number of bytes per compression block. More...
 
unsigned int get_bytes_per_pixel () const
 Returns the number of bytes per pixel. More...
 
void * get_data ()
 Returns a pointer to the beginning of the pixel buffer. More...
 
const void * get_data () const
 
template<typename Type >
Type * get_data ()
 
template<typename Type >
const Type * get_data () const
 
unsigned int get_data_size () const
 Returns the size in bytes of the image data. More...
 
unsigned short * get_data_uint16 ()
 Returns a pointer to the beginning of the pixel buffer as 16 bit data. More...
 
const unsigned short * get_data_uint16 () const
 
unsigned int * get_data_uint32 ()
 Returns a pointer to the beginning of the pixel buffer as 32 bit data. More...
 
const unsigned int * get_data_uint32 () const
 
unsigned char * get_data_uint8 ()
 Returns a pointer to the beginning of the pixel buffer as 8 bit data. More...
 
const unsigned char * get_data_uint8 () const
 
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...
 
TextureFormat get_format () const
 Returns the pixel format. More...
 
int get_height () const
 Retrieves the actual height of the buffer. More...
 
void * get_line (int line)
 Returns a pointer to the beginning of a specific line. More...
 
const void * get_line (int line) const
 
unsigned short * get_line_uint16 (int line)
 Returns a pointer to the beginning of a specific line as 16 bit data. More...
 
const unsigned short * get_line_uint16 (int line) const
 
unsigned int * get_line_uint32 (int line)
 Returns a pointer to the beginning of a specific line as 32 bit data. More...
 
const unsigned int * get_line_uint32 (int line) const
 
unsigned char * get_line_uint8 (int line)
 Returns a pointer to the beginning of a specific line as 8 bit data. More...
 
const unsigned char * get_line_uint8 (int line) const
 
int get_pitch () const
 Returns the pitch (in bytes per scanline). More...
 
Colorf get_pixel (int x, int y)
 Return color of pixel at the specified coordinates. More...
 
float get_pixel_ratio () const
 
PixelBufferProviderget_provider () const
 Get Provider. More...
 
Size get_size () const
 Retrieves the actual size of the buffer. More...
 
int get_width () const
 Retrieves the actual width of the buffer. More...
 
bool has_transparency () const
 Returns true if format has an alpha channel. More...
 
bool is_compressed () const
 Returns true if compressed. More...
 
bool is_gpu () const
 Returns true if this pixel buffer is a GPU based one. More...
 
bool is_null () const
 Returns true if this object is invalid. More...
 
void lock (GraphicContext &gc, BufferAccess access)
 Maps buffer into system memory. More...
 
 operator bool () const
 
void premultiply_alpha ()
 Multiply the RGB components by the Alpha component. More...
 
void premultiply_gamma (float gamma)
 Multiply the RGB components by gamma value. More...
 
void set_image (const PixelBuffer &source)
 Copy source pixel buffer into this buffer, doing a format conversion if needed. More...
 
void set_image (const PixelBuffer &source, PixelConverter &converter)
 Copy source pixel buffer into this buffer, doing a format conversion if needed. More...
 
void set_pixel_ratio (float ratio)
 Sets the display pixel ratio for this texture. More...
 
void set_subimage (const PixelBuffer &source, const Point &dest_pos, const Rect &src_rect)
 Copy source pixel buffer into this buffer, doing a format conversion if needed. More...
 
void set_subimage (const PixelBuffer &source, const Point &dest_pos, const Rect &src_rect, PixelConverter &converter)
 Copy source pixel buffer into this buffer, doing a format conversion if needed. More...
 
void throw_if_null () const
 Throw an exception if this object is invalid. More...
 
PixelBuffer to_cpu (GraphicContext &gc)
 Downloads the pixel buffer to CPU memory. More...
 
PixelBuffer to_format (TextureFormat texture_format) const
 Converts current buffer to a new pixel format and returns the result. More...
 
PixelBuffer to_format (TextureFormat texture_format, PixelConverter &converter) const
 Converts current buffer to a new pixel format and returns the result. More...
 
PixelBuffer to_gpu (GraphicContext &gc)
 Uploads the pixel buffer to GPU memory. More...
 
void unlock ()
 Unmaps element buffer. More...
 
void upload_data (GraphicContext &gc, const Rect &dest_rect, const void *data)
 Uploads data to buffer. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from clan::PixelBuffer
static unsigned int get_bytes_per_block (TextureFormat texture_format)
 Returns the number of bytes per compression block. More...
 
static unsigned int get_bytes_per_pixel (TextureFormat texture_format)
 Returns the number of bytes per pixel. More...
 
static unsigned int get_data_size (const Size &size, TextureFormat texture_format)
 Returns the size in bytes of the image data. More...
 
static bool is_compressed (TextureFormat texture_format)
 Returns true if compressed. More...
 

Detailed Description

Texture Transfer class.

Constructor & Destructor Documentation

clan::TransferTexture::TransferTexture ( )

Constructs a null instance.

clan::TransferTexture::TransferTexture ( PixelBufferProvider provider)

Constructs a GPU Transfer Buffer.

Parameters
provider= Font Provider
clan::TransferTexture::TransferTexture ( GraphicContext gc,
int  width,
int  height,
PixelBufferDirection  direction = data_to_gpu,
TextureFormat  texture_format = tf_rgba8,
const void *  data = nullptr,
BufferUsage  usage = usage_stream_draw 
)

Constructs a GPU Transfer Buffer.

Parameters
gc= Graphic Context
width= value
height= value
direction= prefered direction that you will use tranferring the pixel buffer data
sized_format= Texture Format
data= data to copy from (May be NULL)
usage= Buffer Usage
clan::TransferTexture::TransferTexture ( GraphicContext gc,
const PixelBuffer pbuff,
PixelBufferDirection  direction = data_to_gpu,
BufferUsage  usage = usage_stream_draw 
)

Constructs a GPU Transfer Buffer from an existing pixelbuffer.

Parameters
gc= Graphic Context
pbuff= The pixelbuffer to copy from
direction= prefered direction that you will use tranferring the pixel buffer data
usage= Buffer Usage
clan::TransferTexture::~TransferTexture ( )

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