raylib-cpp
C++ object-oriented wrapper library for raylib.
Public Member Functions | Protected Member Functions | List of all members
raylib::TextureUnmanaged Class Reference

A Texture that is not managed by C++ RAII. More...

Public Member Functions

 TextureUnmanaged ()
 Default texture constructor.
 
 TextureUnmanaged (::Texture &&other)
 
 TextureUnmanaged (const ::Image &image)
 Creates a texture from the given Image. More...
 
 TextureUnmanaged (const ::Image &image, int layout)
 Load cubemap from image, multiple image cubemap layouts supported. More...
 
 TextureUnmanaged (const ::Texture &texture)
 Creates a texture object based on the given Texture struct data.
 
 TextureUnmanaged (const std::string &fileName)
 Load texture from file into GPU memory (VRAM) More...
 
 TextureUnmanaged (unsigned int id, int width, int height, int mipmaps=1, int format=PIXELFORMAT_UNCOMPRESSED_R8G8B8A8)
 Move/Create a texture structure manually.
 
void Draw (::NPatchInfo nPatchInfo, ::Rectangle destRec, ::Vector2 origin={0, 0}, float rotation=0, ::Color tint={255, 255, 255, 255}) const
 Draws a texture (or part of it) that stretches or shrinks nicely. More...
 
void Draw (::Rectangle sourceRec, ::Rectangle destRec, ::Vector2 origin={0, 0}, float rotation=0, ::Color tint={255, 255, 255, 255}) const
 Draw a part of a texture defined by a rectangle with 'pro' parameters. More...
 
void Draw (::Rectangle sourceRec, ::Vector2 position={0, 0}, ::Color tint={255, 255, 255, 255}) const
 Draw a part of a texture defined by a rectangle. More...
 
void Draw (::Vector2 position, ::Color tint={255, 255, 255, 255}) const
 Draw a Texture2D with position defined as Vector2. More...
 
void Draw (::Vector2 position, float rotation, float scale=1.0f, ::Color tint={255, 255, 255, 255}) const
 Draw a Texture2D with extended parameters. More...
 
void Draw (int posX=0, int posY=0, ::Color tint={255, 255, 255, 255}) const
 Draw a Texture2D. More...
 
void DrawBillboard (const ::Camera &camera, ::Rectangle source, ::Vector3 position, ::Vector2 size, ::Color tint={255, 255, 255, 255}) const
 Draw a billboard texture defined by source. More...
 
void DrawBillboard (const ::Camera &camera, ::Rectangle source, Vector3 position, ::Vector3 up, Vector2 size, Vector2 origin, float rotation=0.0f, ::Color tint={255, 255, 255, 255}) const
 Draw a billboard texture defined by source and rotation. More...
 
void DrawBillboard (const ::Camera &camera, ::Vector3 position, float size, ::Color tint={255, 255, 255, 255}) const
 Draw a billboard texture. More...
 
TextureUnmanagedGenMipmaps ()
 Generate GPU mipmaps for a texture.
 
::Image GetData () const
 Get pixel data from GPU texture and return an Image.
 
int GetFormat () const
 Retrieves the format value for the object. More...
 
int GetHeight () const
 Retrieves the height value for the object. More...
 
unsigned int GetId () const
 Retrieves the id value for the object. More...
 
int GetMipmaps () const
 Retrieves the mipmaps value for the object. More...
 
::Vector2 GetSize () const
 Retrieve the width and height of the texture.
 
int GetWidth () const
 Retrieves the width value for the object. More...
 
bool IsValid () const
 Determines whether or not the Texture has been loaded and is ready. More...
 
void Load (const ::Image &image)
 Load texture from image data.
 
void Load (const ::Image &image, int layoutType)
 Load cubemap from image, multiple image cubemap layouts supported.
 
void Load (const std::string &fileName)
 Load texture from file into GPU memory (VRAM)
 
 operator Image ()
 Get pixel data from GPU texture and return an Image.
 
TextureUnmanagedoperator= (const ::Texture &texture)
 
TextureUnmanagedSetFilter (int filterMode)
 Set texture scaling filter mode.
 
TextureUnmanagedSetMaterial (::Material *material, int mapType=MATERIAL_MAP_NORMAL)
 Set texture for a material map type (MAP_DIFFUSE, MAP_SPECULAR...)
 
TextureUnmanagedSetMaterial (const ::Material &material, int mapType=MATERIAL_MAP_NORMAL)
 
TextureUnmanagedSetShaderValue (const ::Shader &shader, int locIndex)
 Set shader uniform value for texture (sampler2d)
 
TextureUnmanagedSetShapes (const ::Rectangle &source)
 Set texture and rectangle to be used on shapes drawing.
 
TextureUnmanagedSetWrap (int wrapMode)
 Set texture wrapping mode.
 
void Unload ()
 Unload texture from GPU memory (VRAM)
 
TextureUnmanagedUpdate (::Rectangle rec, const void *pixels)
 Update GPU texture rectangle with new data.
 
TextureUnmanagedUpdate (const void *pixels)
 Update GPU texture with new data.
 

Protected Member Functions

void set (const ::Texture &texture)
 

Detailed Description

A Texture that is not managed by C++ RAII.

Make sure to Unload() this if needed, otherwise use raylib::Texture.

See also
raylib::Texture

Definition at line 21 of file TextureUnmanaged.hpp.

Constructor & Destructor Documentation

◆ TextureUnmanaged() [1/3]

raylib::TextureUnmanaged::TextureUnmanaged ( const ::Image image)
inline

Creates a texture from the given Image.

Exceptions
raylib::RaylibExceptionThrows if failed to create the texture from the given image.

Definition at line 56 of file TextureUnmanaged.hpp.

References Load().

