Struct sdl2::render::TextureCreator
source · pub struct TextureCreator<T> { /* private fields */ }Expand description
Creates Textures that cannot outlive the creator
The TextureCreator does not hold a lifetime to its Canvas by design choice.
If a Canvas is dropped before its TextureCreator, it is still safe to use.
It is, however, useless.
Any Texture created here can only be drawn onto the original Canvas. A Texture used in a
Canvas must come from a TextureCreator coming from that same Canvas. Using a Texture to
render to a Canvas not being the parent of the Texture’s TextureCreator is undefined
behavior.
Implementations§
source§impl<T> TextureCreator<T>
impl<T> TextureCreator<T>
Texture-creating methods for the renderer
pub fn raw(&self) -> *mut SDL_Renderer
pub fn default_pixel_format(&self) -> PixelFormatEnum
sourcepub fn create_texture<F>(
&self,
format: F,
access: TextureAccess,
width: u32,
height: u32,
) -> Result<Texture<'_>, TextureValueError>
pub fn create_texture<F>( &self, format: F, access: TextureAccess, width: u32, height: u32, ) -> Result<Texture<'_>, TextureValueError>
Creates a texture for a rendering context.
If format is None, the format will be the one the parent Window or Surface uses.
If format is Some(pixel_format), the default will be overridden, and the texture will be
created with the specified format if possible. If the PixelFormat is not supported, this
will return an error.
You should prefer the default format if possible to have performance gains and to avoid
unsupported Pixel Formats that can cause errors. However, be careful with the default
PixelFormat if you want to create transparent textures.
sourcepub fn create_texture_static<F>(
&self,
format: F,
width: u32,
height: u32,
) -> Result<Texture<'_>, TextureValueError>
pub fn create_texture_static<F>( &self, format: F, width: u32, height: u32, ) -> Result<Texture<'_>, TextureValueError>
Shorthand for create_texture(format, TextureAccess::Static, width, height)
sourcepub fn create_texture_streaming<F>(
&self,
format: F,
width: u32,
height: u32,
) -> Result<Texture<'_>, TextureValueError>
pub fn create_texture_streaming<F>( &self, format: F, width: u32, height: u32, ) -> Result<Texture<'_>, TextureValueError>
Shorthand for create_texture(format, TextureAccess::Streaming, width, height)
sourcepub fn create_texture_target<F>(
&self,
format: F,
width: u32,
height: u32,
) -> Result<Texture<'_>, TextureValueError>
pub fn create_texture_target<F>( &self, format: F, width: u32, height: u32, ) -> Result<Texture<'_>, TextureValueError>
Shorthand for create_texture(format, TextureAccess::Target, width, height)
sourcepub fn create_texture_from_surface<S: AsRef<SurfaceRef>>(
&self,
surface: S,
) -> Result<Texture<'_>, TextureValueError>
pub fn create_texture_from_surface<S: AsRef<SurfaceRef>>( &self, surface: S, ) -> Result<Texture<'_>, TextureValueError>
Creates a texture from an existing surface.
§Remarks
The access hint for the created texture is TextureAccess::Static.
sourcepub unsafe fn raw_create_texture(&self, raw: *mut SDL_Texture) -> Texture<'_>
pub unsafe fn raw_create_texture(&self, raw: *mut SDL_Texture) -> Texture<'_>
Create a texture from its raw SDL_Texture.