diff options
author | rabite <rabite@posteo.de> | 2019-01-29 13:17:33 +0100 |
---|---|---|
committer | rabite <rabite@posteo.de> | 2019-01-29 13:17:33 +0100 |
commit | 3a2b02cba6bd2c74a96923354dc205ffa1758a94 (patch) | |
tree | 4a2ec21c3a538d1fab121c2862d554a8d1ae24b1 /src/coordinates.rs | |
parent | efb7e9e1676d2f2f07997c04055b60b545e20916 (diff) |
somewhat working miller columns
Diffstat (limited to 'src/coordinates.rs')
-rw-r--r-- | src/coordinates.rs | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/src/coordinates.rs b/src/coordinates.rs new file mode 100644 index 0000000..5506b4d --- /dev/null +++ b/src/coordinates.rs @@ -0,0 +1,59 @@ +#[derive(Debug,Clone)] +pub struct Size(pub (u16,u16)); +#[derive(Debug,Clone)] +pub struct Position(pub (u16,u16)); + + +#[derive(Debug,Clone)] +pub struct Coordinates { + pub size: Size, + pub position: Position, +} + +impl Coordinates { + pub fn size(&self) -> &Size { + &self.size + } + + pub fn xsize(&self) -> u16 { + self.size.xsize() + } + + pub fn ysize(&self) -> u16 { + self.size.ysize() + } + + pub fn position(&self) -> &Position { + &self.position + } + + pub fn top(&self) -> Position { + self.position().clone() + } + +// pub fn left(&self) -> / +} + +impl Size { + pub fn size(&self) -> (u16,u16) { + self.0 + } + pub fn xsize(&self) -> u16 { + (self.0).0 + } + pub fn ysize(&self) -> u16 { + (self.0).1 + } +} + +impl Position { + pub fn position(&self) -> (u16,u16) { + self.0 + } + pub fn x(&self) -> u16 { + (self.0).1 + } + pub fn y(&self) -> u16 { + (self.0).1 + } +} |