summaryrefslogtreecommitdiffstats
path: root/src/coordinates.rs
diff options
context:
space:
mode:
authorrabite <rabite@posteo.de>2019-01-29 13:17:33 +0100
committerrabite <rabite@posteo.de>2019-01-29 13:17:33 +0100
commit3a2b02cba6bd2c74a96923354dc205ffa1758a94 (patch)
tree4a2ec21c3a538d1fab121c2862d554a8d1ae24b1 /src/coordinates.rs
parentefb7e9e1676d2f2f07997c04055b60b545e20916 (diff)
somewhat working miller columns
Diffstat (limited to 'src/coordinates.rs')
-rw-r--r--src/coordinates.rs59
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
+ }
+}