aboutsummaryrefslogtreecommitdiff
path: root/src/grid.rs
diff options
context:
space:
mode:
authorJakub Kotur <qtr@google.com>2020-12-21 17:28:14 +0100
committerJakub Kotur <qtr@google.com>2021-03-05 15:07:06 +0100
commit835fea47b902cc9ae1f6283bc6e107f0cd83734e (patch)
treee0f621ccc416ebc1c69588afba361fef31b1ae2e /src/grid.rs
parent790fbb964d669b370a0017b6747f3b9f13a04af9 (diff)
downloadcriterion-plot-835fea47b902cc9ae1f6283bc6e107f0cd83734e.tar.gz
Initial import of criterion-plot-0.4.3.
Bug: 155309706 Change-Id: Ia9cfbc3f7d52994d45a3113e5bdfefa9733a80c8
Diffstat (limited to 'src/grid.rs')
-rwxr-xr-xsrc/grid.rs46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/grid.rs b/src/grid.rs
new file mode 100755
index 0000000..b6adb2f
--- /dev/null
+++ b/src/grid.rs
@@ -0,0 +1,46 @@
+//! Gridline
+
+use crate::{Axis, Default, Display, Grid, Script};
+
+/// Gridline properties
+#[derive(Clone, Copy)]
+pub struct Properties {
+ hidden: bool,
+}
+
+impl Default for Properties {
+ fn default() -> Properties {
+ Properties { hidden: true }
+ }
+}
+
+// TODO Lots of configuration pending: linetype, linewidth, etc
+impl Properties {
+ /// Hides the gridlines
+ ///
+ /// **Note** Both `Major` and `Minor` gridlines are hidden by default
+ pub fn hide(&mut self) -> &mut Properties {
+ self.hidden = true;
+ self
+ }
+
+ /// Shows the gridlines
+ pub fn show(&mut self) -> &mut Properties {
+ self.hidden = false;
+ self
+ }
+}
+
+impl<'a> Script for (Axis, Grid, &'a Properties) {
+ fn script(&self) -> String {
+ let &(axis, grid, properties) = self;
+ let axis = axis.display();
+ let grid = grid.display();
+
+ if properties.hidden {
+ String::new()
+ } else {
+ format!("set grid {}{}tics\n", grid, axis)
+ }
+ }
+}