diff --git a/gpui/src/elements/container.rs b/gpui/src/elements/container.rs index eeda6f206d..abbafe4d03 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 3b28409f9f..2cc01c3080 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 f4d409ae5d..31ec57354a 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))