diff --git a/emigui/src/containers/collapsing_header.rs b/emigui/src/containers/collapsing_header.rs index 91eb8914..3271a598 100644 --- a/emigui/src/containers/collapsing_header.rs +++ b/emigui/src/containers/collapsing_header.rs @@ -138,7 +138,7 @@ fn paint_icon(region: &mut Region, state: &State, interact: &InteractInfo) { let stroke_color = region.style().interact_stroke_color(&interact); let stroke_width = region.style().interact_stroke_width(&interact); - let (mut small_icon_rect, _) = region.style().icon_rectangles(&interact.rect); + let (mut small_icon_rect, _) = region.style().icon_rectangles(interact.rect); small_icon_rect.set_center(pos2( interact.rect.left() + region.style().indent / 2.0, interact.rect.center().y, diff --git a/emigui/src/containers/floating.rs b/emigui/src/containers/floating.rs index c91985c3..c47323f0 100644 --- a/emigui/src/containers/floating.rs +++ b/emigui/src/containers/floating.rs @@ -78,7 +78,7 @@ impl Floating { let rect = Rect::from_min_size(state.pos, state.size); let clip_rect = Rect::everything(); - let move_interact = ctx.interact(layer, &clip_rect, &rect, Some(id.with("move"))); + let move_interact = ctx.interact(layer, clip_rect, rect, Some(id.with("move"))); let input = ctx.input(); if move_interact.active { diff --git a/emigui/src/containers/resize.rs b/emigui/src/containers/resize.rs index 44e8218b..c059b8bf 100644 --- a/emigui/src/containers/resize.rs +++ b/emigui/src/containers/resize.rs @@ -160,7 +160,7 @@ impl Resize { position + state.size + self.handle_offset - corner_size, corner_size, ); - let corner_interact = region.interact_rect(&corner_rect, id.with("corner")); + let corner_interact = region.interact_rect(corner_rect, id.with("corner")); if corner_interact.active { if let Some(mouse_pos) = region.input().mouse_pos { @@ -181,7 +181,7 @@ impl Resize { let desired_size = { let mut content_clip_rect = region .clip_rect() - .intersect(&inner_rect.expand(region.style().clip_rect_margin)); + .intersect(inner_rect.expand(region.style().clip_rect_margin)); // If we pull the resize handle to shrink, we want to TRY to shink it. // After laying out the contents, we might be much bigger. diff --git a/emigui/src/containers/scroll_area.rs b/emigui/src/containers/scroll_area.rs index 8e32d5d7..7c818452 100644 --- a/emigui/src/containers/scroll_area.rs +++ b/emigui/src/containers/scroll_area.rs @@ -80,7 +80,7 @@ impl ScrollArea { outer_region.cursor() - state.offset, vec2(inner_size.x, f32::INFINITY), )); - let mut content_clip_rect = outer_region.clip_rect().intersect(&inner_rect); + let mut content_clip_rect = outer_region.clip_rect().intersect(inner_rect); content_clip_rect.max.x = outer_region.clip_rect().max.x - current_scroll_bar_width; // Nice handling of forced resizing beyond the possible content_region.set_clip_rect(content_clip_rect); @@ -100,14 +100,14 @@ impl ScrollArea { inner_rect.size() + vec2(current_scroll_bar_width, 0.0), ); - let content_interact = outer_region.interact_rect(&inner_rect, scroll_area_id.with("area")); + let content_interact = outer_region.interact_rect(inner_rect, scroll_area_id.with("area")); if content_interact.active { // Dragging scroll area to scroll: state.offset.y -= ctx.input().mouse_move.y; } // TODO: check that nothing else is being inteacted with - if outer_region.contains_mouse(&outer_rect) && ctx.memory().active_id.is_none() { + if outer_region.contains_mouse(outer_rect) && ctx.memory().active_id.is_none() { state.offset.y -= ctx.input().scroll_delta.y; } @@ -134,7 +134,7 @@ impl ScrollArea { // intentionally use same id for inside and outside of handle let interact_id = scroll_area_id.with("vertical"); - let handle_interact = outer_region.interact_rect(&handle_rect, interact_id); + let handle_interact = outer_region.interact_rect(handle_rect, interact_id); if let Some(mouse_pos) = ctx.input().mouse_pos { if handle_interact.active { @@ -145,7 +145,7 @@ impl ScrollArea { } else { // Check for mouse down outside handle: let scroll_bg_interact = - outer_region.interact_rect(&outer_scroll_rect, interact_id); + outer_region.interact_rect(outer_scroll_rect, interact_id); if scroll_bg_interact.active { // Center scroll at mouse pos: diff --git a/emigui/src/context.rs b/emigui/src/context.rs index 123cdfc2..b3f23894 100644 --- a/emigui/src/context.rs +++ b/emigui/src/context.rs @@ -185,7 +185,7 @@ impl Context { } } - pub fn contains_mouse(&self, layer: Layer, clip_rect: &Rect, rect: &Rect) -> bool { + pub fn contains_mouse(&self, layer: Layer, clip_rect: Rect, rect: Rect) -> bool { let rect = rect.intersect(clip_rect); if let Some(mouse_pos) = self.input.mouse_pos { rect.contains(mouse_pos) && layer == self.memory().layer_at(mouse_pos) @@ -197,11 +197,11 @@ impl Context { pub fn interact( &self, layer: Layer, - clip_rect: &Rect, - rect: &Rect, + clip_rect: Rect, + rect: Rect, interaction_id: Option, ) -> InteractInfo { - let hovered = self.contains_mouse(layer, clip_rect, &rect); + let hovered = self.contains_mouse(layer, clip_rect, rect); let mut memory = self.memory(); let active = interaction_id.is_some() && memory.active_id == interaction_id; @@ -211,7 +211,7 @@ impl Context { if memory.active_id.is_some() { // Already clicked something else this frame InteractInfo { - rect: *rect, + rect, hovered, clicked: false, active: false, @@ -219,7 +219,7 @@ impl Context { } else { memory.active_id = interaction_id; InteractInfo { - rect: *rect, + rect, hovered, clicked: false, active: true, @@ -227,7 +227,7 @@ impl Context { } } else { InteractInfo { - rect: *rect, + rect, hovered, clicked: false, active: false, @@ -235,21 +235,21 @@ impl Context { } } else if self.input.mouse_released { InteractInfo { - rect: *rect, + rect, hovered, clicked: hovered && active, active, } } else if self.input.mouse_down { InteractInfo { - rect: *rect, + rect, hovered: hovered && active, clicked: false, active, } } else { InteractInfo { - rect: *rect, + rect, hovered, clicked: false, active, @@ -263,7 +263,7 @@ impl Context { let text_style = TextStyle::Monospace; let font = &self.fonts[text_style]; let (text, size) = font.layout_multiline(text, f32::INFINITY); - let rect = align_rect(&Rect::from_min_size(pos, size), align); + let rect = align_rect(Rect::from_min_size(pos, size), align); self.add_paint_cmd( layer, PaintCmd::Rect { @@ -302,7 +302,7 @@ impl Context { ) -> Vec2 { let font = &self.fonts[text_style]; let (text, size) = font.layout_multiline(text, f32::INFINITY); - let rect = align_rect(&Rect::from_min_size(pos, size), align); + let rect = align_rect(Rect::from_min_size(pos, size), align); self.add_text(layer, rect.min, text_style, text, text_color); size } diff --git a/emigui/src/example_app.rs b/emigui/src/example_app.rs index 97ff4d99..d97abd95 100644 --- a/emigui/src/example_app.rs +++ b/emigui/src/example_app.rs @@ -216,7 +216,7 @@ impl Painting { region.add_custom_contents(vec2(f32::INFINITY, 200.0), |region| { let canvas_corner = region.cursor(); let interact = region.reserve_space(region.available_space(), Some(region.id())); - region.set_clip_rect(region.clip_rect().intersect(&interact.rect)); // Make sure we don't paint out of bounds + region.set_clip_rect(region.clip_rect().intersect(interact.rect)); // Make sure we don't paint out of bounds if self.lines.is_empty() { self.lines.push(vec![]); diff --git a/emigui/src/layout.rs b/emigui/src/layout.rs index 6022c54e..340f8131 100644 --- a/emigui/src/layout.rs +++ b/emigui/src/layout.rs @@ -76,7 +76,7 @@ impl Default for Align { } } -pub fn align_rect(rect: &Rect, align: (Align, Align)) -> Rect { +pub fn align_rect(rect: Rect, align: (Align, Align)) -> Rect { let x = match align.0 { Align::Min => rect.left(), Align::Center => rect.left() - 0.5 * rect.width(), diff --git a/emigui/src/math.rs b/emigui/src/math.rs index 5ea03ce7..9ff3cb5f 100644 --- a/emigui/src/math.rs +++ b/emigui/src/math.rs @@ -376,7 +376,7 @@ impl Rect { } #[must_use] - pub fn intersect(self, other: &Rect) -> Self { + pub fn intersect(self, other: Rect) -> Self { Self { min: self.min.max(other.min), max: self.max.min(other.max), diff --git a/emigui/src/mesher.rs b/emigui/src/mesher.rs index 7315bd8a..ef7794b7 100644 --- a/emigui/src/mesher.rs +++ b/emigui/src/mesher.rs @@ -178,7 +178,7 @@ impl Path { ); } - pub fn add_rectangle(&mut self, rect: &Rect) { + pub fn add_rectangle(&mut self, rect: Rect) { let min = rect.min; let max = rect.max; self.add_point(pos2(min.x, min.y), vec2(-1.0, -1.0)); @@ -187,7 +187,7 @@ impl Path { self.add_point(pos2(min.x, max.y), vec2(-1.0, 1.0)); } - pub fn add_rounded_rectangle(&mut self, rect: &Rect, corner_radius: f32) { + pub fn add_rounded_rectangle(&mut self, rect: Rect, corner_radius: f32) { let min = rect.min; let max = rect.max; @@ -467,7 +467,7 @@ pub fn mesh_command( rect, } => { let mut path = Path::default(); - path.add_rounded_rectangle(&rect, corner_radius); + path.add_rounded_rectangle(rect, corner_radius); if let Some(fill_color) = fill_color { fill_closed_path(out_mesh, options, &path.0, fill_color); } diff --git a/emigui/src/region.rs b/emigui/src/region.rs index 2d05ff50..aef1fb7d 100644 --- a/emigui/src/region.rs +++ b/emigui/src/region.rs @@ -235,8 +235,8 @@ impl Region { // ------------------------------------------------------------------------ - pub fn contains_mouse(&self, rect: &Rect) -> bool { - self.ctx.contains_mouse(self.layer, &self.clip_rect, rect) + pub fn contains_mouse(&self, rect: Rect) -> bool { + self.ctx.contains_mouse(self.layer, self.clip_rect, rect) } pub fn has_kb_focus(&self, id: Id) -> bool { @@ -277,12 +277,12 @@ impl Region { /// Check for clicks on this entire region (rect()) pub fn interact_whole(&self) -> InteractInfo { - self.interact_rect(&self.rect(), self.id) + self.interact_rect(self.rect(), self.id) } - pub fn interact_rect(&self, rect: &Rect, id: Id) -> InteractInfo { + pub fn interact_rect(&self, rect: Rect, id: Id) -> InteractInfo { self.ctx - .interact(self.layer, &self.clip_rect, rect, Some(id)) + .interact(self.layer, self.clip_rect, rect, Some(id)) } pub fn response(&mut self, interact: InteractInfo) -> GuiResponse { @@ -356,7 +356,7 @@ impl Region { } self.ctx - .interact(self.layer, &self.clip_rect, &rect, interaction_id) + .interact(self.layer, self.clip_rect, rect, interaction_id) } /// Reserve this much space and move the cursor. @@ -442,7 +442,7 @@ impl Region { ) -> Vec2 { let font = &self.fonts()[text_style]; let (text, size) = font.layout_multiline(text, f32::INFINITY); - let rect = align_rect(&Rect::from_min_size(pos, size), align); + let rect = align_rect(Rect::from_min_size(pos, size), align); self.add_text(rect.min, text_style, text, text_color); size } diff --git a/emigui/src/style.rs b/emigui/src/style.rs index fd5d3d80..b887ade5 100644 --- a/emigui/src/style.rs +++ b/emigui/src/style.rs @@ -147,7 +147,7 @@ impl Style { } /// Returns small icon rectangle and big icon rectangle - pub fn icon_rectangles(&self, rect: &Rect) -> (Rect, Rect) { + pub fn icon_rectangles(&self, rect: Rect) -> (Rect, Rect) { let box_side = self.start_icon_width; let big_icon_rect = Rect::from_center_size( pos2(rect.left() + box_side / 2.0, rect.center().y), diff --git a/emigui/src/widgets.rs b/emigui/src/widgets.rs index 5804b367..ee5d5cda 100644 --- a/emigui/src/widgets.rs +++ b/emigui/src/widgets.rs @@ -218,7 +218,7 @@ impl<'a> Widget for Checkbox<'a> { if interact.clicked { *self.checked = !*self.checked; } - let (small_icon_rect, big_icon_rect) = region.style().icon_rectangles(&interact.rect); + let (small_icon_rect, big_icon_rect) = region.style().icon_rectangles(interact.rect); region.add_paint_cmd(PaintCmd::Rect { corner_radius: 3.0, fill_color: region.style().interact_fill_color(&interact), @@ -294,7 +294,7 @@ impl Widget for RadioButton { let fill_color = region.style().interact_fill_color(&interact); let stroke_color = region.style().interact_stroke_color(&interact); - let (small_icon_rect, big_icon_rect) = region.style().icon_rectangles(&interact.rect); + let (small_icon_rect, big_icon_rect) = region.style().icon_rectangles(interact.rect); region.add_paint_cmd(PaintCmd::Circle { center: big_icon_rect.center(), diff --git a/emigui_glium/src/painter.rs b/emigui_glium/src/painter.rs index 1d19148a..b431c410 100644 --- a/emigui_glium/src/painter.rs +++ b/emigui_glium/src/painter.rs @@ -221,7 +221,7 @@ impl Painter { let mut target = display.draw(); target.clear_color(0.0, 0.0, 0.0, 0.0); for (clip_rect, mesh) in batches { - self.paint_batch(&mut target, display, &clip_rect, &mesh, texture) + self.paint_batch(&mut target, display, clip_rect, &mesh, texture) } target.finish().unwrap(); } @@ -231,7 +231,7 @@ impl Painter { &mut self, target: &mut Frame, display: &glium::Display, - clip_rect: &Rect, + clip_rect: Rect, mesh: &Mesh, texture: &emigui::Texture, ) {