Struct webrender::prim_store::image::ImageInstance
source · pub struct ImageInstance {
pub segment_instance_index: Index<SegmentedInstance>,
pub tight_local_clip_rect: LayoutRect,
pub visible_tiles: Vec<VisibleImageTile>,
pub src_color: Option<RenderTaskId>,
}
Expand description
Instance specific fields for an image primitive. These are currently stored in a separate array to avoid bloating the size of PrimitiveInstance. In the future, we should be able to remove this and store the information inline, by: (a) Removing opacity collapse / binding support completely. Once we have general picture caching, we don’t need this. (b) Change visible_tiles to use Storage in the primitive scratch buffer. This will reduce the size of the visible_tiles field here, and save memory allocation when image tiling is used. I’ve left it as a Vec for now to reduce the number of changes, and because image tiling is very rare on real pages.
Fields§
§segment_instance_index: Index<SegmentedInstance>
§tight_local_clip_rect: LayoutRect
§visible_tiles: Vec<VisibleImageTile>
§src_color: Option<RenderTaskId>
Trait Implementations§
source§impl Debug for ImageInstance
impl Debug for ImageInstance
Auto Trait Implementations§
impl Freeze for ImageInstance
impl RefUnwindSafe for ImageInstance
impl Send for ImageInstance
impl Sync for ImageInstance
impl Unpin for ImageInstance
impl UnwindSafe for ImageInstance
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more