Struct webrender_api::ImageDescriptor
source · pub struct ImageDescriptor {
pub format: ImageFormat,
pub size: DeviceIntSize,
pub stride: Option<i32>,
pub offset: i32,
pub is_opaque: bool,
pub allow_mipmaps: bool,
}Expand description
Metadata (but not storage) describing an image In WebRender.
Fields
format: ImageFormatFormat of the image data.
size: DeviceIntSizeWidth and length of the image data, in pixels.
stride: Option<i32>The number of bytes from the start of one row to the next. If non-None,
compute_stride will return this value, otherwise it returns
width * bpp. Different source of images have different alignment
constraints for rows, so the stride isn’t always equal to width * bpp.
offset: i32Offset in bytes of the first pixel of this image in its backing buffer. This is used for tiling, wherein WebRender extracts chunks of input images in order to cache, manipulate, and render them individually. This offset tells the texture upload machinery where to find the bytes to upload for this tile. Non-tiled images generally set this to zero.
is_opaque: boolWhether this image is opaque, or has an alpha channel. Avoiding blending for opaque surfaces is an important optimization.
allow_mipmaps: boolWhether to allow the driver to automatically generate mipmaps. If images are already downscaled appropriately, mipmap generation can be wasted work, and cause performance problems on some cards/drivers.
See https://github.com/servo/webrender/pull/2555/
Implementations
sourceimpl ImageDescriptor
impl ImageDescriptor
sourcepub fn new(
width: i32,
height: i32,
format: ImageFormat,
is_opaque: bool,
allow_mipmaps: bool
) -> Self
pub fn new(
width: i32,
height: i32,
format: ImageFormat,
is_opaque: bool,
allow_mipmaps: bool
) -> Self
Mints a new ImageDescriptor.
sourcepub fn compute_stride(&self) -> i32
pub fn compute_stride(&self) -> i32
Returns the stride, either via an explicit stride stashed on the object or by the default computation.
sourcepub fn compute_total_size(&self) -> i32
pub fn compute_total_size(&self) -> i32
Computes the total size of the image, in bytes.
sourcepub fn full_rect(&self) -> DeviceIntRect
pub fn full_rect(&self) -> DeviceIntRect
Computes the bounding rectangle for the image, rooted at (0, 0).
Trait Implementations
sourceimpl Clone for ImageDescriptor
impl Clone for ImageDescriptor
sourcefn clone(&self) -> ImageDescriptor
fn clone(&self) -> ImageDescriptor
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more