From 1dae45c58d7eabeda21ef490d712915890bf6cff Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Mon, 17 Jun 2024 09:16:28 +0300 Subject: Refactor layout to fractional-logical Lets borders, gaps, and everything else stay pixel-perfect even with fractional scale. Allows setting fractional border widths, gaps, struts. See the new wiki .md for more details. --- src/render_helpers/shader_element.rs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'src/render_helpers/shader_element.rs') diff --git a/src/render_helpers/shader_element.rs b/src/render_helpers/shader_element.rs index a432ca34..ebd9b1ec 100644 --- a/src/render_helpers/shader_element.rs +++ b/src/render_helpers/shader_element.rs @@ -23,8 +23,8 @@ pub struct ShaderRenderElement { program: ProgramType, id: Id, commit_counter: CommitCounter, - area: Rectangle, - opaque_regions: Vec>, + area: Rectangle, + opaque_regions: Vec>, alpha: f32, additional_uniforms: Vec>, textures: HashMap, @@ -198,8 +198,8 @@ impl ShaderRenderElement { #[allow(clippy::too_many_arguments)] pub fn new( program: ProgramType, - size: Size, - opaque_regions: Option>>, + size: Size, + opaque_regions: Option>>, alpha: f32, uniforms: Vec>, textures: HashMap, @@ -209,7 +209,7 @@ impl ShaderRenderElement { program, id: Id::new(), commit_counter: CommitCounter::default(), - area: Rectangle::from_loc_and_size((0, 0), size), + area: Rectangle::from_loc_and_size((0., 0.), size), opaque_regions: opaque_regions.unwrap_or_default(), alpha, additional_uniforms: uniforms.into_iter().map(|u| u.into_owned()).collect(), @@ -238,8 +238,8 @@ impl ShaderRenderElement { pub fn update( &mut self, - size: Size, - opaque_regions: Option>>, + size: Size, + opaque_regions: Option>>, uniforms: Vec>, textures: HashMap, ) { @@ -251,7 +251,7 @@ impl ShaderRenderElement { self.commit_counter.increment(); } - pub fn with_location(mut self, location: Point) -> Self { + pub fn with_location(mut self, location: Point) -> Self { self.area.loc = location; self } @@ -277,7 +277,7 @@ impl Element for ShaderRenderElement { fn opaque_regions(&self, scale: Scale) -> OpaqueRegions { self.opaque_regions .iter() - .map(|region| region.to_physical_precise_round(scale)) + .map(|region| region.to_physical_precise_down(scale)) .collect() } -- cgit