]> git.huck.website - cellseq.git/commitdiff
edited: use cleanup
authorHuck Boles <huck@huck.website>
Tue, 30 May 2023 17:57:42 +0000 (12:57 -0500)
committerHuck Boles <huck@huck.website>
Tue, 30 May 2023 17:57:42 +0000 (12:57 -0500)
src/cells.rs
src/graphics/map.rs
src/graphics/point.rs

index 366dddc5f87792a0cdcc0c2a175de0562ae90a53..8ca68085055f67d709efc574820e962f91a68cdc 100644 (file)
@@ -1,5 +1,9 @@
 use crate::{Map, Mask, Point};
-use crossterm::style::{Attribute, Color};
+use crossterm::style::{
+    Attribute, Attributes,
+    Color::{Black, Green, Grey},
+    Colors,
+};
 use ndarray::Array2;
 use rand::{thread_rng, Rng};
 use std::{cell::Cell, ops::Deref};
@@ -88,16 +92,16 @@ impl Map<Cell<State>> for World {
         ('●', '◌')
     }
 
-    fn fg_colors(&self) -> (Color, Color) {
-        (Color::Green, Color::Grey)
+    fn on_colors(&self) -> Colors {
+        Colors::new(Green, Black)
     }
 
-    fn bg_colors(&self) -> (Color, Color) {
-        (Color::Black, Color::Black)
+    fn off_colors(&self) -> Colors {
+        Colors::new(Grey, Black)
     }
 
-    fn styles(&self) -> (Attribute, Attribute) {
-        (Attribute::Bold, Attribute::Reset)
+    fn styles(&self) -> (Attributes, Attributes) {
+        (Attribute::Bold.into(), Attribute::Reset.into())
     }
 
     fn try_point(&self, point: Point) -> bool {
index 6748e15a14e832170f37ba9a6d3a7a98dd5c8c95..3491ceb089b74678ad1466b1c5a6382885def0f1 100644 (file)
@@ -1,5 +1,9 @@
 use crate::Point;
-use crossterm::style::{Attribute, Color};
+use crossterm::style::{
+    Attribute, Attributes,
+    Color::{Black, Grey, White},
+    Colors,
+};
 use ndarray::Array2;
 use std::ops::Deref;
 
@@ -9,9 +13,9 @@ pub trait Map<T> {
     fn x_size(&self) -> usize;
     fn y_size(&self) -> usize;
     fn characters(&self) -> (char, char);
-    fn fg_colors(&self) -> (Color, Color);
-    fn bg_colors(&self) -> (Color, Color);
-    fn styles(&self) -> (Attribute, Attribute);
+    fn on_colors(&self) -> Colors;
+    fn off_colors(&self) -> Colors;
+    fn styles(&self) -> (Attributes, Attributes);
     fn update(&mut self);
 }
 
@@ -55,16 +59,18 @@ impl<T: Clone> Map<T> for Mask<T> {
         ('■', '□')
     }
 
-    fn fg_colors(&self) -> (Color, Color) {
-        (Color::White, Color::Grey)
+    fn on_colors(&self) -> Colors {
+        Colors::new(White, Black)
     }
 
-    fn bg_colors(&self) -> (Color, Color) {
-        (Color::Black, Color::Black)
+    fn off_colors(&self) -> Colors {
+        Colors::new(Grey, Black)
     }
 
-    fn styles(&self) -> (Attribute, Attribute) {
-        (Attribute::Bold, Attribute::Reset)
+    fn styles(&self) -> (Attributes, Attributes) {
+        let on = Attributes::from(Attribute::Bold);
+        let off = Attributes::from(Attribute::Reset);
+        (on, off)
     }
 
     fn update(&mut self) {}
index 3af27b3e6361b1e23ccbfd705352ef04f15973b1..0acc2476e396d9dcc71e809011104956f3935bfd 100644 (file)
@@ -2,6 +2,7 @@ use crossterm::style::{Attribute, Color};
 use eyre::Result;
 use std::ops::{Add, Div, Mul, Sub};
 
+#[derive(Clone, Debug, PartialEq, Eq)]
 pub struct Pixel {
     pub location: Point,
     pub value: char,