pub struct Pipeline {
pub prev_ir: Option<CoreIR>,
pub last_snapshot: Option<LayoutSnapshot>,
pub paint_cache: HashMap<WidgetId, (u64, DisplayList)>,
pub last_scroll_offsets: HashMap<WidgetId, u32>,
pub video_surfaces: Vec<VideoSurfaceFrame>,
pub web_surfaces: Vec<WebSurfaceFrame>,
pub scene_3d_surfaces: Vec<(WidgetId, LayoutRect, Vec<u8>)>,
pub last_viewport: Option<LayoutRect>,
pub layout_invariant_violation_count: u32,
pub layout_full_rebuild_count: u32,
/* private fields */
}Fields§
§prev_ir: Option<CoreIR>§last_snapshot: Option<LayoutSnapshot>§paint_cache: HashMap<WidgetId, (u64, DisplayList)>§last_scroll_offsets: HashMap<WidgetId, u32>§video_surfaces: Vec<VideoSurfaceFrame>§web_surfaces: Vec<WebSurfaceFrame>§scene_3d_surfaces: Vec<(WidgetId, LayoutRect, Vec<u8>)>§last_viewport: Option<LayoutRect>§layout_invariant_violation_count: u32§layout_full_rebuild_count: u32Implementations§
Source§impl Pipeline
impl Pipeline
pub fn new() -> Self
pub fn take_video_surfaces(&mut self) -> Vec<VideoSurfaceFrame>
pub fn take_web_surfaces(&mut self) -> Vec<WebSurfaceFrame>
pub fn invalidate_layout_all(&mut self)
pub fn replace_ir(&mut self, next_ir: CoreIR, env: &Env) -> InvalidationSet
pub fn classify_animation_updates( &self, changed: &[(WidgetId, AnimationPropertyId)], ) -> InvalidationSet
pub fn ensure_layout( &mut self, viewport: LayoutRect, layout_engine: &mut LayoutEngine, scroll_map: &ScrollStateMap, ) -> Result<usize>
pub fn prepare_current( &mut self, render_viewport_size: LayoutSize, layout_viewport_size: LayoutSize, resize_preview: bool, scroll_map: &ScrollStateMap, animation_map: &AnimationStateMap, video_map: &VideoStateMap, web_map: &WebStateMap, ) -> Result<PipelineStats>
pub fn render_current( &mut self, render_viewport_size: LayoutSize, layout_viewport_size: LayoutSize, resize_preview: bool, renderer: &mut dyn Renderer, scroll_map: &ScrollStateMap, animation_map: &AnimationStateMap, video_map: &VideoStateMap, web_map: &WebStateMap, ) -> Result<PipelineStats>
pub fn render( &mut self, next_ir: CoreIR, viewport_size: LayoutSize, layout_engine: &mut LayoutEngine, scroll_map: &ScrollStateMap, renderer: &mut dyn Renderer, video_map: &VideoStateMap, web_map: &WebStateMap, env: &Env, ) -> Result<PipelineStats>
pub fn retained_scene(&self) -> Option<&RenderScene>
pub fn texture_compositor_plans(&self) -> &[CompositorTexturePlan]
pub fn texture_compositor_root_transform(&self) -> Option<[f32; 16]>
Trait Implementations§
Source§impl SnapshotProvider for Pipeline
impl SnapshotProvider for Pipeline
fn snapshot(&self, kind: SnapshotKind) -> Option<SnapshotBlob>
Auto Trait Implementations§
impl Freeze for Pipeline
impl !RefUnwindSafe for Pipeline
impl Send for Pipeline
impl Sync for Pipeline
impl Unpin for Pipeline
impl UnsafeUnpin for Pipeline
impl !UnwindSafe for Pipeline
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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