◆ TextureUnmanaged() [2/3]

raylib::TextureUnmanaged::TextureUnmanaged ( const ::Image image,
int  layout 
)
inline

Load cubemap from image, multiple image cubemap layouts supported.

Exceptions
raylib::RaylibExceptionThrows if failed to create the texture from the given cubemap.
See also
LoadTextureCubemap()

Definition at line 65 of file TextureUnmanaged.hpp.

References Load().

◆ TextureUnmanaged() [3/3]

raylib::TextureUnmanaged::TextureUnmanaged ( const std::string &  fileName)
inline

Load texture from file into GPU memory (VRAM)

Exceptions
raylib::RaylibExceptionThrows if failed to create the texture from the given file.

Definition at line 72 of file TextureUnmanaged.hpp.

References Load().

Member Function Documentation

◆ Draw() [1/6]

void raylib::TextureUnmanaged::Draw ( ::NPatchInfo  nPatchInfo,
::Rectangle  destRec,
::Vector2  origin = {0, 0},
float  rotation = 0,
::Color  tint = {255, 255, 255, 255} 
) const
inline

Draws a texture (or part of it) that stretches or shrinks nicely.

See also
::DrawTextureNPatch()

Definition at line 238 of file TextureUnmanaged.hpp.

◆ Draw() [2/6]

void raylib::TextureUnmanaged::Draw ( ::Rectangle  sourceRec,
::Rectangle  destRec,
::Vector2  origin = {0, 0},
float  rotation = 0,
::Color  tint = {255, 255, 255, 255} 
) const
inline

Draw a part of a texture defined by a rectangle with 'pro' parameters.

See also
::DrawTexturePro()

Definition at line 224 of file TextureUnmanaged.hpp.

◆ Draw() [3/6]

void raylib::TextureUnmanaged::Draw ( ::Rectangle  sourceRec,
::Vector2  position = {0, 0},
::Color  tint = {255, 255, 255, 255} 
) const
inline

Draw a part of a texture defined by a rectangle.

See also
::DrawTextureRec()

Definition at line 215 of file TextureUnmanaged.hpp.

◆ Draw() [4/6]

void raylib::TextureUnmanaged::Draw ( ::Vector2  position,
::Color  tint = {255, 255, 255, 255} 
) const
inline

Draw a Texture2D with position defined as Vector2.

See also
::DrawTextureV()

Definition at line 199 of file TextureUnmanaged.hpp.

◆ Draw() [5/6]

void raylib::TextureUnmanaged::Draw ( ::Vector2  position,
float  rotation,
float  scale = 1.0f,
::Color  tint = {255, 255, 255, 255} 
) const
inline

Draw a Texture2D with extended parameters.

See also
::DrawTextureEx()

Definition at line 206 of file TextureUnmanaged.hpp.

◆ Draw() [6/6]

void raylib::TextureUnmanaged::Draw ( int  posX = 0,
int  posY = 0,
::Color  tint = {255, 255, 255, 255} 
) const
inline

Draw a Texture2D.

See also
::DrawTexture()

Definition at line 190 of file TextureUnmanaged.hpp.

◆ DrawBillboard() [1/3]

void raylib::TextureUnmanaged::DrawBillboard ( const ::Camera camera,
::Rectangle  source,
::Vector3  position,
::Vector2  size,
::Color  tint = {255, 255, 255, 255} 
) const
inline

Draw a billboard texture defined by source.

See also
::DrawBillboardRec()

Definition at line 262 of file TextureUnmanaged.hpp.

◆ DrawBillboard() [2/3]

void raylib::TextureUnmanaged::DrawBillboard ( const ::Camera camera,
::Rectangle  source,
Vector3  position,
::Vector3  up,
Vector2  size,
Vector2  origin,
float  rotation = 0.0f,
::Color  tint = {255, 255, 255, 255} 
) const
inline

Draw a billboard texture defined by source and rotation.

See also
::DrawBillboardPro()

Definition at line 276 of file TextureUnmanaged.hpp.

◆ DrawBillboard() [3/3]

void raylib::TextureUnmanaged::DrawBillboard ( const ::Camera camera,
::Vector3  position,
float  size,
::Color  tint = {255, 255, 255, 255} 
) const
inline

Draw a billboard texture.

See also
::DrawBillboard()

Definition at line 253 of file TextureUnmanaged.hpp.

◆ GetFormat()

int raylib::TextureUnmanaged::GetFormat ( ) const
inline

Retrieves the format value for the object.

Returns
The format value of the object.

Definition at line 82 of file TextureUnmanaged.hpp.

◆ GetHeight()

int raylib::TextureUnmanaged::GetHeight ( ) const
inline

Retrieves the height value for the object.

Returns
The height value of the object.

Definition at line 80 of file TextureUnmanaged.hpp.

◆ GetId()

unsigned int raylib::TextureUnmanaged::GetId ( ) const
inline

Retrieves the id value for the object.

Returns
The id value of the object.

Definition at line 78 of file TextureUnmanaged.hpp.

◆ GetMipmaps()

int raylib::TextureUnmanaged::GetMipmaps ( ) const
inline

Retrieves the mipmaps value for the object.

Returns
The mipmaps value of the object.

Definition at line 81 of file TextureUnmanaged.hpp.

◆ GetWidth()

int raylib::TextureUnmanaged::GetWidth ( ) const
inline

Retrieves the width value for the object.

Returns
The width value of the object.

Definition at line 79 of file TextureUnmanaged.hpp.

◆ IsValid()

bool raylib::TextureUnmanaged::IsValid ( ) const
inline

Determines whether or not the Texture has been loaded and is ready.

Returns
True or false depending on whether the Texture has data.

Definition at line 322 of file TextureUnmanaged.hpp.

Referenced by Load().