From a7c4ae530d5837980c5c4b67bf3a2e44afc8666f Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Mon, 9 Oct 2023 12:31:22 -0400 Subject: [PATCH] Update `gpui3_macros::style_helpers!` based on its `gpui2` equivalent --- crates/gpui3/src/geometry.rs | 10 +- crates/gpui3/src/style_helpers.rs | 20 -- crates/gpui3_macros/src/style_helpers.rs | 282 +++++++++++++++-------- 3 files changed, 187 insertions(+), 125 deletions(-) diff --git a/crates/gpui3/src/geometry.rs b/crates/gpui3/src/geometry.rs index 93d7dd2a0804604e7bbe5886c22df1d91a2619f5..c16d48859c66c05b81ccb04ee27509c049dd6ae8 100644 --- a/crates/gpui3/src/geometry.rs +++ b/crates/gpui3/src/geometry.rs @@ -1,5 +1,5 @@ use core::fmt::Debug; -use derive_more::{Add, AddAssign, Div, Mul, Sub, SubAssign}; +use derive_more::{Add, AddAssign, Div, Mul, Neg, Sub, SubAssign}; use refineable::Refineable; use std::{ cmp, fmt, @@ -560,7 +560,7 @@ impl, S: Clone> MulAssign for Corners Copy for Corners {} -#[derive(Clone, Copy, Default, Add, AddAssign, Sub, SubAssign, Div, PartialEq, PartialOrd)] +#[derive(Clone, Copy, Default, Add, AddAssign, Sub, SubAssign, Div, Neg, PartialEq, PartialOrd)] #[repr(transparent)] pub struct Pixels(pub(crate) f32); @@ -770,7 +770,7 @@ impl From for GlobalPixels { } } -#[derive(Clone, Copy, Default, Add, Sub, Mul, Div)] +#[derive(Clone, Copy, Default, Add, Sub, Mul, Div, Neg)] pub struct Rems(f32); impl Mul for Rems { @@ -787,7 +787,7 @@ impl Debug for Rems { } } -#[derive(Clone, Copy, Debug)] +#[derive(Clone, Copy, Debug, Neg)] pub enum AbsoluteLength { Pixels(Pixels), Rems(Rems), @@ -830,7 +830,7 @@ impl Default for AbsoluteLength { } /// A non-auto length that can be defined in pixels, rems, or percent of parent. -#[derive(Clone, Copy)] +#[derive(Clone, Copy, Neg)] pub enum DefiniteLength { Absolute(AbsoluteLength), /// A fraction of the parent's size between 0 and 1. diff --git a/crates/gpui3/src/style_helpers.rs b/crates/gpui3/src/style_helpers.rs index 6264ca73c2c3023c9723c508d2ffa264cce838f0..fdcdada72660469af450516cee04ae8ee0231b85 100644 --- a/crates/gpui3/src/style_helpers.rs +++ b/crates/gpui3/src/style_helpers.rs @@ -8,26 +8,6 @@ use smallvec::smallvec; pub trait StyleHelpers: Sized + Styled