Enum webrender::composite::CompositorConfig
source · pub enum CompositorConfig {
Draw {
max_partial_present_rects: usize,
draw_previous_partial_present_regions: bool,
partial_present: Option<Box<dyn PartialPresentCompositor>>,
},
Native {
compositor: Box<dyn Compositor>,
},
}
Expand description
Public interface specified in WebRenderOptions
that configures
how WR compositing will operate.
Variants§
Draw
Let WR draw tiles via normal batching. This requires no special OS support.
Fields
max_partial_present_rects: usize
If this is zero, a full screen present occurs at the end of the frame. This is the simplest and default mode. If this is non-zero, then the operating system supports a form of ‘partial present’ where only dirty regions of the framebuffer need to be updated.
draw_previous_partial_present_regions: bool
If this is true, WR must draw the previous frames’ dirty regions when doing a partial present. This is used for EGL which requires the front buffer to always be fully consistent.
partial_present: Option<Box<dyn PartialPresentCompositor>>
A client provided interface to a compositor handling partial present. Required if webrender must query the backbuffer’s age.
Native
Use a native OS compositor to draw tiles. This requires clients to implement the Compositor trait, but can be significantly more power efficient on operating systems that support it.
Fields
compositor: Box<dyn Compositor>
A client provided interface to a native / OS compositor.
Implementations§
source§impl CompositorConfig
impl CompositorConfig
pub fn compositor(&mut self) -> Option<&mut Box<dyn Compositor>>
pub fn partial_present( &mut self, ) -> Option<&mut Box<dyn PartialPresentCompositor>>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for CompositorConfig
impl !RefUnwindSafe for CompositorConfig
impl !Send for CompositorConfig
impl !Sync for CompositorConfig
impl Unpin for CompositorConfig
impl !UnwindSafe for CompositorConfig
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
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>
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>
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