diff --git a/gpui/src/elements/container.rs b/gpui/src/elements/container.rs index eeda6f206d139c210259744f9604fb30f90d1fae..abbafe4d034e76926ff79f794a286a24a727d927 100644 --- a/gpui/src/elements/container.rs +++ b/gpui/src/elements/container.rs @@ -348,6 +348,17 @@ enum Spacing { }, } +impl Padding { + pub fn uniform(padding: f32) -> Self { + Self { + top: padding, + left: padding, + bottom: padding, + right: padding, + } + } +} + impl ToJson for Padding { fn to_json(&self) -> serde_json::Value { let mut value = json!({}); diff --git a/gpui/src/elements/mouse_event_handler.rs b/gpui/src/elements/mouse_event_handler.rs index 3b28409f9fa7ee67d90401bb40357ca012558b24..2cc01c3080f22a7d3587dd4750879ee8287dc5a8 100644 --- a/gpui/src/elements/mouse_event_handler.rs +++ b/gpui/src/elements/mouse_event_handler.rs @@ -116,7 +116,8 @@ impl Element for MouseEventHandler { let hit_bounds = RectF::from_points( bounds.origin() - vec2f(self.padding.left, self.padding.top), bounds.lower_right() + vec2f(self.padding.right, self.padding.bottom), - ); + ) + .round_out(); self.state.update(cx, |state, cx| match event { Event::MouseMoved { diff --git a/zed/src/workspace/pane.rs b/zed/src/workspace/pane.rs index f4d409ae5df489295d61633a124fc1fe193e8b94..31ec57354ad131f8542f211c5ee88cfb2520ad8f 100644 --- a/zed/src/workspace/pane.rs +++ b/zed/src/workspace/pane.rs @@ -292,6 +292,7 @@ impl Pane { } }, ) + .with_padding(Padding::uniform(4.)) .with_cursor_style(CursorStyle::PointingHand) .on_click(move |cx| { cx.dispatch_action(CloseItem(item_id))