From d858a27f3c14895fbb5dd4ec4c2a5f0599f99ce8 Mon Sep 17 00:00:00 2001 From: Urho Laukkarinen Date: Sat, 27 Jul 2024 13:05:02 +0300 Subject: [PATCH] #72 Fixed egui gizmo rendering when viewport is NOTHING The default gizmo viewport is Rect::NOTHING. Egui gizmo replaces non-finite viewports with the clip rect. However, the non-finite viewport was being used for egui clipping even though the gizmo viewport was replaced. --- crates/transform-gizmo-egui/src/lib.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/crates/transform-gizmo-egui/src/lib.rs b/crates/transform-gizmo-egui/src/lib.rs index a2ac08f..a769827 100644 --- a/crates/transform-gizmo-egui/src/lib.rs +++ b/crates/transform-gizmo-egui/src/lib.rs @@ -66,11 +66,6 @@ impl GizmoExt for Gizmo { ) -> Option<(GizmoResult, Vec)> { let config = self.config(); - let egui_viewport = egui::Rect { - min: Pos2::new(config.viewport.min.x, config.viewport.min.y), - max: Pos2::new(config.viewport.max.x, config.viewport.max.y), - }; - let cursor_pos = ui .input(|input| input.pointer.hover_pos()) .unwrap_or_default(); @@ -80,6 +75,11 @@ impl GizmoExt for Gizmo { viewport = ui.clip_rect(); } + let egui_viewport = Rect { + min: Pos2::new(viewport.min.x, viewport.min.y), + max: Pos2::new(viewport.max.x, viewport.max.y), + }; + self.update_config(GizmoConfig { viewport, pixels_per_point: ui.ctx().pixels_per_point(),