Document geometry

Mikayla created

Change summary

crates/gpui/src/geometry.rs | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)

Detailed changes

crates/gpui/src/geometry.rs 🔗

@@ -31,11 +31,15 @@ impl Axis {
     }
 }
 
+/// A trait for accessing the given unit along a certain axis.
 pub trait Along {
+    /// The unit associated with this type
     type Unit;
 
+    /// Returns the unit along the given axis.
     fn along(&self, axis: Axis) -> Self::Unit;
 
+    /// Applies the given function to the unit along the given axis and returns a new value.
     fn apply_along(&self, axis: Axis, f: impl FnOnce(Self::Unit) -> Self::Unit) -> Self;
 }
 
@@ -55,7 +59,9 @@ pub trait Along {
 #[refineable(Debug)]
 #[repr(C)]
 pub struct Point<T: Default + Clone + Debug> {
+    /// The x coordinate of the point.
     pub x: T,
+    /// The y coordinate of the point.
     pub y: T,
 }
 
@@ -342,7 +348,9 @@ impl<T: Clone + Default + Debug> Clone for Point<T> {
 #[refineable(Debug)]
 #[repr(C)]
 pub struct Size<T: Clone + Default + Debug> {
+    /// The width component of the size.
     pub width: T,
+    /// The height component of the size.
     pub height: T,
 }
 
@@ -648,7 +656,9 @@ impl Size<Length> {
 #[refineable(Debug)]
 #[repr(C)]
 pub struct Bounds<T: Clone + Default + Debug> {
+    /// The origin point of this area.
     pub origin: Point<T>,
+    /// The size of the rectangle.
     pub size: Size<T>,
 }
 
@@ -1200,9 +1210,13 @@ impl<T: Clone + Debug + Copy + Default> Copy for Bounds<T> {}
 #[refineable(Debug)]
 #[repr(C)]
 pub struct Edges<T: Clone + Default + Debug> {
+    /// The size of the top edge.
     pub top: T,
+    /// The size of the right edge.
     pub right: T,
+    /// The size of the bottom edge.
     pub bottom: T,
+    /// The size of the left edge.
     pub left: T,
 }
 
@@ -1608,9 +1622,13 @@ impl From<f32> for Edges<Pixels> {
 #[refineable(Debug)]
 #[repr(C)]
 pub struct Corners<T: Clone + Default + Debug> {
+    /// The value associated with the top left corner.
     pub top_left: T,
+    /// The value associated with the top right corner.
     pub top_right: T,
+    /// The value associated with the bottom right corner.
     pub bottom_right: T,
+    /// The value associated with the bottom left corner.
     pub bottom_left: T,
 }