pub struct CachedSurface {
pub current_descriptor: CachedSurfaceDescriptor,
pub prev_descriptor: CachedSurfaceDescriptor,
pub is_valid: bool,
pub local_valid_rect: PictureBox2D,
pub local_dirty_rect: PictureRect,
pub local_rect: PictureRect,
pub root: TileNode,
pub background_color: Option<ColorF>,
pub invalidation_reason: Option<InvalidationReason>,
pub sub_graphs: Vec<(PictureRect, Vec<(PictureCompositeMode, SurfaceIndex)>)>,
}Fields§
§current_descriptor: CachedSurfaceDescriptor§prev_descriptor: CachedSurfaceDescriptor§is_valid: bool§local_valid_rect: PictureBox2D§local_dirty_rect: PictureRect§local_rect: PictureRect§root: TileNode§background_color: Option<ColorF>§invalidation_reason: Option<InvalidationReason>§sub_graphs: Vec<(PictureRect, Vec<(PictureCompositeMode, SurfaceIndex)>)>Implementations§
Source§impl CachedSurface
impl CachedSurface
pub fn new() -> Self
pub fn print(&self, pt: &mut dyn PrintTreePrinter)
Sourcepub fn pre_update(
&mut self,
background_color: Option<ColorF>,
local_tile_rect: PictureRect,
frame_id: FrameId,
is_visible: bool,
)
pub fn pre_update( &mut self, background_color: Option<ColorF>, local_tile_rect: PictureRect, frame_id: FrameId, is_visible: bool, )
Setup state before primitive dependency calculation.
pub fn add_prim_dependency( &mut self, info: &PrimitiveDependencyInfo, corners_cache: &CornersCache, prim_clamp_to_tile: bool, local_raster_rect: &RasterRect, local_tile_rect: PictureRect, )
Sourcefn update_dirty_rects(
&mut self,
ctx: &TileUpdateDirtyContext<'_>,
state: &mut TileUpdateDirtyState<'_>,
invalidation_reason: &mut Option<InvalidationReason>,
frame_context: &FrameVisibilityContext<'_>,
) -> PictureRect
fn update_dirty_rects( &mut self, ctx: &TileUpdateDirtyContext<'_>, state: &mut TileUpdateDirtyState<'_>, invalidation_reason: &mut Option<InvalidationReason>, frame_context: &FrameVisibilityContext<'_>, ) -> PictureRect
Check if the content of the previous and current tile descriptors match
Sourcepub fn update_content_validity(
&mut self,
ctx: &TileUpdateDirtyContext<'_>,
state: &mut TileUpdateDirtyState<'_>,
frame_context: &FrameVisibilityContext<'_>,
)
pub fn update_content_validity( &mut self, ctx: &TileUpdateDirtyContext<'_>, state: &mut TileUpdateDirtyState<'_>, frame_context: &FrameVisibilityContext<'_>, )
Invalidate a tile based on change in content. This must be called even if the tile is not currently visible on screen. We might be able to improve this later by changing how ComparableVec is used.
Sourcepub fn invalidate(
&mut self,
invalidation_rect: Option<PictureRect>,
reason: InvalidationReason,
)
pub fn invalidate( &mut self, invalidation_rect: Option<PictureRect>, reason: InvalidationReason, )
Invalidate this tile. If invalidation_rect is None, the entire
tile is invalidated.
Auto Trait Implementations§
impl Freeze for CachedSurface
impl RefUnwindSafe for CachedSurface
impl Send for CachedSurface
impl Sync for CachedSurface
impl Unpin for CachedSurface
impl UnsafeUnpin for CachedSurface
impl UnwindSafe for CachedSurface
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