From 03b34931383e701c39c653a7662a616fe21a0947 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Thu, 14 Oct 2021 16:07:22 +0700 Subject: Remove trait-specific draw logic in `iced_native` --- glow/src/backend.rs | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'glow/src/backend.rs') diff --git a/glow/src/backend.rs b/glow/src/backend.rs index 9a9457cf..b8e4bd4b 100644 --- a/glow/src/backend.rs +++ b/glow/src/backend.rs @@ -5,10 +5,8 @@ use crate::{Settings, Transformation, Viewport}; use iced_graphics::backend; use iced_graphics::font; -use iced_graphics::Layer; -use iced_graphics::Primitive; +use iced_graphics::{Layer, Primitive}; use iced_native::alignment; -use iced_native::mouse; use iced_native::{Font, Size}; /// A [`glow`] graphics backend for [`iced`]. @@ -47,13 +45,13 @@ impl Backend { /// /// The text provided as overlay will be rendered on top of the primitives. /// This is useful for rendering debug information. - pub fn draw>( + pub fn present>( &mut self, gl: &glow::Context, + primitive: &Primitive, viewport: &Viewport, - (primitive, mouse_interaction): &(Primitive, mouse::Interaction), overlay_text: &[T], - ) -> mouse::Interaction { + ) { let viewport_size = viewport.physical_size(); let scale_factor = viewport.scale_factor() as f32; let projection = viewport.projection(); @@ -70,8 +68,6 @@ impl Backend { viewport_size.height, ); } - - *mouse_interaction } fn flush( -- cgit From 3a0c503db99eb3d45ac971132904df419ee566b6 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Thu, 14 Oct 2021 16:59:19 +0700 Subject: Implement `Widget::draw` for `Text` --- glow/src/backend.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'glow/src/backend.rs') diff --git a/glow/src/backend.rs b/glow/src/backend.rs index b8e4bd4b..9212761e 100644 --- a/glow/src/backend.rs +++ b/glow/src/backend.rs @@ -48,7 +48,7 @@ impl Backend { pub fn present>( &mut self, gl: &glow::Context, - primitive: &Primitive, + primitives: &[Primitive], viewport: &Viewport, overlay_text: &[T], ) { @@ -56,7 +56,7 @@ impl Backend { let scale_factor = viewport.scale_factor() as f32; let projection = viewport.projection(); - let mut layers = Layer::generate(primitive, viewport); + let mut layers = Layer::generate(primitives, viewport); layers.push(Layer::overlay(overlay_text, viewport)); for layer in layers { -- cgit From 687c35e052a1057042fc8ddf4968c3fa35cc6bcf Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Mon, 25 Oct 2021 16:24:26 +0700 Subject: Avoid flushing empty layers in `iced_wgpu` and `iced_glow` --- glow/src/backend.rs | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'glow/src/backend.rs') diff --git a/glow/src/backend.rs b/glow/src/backend.rs index 9212761e..5ab7f922 100644 --- a/glow/src/backend.rs +++ b/glow/src/backend.rs @@ -79,6 +79,11 @@ impl Backend { target_height: u32, ) { let mut bounds = (layer.bounds * scale_factor).snap(); + + if bounds.width < 1 || bounds.height < 1 { + return; + } + bounds.height = bounds.height.min(target_height); if !layer.quads.is_empty() { -- cgit From 0aafcde0ef1533c9eeba0379de8c0082e30c7504 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Sun, 31 Oct 2021 15:35:12 +0700 Subject: Remove `widget` module re-exports in `iced_native` --- glow/src/backend.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'glow/src/backend.rs') diff --git a/glow/src/backend.rs b/glow/src/backend.rs index 5ab7f922..89f8db9b 100644 --- a/glow/src/backend.rs +++ b/glow/src/backend.rs @@ -237,7 +237,10 @@ impl backend::Text for Backend { #[cfg(feature = "image")] impl backend::Image for Backend { - fn dimensions(&self, _handle: &iced_native::image::Handle) -> (u32, u32) { + fn dimensions( + &self, + _handle: &iced_native::widget::image::Handle, + ) -> (u32, u32) { (50, 50) } } @@ -246,7 +249,7 @@ impl backend::Image for Backend { impl backend::Svg for Backend { fn viewport_dimensions( &self, - _handle: &iced_native::svg::Handle, + _handle: &iced_native::widget::svg::Handle, ) -> (u32, u32) { (50, 50) } -- cgit From c4186a71b746b603984e5fe1926a8cef6e8dcfcb Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Sun, 31 Oct 2021 16:20:50 +0700 Subject: Introduce first-class `image` module in `iced_native` --- glow/src/backend.rs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'glow/src/backend.rs') diff --git a/glow/src/backend.rs b/glow/src/backend.rs index 89f8db9b..337d2e17 100644 --- a/glow/src/backend.rs +++ b/glow/src/backend.rs @@ -237,10 +237,7 @@ impl backend::Text for Backend { #[cfg(feature = "image")] impl backend::Image for Backend { - fn dimensions( - &self, - _handle: &iced_native::widget::image::Handle, - ) -> (u32, u32) { + fn dimensions(&self, _handle: &iced_native::image::Handle) -> (u32, u32) { (50, 50) } } -- cgit From 9a3c81f336b8e29c64471026860f3c9d8b56348c Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Sun, 31 Oct 2021 16:24:31 +0700 Subject: Introduce first-class `svg` module in `iced_native` --- glow/src/backend.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'glow/src/backend.rs') diff --git a/glow/src/backend.rs b/glow/src/backend.rs index 337d2e17..5ab7f922 100644 --- a/glow/src/backend.rs +++ b/glow/src/backend.rs @@ -246,7 +246,7 @@ impl backend::Image for Backend { impl backend::Svg for Backend { fn viewport_dimensions( &self, - _handle: &iced_native::widget::svg::Handle, + _handle: &iced_native::svg::Handle, ) -> (u32, u32) { (50, 50) } -- cgit