From 508a240632324d4380f1111778ecbdf5fd9a5ebb Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Fri, 3 Jun 2016 16:04:40 -0700 Subject: [PATCH] geometry: Add some convenience constructors for geometry types. --- src/geometry.rs | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/geometry.rs b/src/geometry.rs index 06741f0..b7f73b0 100644 --- a/src/geometry.rs +++ b/src/geometry.rs @@ -21,6 +21,16 @@ pub struct CGSize { pub height: CGFloat, } +impl CGSize { + #[inline] + pub fn new(width: CGFloat, height: CGFloat) -> CGSize { + CGSize { + width: width, + height: height, + } + } +} + #[repr(C)] #[derive(Clone, Copy, Debug)] pub struct CGPoint { @@ -28,9 +38,30 @@ pub struct CGPoint { pub y: CGFloat, } +impl CGPoint { + #[inline] + pub fn new(x: CGFloat, y: CGFloat) -> CGPoint { + CGPoint { + x: x, + y: y, + } + } +} + #[repr(C)] #[derive(Clone, Copy, Debug)] pub struct CGRect { pub origin: CGPoint, pub size: CGSize } + +impl CGRect { + #[inline] + pub fn new(origin: &CGPoint, size: &CGSize) -> CGRect { + CGRect { + origin: *origin, + size: *size, + } + } +} +