diff options
author | Jakub Kotur <qtr@google.com> | 2020-12-21 17:28:14 +0100 |
---|---|---|
committer | Jakub Kotur <qtr@google.com> | 2021-03-05 15:07:06 +0100 |
commit | 835fea47b902cc9ae1f6283bc6e107f0cd83734e (patch) | |
tree | e0f621ccc416ebc1c69588afba361fef31b1ae2e /src/grid.rs | |
parent | 790fbb964d669b370a0017b6747f3b9f13a04af9 (diff) | |
download | criterion-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-x | src/grid.rs | 46 |
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) + } + } +} |