Split local state from Engine in iced_wgpu
This commit is contained in:
parent
4b075b9731
commit
576dd22733
22 changed files with 768 additions and 641 deletions
|
|
@ -407,8 +407,11 @@ impl compositor::Default for Renderer {
|
|||
}
|
||||
|
||||
impl renderer::Headless for Renderer {
|
||||
fn new(default_font: Font, default_text_size: Pixels) -> Self {
|
||||
Self::new(default_font, default_text_size)
|
||||
async fn new(
|
||||
default_font: Font,
|
||||
default_text_size: Pixels,
|
||||
) -> Option<Self> {
|
||||
Some(Self::new(default_font, default_text_size))
|
||||
}
|
||||
|
||||
fn screenshot(
|
||||
|
|
@ -420,11 +423,6 @@ impl renderer::Headless for Renderer {
|
|||
let viewport =
|
||||
Viewport::with_physical_size(size, f64::from(scale_factor));
|
||||
|
||||
window::compositor::screenshot::<&str>(
|
||||
self,
|
||||
&viewport,
|
||||
background_color,
|
||||
&[],
|
||||
)
|
||||
window::compositor::screenshot(self, &viewport, background_color)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -126,14 +126,13 @@ impl crate::graphics::Compositor for Compositor {
|
|||
)
|
||||
}
|
||||
|
||||
fn screenshot<T: AsRef<str>>(
|
||||
fn screenshot(
|
||||
&mut self,
|
||||
renderer: &mut Self::Renderer,
|
||||
viewport: &Viewport,
|
||||
background_color: Color,
|
||||
overlay: &[T],
|
||||
) -> Vec<u8> {
|
||||
screenshot(renderer, viewport, background_color, overlay)
|
||||
screenshot(renderer, viewport, background_color)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -219,11 +218,10 @@ pub fn present<T: AsRef<str>>(
|
|||
buffer.present().map_err(|_| compositor::SurfaceError::Lost)
|
||||
}
|
||||
|
||||
pub fn screenshot<T: AsRef<str>>(
|
||||
pub fn screenshot(
|
||||
renderer: &mut Renderer,
|
||||
viewport: &Viewport,
|
||||
background_color: Color,
|
||||
overlay: &[T],
|
||||
) -> Vec<u8> {
|
||||
let size = viewport.physical_size();
|
||||
|
||||
|
|
@ -233,7 +231,7 @@ pub fn screenshot<T: AsRef<str>>(
|
|||
let mut clip_mask = tiny_skia::Mask::new(size.width, size.height)
|
||||
.expect("Create clip mask");
|
||||
|
||||
renderer.draw(
|
||||
renderer.draw::<&str>(
|
||||
&mut tiny_skia::PixmapMut::from_bytes(
|
||||
bytemuck::cast_slice_mut(&mut offscreen_buffer),
|
||||
size.width,
|
||||
|
|
@ -247,7 +245,7 @@ pub fn screenshot<T: AsRef<str>>(
|
|||
size.height as f32,
|
||||
))],
|
||||
background_color,
|
||||
overlay,
|
||||
&[],
|
||||
);
|
||||
|
||||
offscreen_buffer.iter().fold(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue