Trait gdk4::prelude::TextureExtManual
source · pub trait TextureExtManual: 'static {
// Required method
fn download(&self, data: &mut [u8], stride: usize);
}
Expand description
Trait containing manually implemented methods of Texture
.
Required Methods§
sourcefn download(&self, data: &mut [u8], stride: usize)
fn download(&self, data: &mut [u8], stride: usize)
Downloads the @self into local memory.
This may be an expensive operation, as the actual texture data may reside on a GPU or on a remote display server.
The data format of the downloaded data is equivalent to
CAIRO_FORMAT_ARGB32
, so every downloaded pixel requires
4 bytes of memory.
Downloading a texture into a Cairo image surface: ⚠️ The following code is in c ⚠️
surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
gdk_texture_get_width (texture),
gdk_texture_get_height (texture));
gdk_texture_download (texture,
cairo_image_surface_get_data (surface),
cairo_image_surface_get_stride (surface));
cairo_surface_mark_dirty (surface);
data
pointer to enough memory to be filled with the downloaded data of @self
stride
rowstride in bytes