Trait gdk4::prelude::TextureExtManual[][src]

pub trait TextureExtManual: 'static {
    fn download(&self, data: &mut [u8], stride: usize);
}

Required methods

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

Implementors