Introduce iced_sentinel and iced_debug crates
This commit is contained in:
parent
58a7007ac1
commit
dd36893f7a
26 changed files with 543 additions and 567 deletions
|
|
@ -31,7 +31,7 @@ impl Backend {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn draw<T: AsRef<str>>(
|
||||
pub fn draw(
|
||||
&mut self,
|
||||
pixels: &mut tiny_skia::PixmapMut<'_>,
|
||||
clip_mask: &mut tiny_skia::Mask,
|
||||
|
|
@ -39,38 +39,9 @@ impl Backend {
|
|||
viewport: &Viewport,
|
||||
damage: &[Rectangle],
|
||||
background_color: Color,
|
||||
overlay: &[T],
|
||||
) {
|
||||
let physical_size = viewport.physical_size();
|
||||
let scale_factor = viewport.scale_factor() as f32;
|
||||
|
||||
if !overlay.is_empty() {
|
||||
let path = tiny_skia::PathBuilder::from_rect(
|
||||
tiny_skia::Rect::from_xywh(
|
||||
0.0,
|
||||
0.0,
|
||||
physical_size.width as f32,
|
||||
physical_size.height as f32,
|
||||
)
|
||||
.expect("Create damage rectangle"),
|
||||
);
|
||||
|
||||
pixels.fill_path(
|
||||
&path,
|
||||
&tiny_skia::Paint {
|
||||
shader: tiny_skia::Shader::SolidColor(into_color(Color {
|
||||
a: 0.1,
|
||||
..background_color
|
||||
})),
|
||||
anti_alias: false,
|
||||
..Default::default()
|
||||
},
|
||||
tiny_skia::FillRule::default(),
|
||||
tiny_skia::Transform::identity(),
|
||||
None,
|
||||
);
|
||||
}
|
||||
|
||||
for ®ion in damage {
|
||||
let path = tiny_skia::PathBuilder::from_rect(
|
||||
tiny_skia::Rect::from_xywh(
|
||||
|
|
@ -109,25 +80,6 @@ impl Backend {
|
|||
Transformation::IDENTITY,
|
||||
);
|
||||
}
|
||||
|
||||
if !overlay.is_empty() {
|
||||
pixels.stroke_path(
|
||||
&path,
|
||||
&tiny_skia::Paint {
|
||||
shader: tiny_skia::Shader::SolidColor(into_color(
|
||||
Color::from_rgb(1.0, 0.0, 0.0),
|
||||
)),
|
||||
anti_alias: false,
|
||||
..tiny_skia::Paint::default()
|
||||
},
|
||||
&tiny_skia::Stroke {
|
||||
width: 1.0,
|
||||
..tiny_skia::Stroke::default()
|
||||
},
|
||||
tiny_skia::Transform::identity(),
|
||||
None,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
self.text_pipeline.trim_cache();
|
||||
|
|
|
|||
|
|
@ -95,43 +95,27 @@ impl crate::graphics::Compositor for Compositor {
|
|||
}
|
||||
}
|
||||
|
||||
fn present<T: AsRef<str>>(
|
||||
fn present(
|
||||
&mut self,
|
||||
renderer: &mut Self::Renderer,
|
||||
surface: &mut Self::Surface,
|
||||
viewport: &Viewport,
|
||||
background_color: Color,
|
||||
overlay: &[T],
|
||||
) -> Result<(), compositor::SurfaceError> {
|
||||
renderer.with_primitives(|backend, primitives| {
|
||||
present(
|
||||
backend,
|
||||
surface,
|
||||
primitives,
|
||||
viewport,
|
||||
background_color,
|
||||
overlay,
|
||||
)
|
||||
present(backend, surface, primitives, viewport, background_color)
|
||||
})
|
||||
}
|
||||
|
||||
fn screenshot<T: AsRef<str>>(
|
||||
fn screenshot(
|
||||
&mut self,
|
||||
renderer: &mut Self::Renderer,
|
||||
surface: &mut Self::Surface,
|
||||
viewport: &Viewport,
|
||||
background_color: Color,
|
||||
overlay: &[T],
|
||||
) -> Vec<u8> {
|
||||
renderer.with_primitives(|backend, primitives| {
|
||||
screenshot(
|
||||
surface,
|
||||
backend,
|
||||
primitives,
|
||||
viewport,
|
||||
background_color,
|
||||
overlay,
|
||||
)
|
||||
screenshot(surface, backend, primitives, viewport, background_color)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
@ -147,13 +131,12 @@ pub fn new<W: compositor::Window>(
|
|||
Compositor { context, settings }
|
||||
}
|
||||
|
||||
pub fn present<T: AsRef<str>>(
|
||||
pub fn present(
|
||||
backend: &mut Backend,
|
||||
surface: &mut Surface,
|
||||
primitives: &[Primitive],
|
||||
viewport: &Viewport,
|
||||
background_color: Color,
|
||||
overlay: &[T],
|
||||
) -> Result<(), compositor::SurfaceError> {
|
||||
let physical_size = viewport.physical_size();
|
||||
let scale_factor = viewport.scale_factor() as f32;
|
||||
|
|
@ -206,19 +189,17 @@ pub fn present<T: AsRef<str>>(
|
|||
viewport,
|
||||
&damage,
|
||||
background_color,
|
||||
overlay,
|
||||
);
|
||||
|
||||
buffer.present().map_err(|_| compositor::SurfaceError::Lost)
|
||||
}
|
||||
|
||||
pub fn screenshot<T: AsRef<str>>(
|
||||
pub fn screenshot(
|
||||
surface: &mut Surface,
|
||||
backend: &mut Backend,
|
||||
primitives: &[Primitive],
|
||||
viewport: &Viewport,
|
||||
background_color: Color,
|
||||
overlay: &[T],
|
||||
) -> Vec<u8> {
|
||||
let size = viewport.physical_size();
|
||||
|
||||
|
|
@ -240,7 +221,6 @@ 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