summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2021-05-27 14:48:45 +0200
committerLaurenz <laurmaedje@gmail.com>2021-05-27 14:48:45 +0200
commitb886ced40825372000df0fa9cddff98a1b642cc6 (patch)
tree6baf23b24c90352f3712f0e8eda57decf913181a /src
parent9e0a34c80f2fa48ada3a0ed0c985c8daa2ae7de3 (diff)
Switch to N64 type alias
Diffstat (limited to 'src')
-rw-r--r--src/geom/length.rs10
-rw-r--r--src/geom/relative.rs10
-rw-r--r--src/layout/mod.rs4
-rw-r--r--src/layout/stack.rs8
-rw-r--r--src/library/shapes.rs10
5 files changed, 21 insertions, 21 deletions
diff --git a/src/geom/length.rs b/src/geom/length.rs
index 2439000c..e9ba0853 100644
--- a/src/geom/length.rs
+++ b/src/geom/length.rs
@@ -1,4 +1,4 @@
-use decorum::NotNan;
+use decorum::N64;
use serde::{Deserialize, Serialize};
use super::*;
@@ -9,13 +9,13 @@ use super::*;
#[serde(transparent)]
pub struct Length {
/// The length in raw units.
- raw: NotNan<f64>,
+ raw: N64,
}
impl Length {
/// The zero length.
pub fn zero() -> Self {
- Self { raw: 0.0.into() }
+ Self { raw: N64::from(0.0) }
}
/// Create a length from a number of points.
@@ -40,7 +40,7 @@ impl Length {
/// Create a length from a number of raw units.
pub fn raw(raw: f64) -> Self {
- Self { raw: raw.into() }
+ Self { raw: N64::from(raw) }
}
/// Convert this to a number of points.
@@ -70,7 +70,7 @@ impl Length {
/// Create a length from a value in a unit.
pub fn with_unit(val: f64, unit: LengthUnit) -> Self {
- Self { raw: (val * unit.raw_scale()).into() }
+ Self { raw: N64::from(val * unit.raw_scale()) }
}
/// Get the value of this length in unit.
diff --git a/src/geom/relative.rs b/src/geom/relative.rs
index 86759bbe..9f8aea55 100644
--- a/src/geom/relative.rs
+++ b/src/geom/relative.rs
@@ -1,4 +1,4 @@
-use decorum::NotNan;
+use decorum::N64;
use super::*;
@@ -7,22 +7,22 @@ use super::*;
/// _Note_: `50%` is represented as `0.5` here, but stored as `50.0` in the
/// corresponding [literal](crate::syntax::Expr::Percent).
#[derive(Default, Copy, Clone, PartialEq, PartialOrd, Hash)]
-pub struct Relative(NotNan<f64>);
+pub struct Relative(N64);
impl Relative {
/// A ratio of `0%` represented as `0.0`.
pub fn zero() -> Self {
- Self(0.0.into())
+ Self(N64::from(0.0))
}
/// A ratio of `100%` represented as `1.0`.
pub fn one() -> Self {
- Self(1.0.into())
+ Self(N64::from(1.0))
}
/// Create a new relative value.
pub fn new(ratio: f64) -> Self {
- Self(ratio.into())
+ Self(N64::from(ratio))
}
/// Get the underlying ratio.
diff --git a/src/layout/mod.rs b/src/layout/mod.rs
index 51b9bc64..a025fbc2 100644
--- a/src/layout/mod.rs
+++ b/src/layout/mod.rs
@@ -20,7 +20,7 @@ use std::any::Any;
use std::fmt::{self, Debug, Formatter};
use std::hash::{Hash, Hasher};
-use decorum::NotNan;
+use decorum::N64;
use fxhash::FxHasher64;
use crate::cache::{Cache, FramesEntry};
@@ -257,7 +257,7 @@ impl Regions {
}
/// Shrink `current` to ensure that the aspect ratio can be satisfied.
- pub fn apply_aspect_ratio(&mut self, aspect: NotNan<f64>) {
+ pub fn apply_aspect_ratio(&mut self, aspect: N64) {
let width = self.current.width.min(aspect.into_inner() * self.current.height);
let height = width / aspect.into_inner();
self.current = Size::new(width, height);
diff --git a/src/layout/stack.rs b/src/layout/stack.rs
index bb767378..410f53c6 100644
--- a/src/layout/stack.rs
+++ b/src/layout/stack.rs
@@ -1,4 +1,4 @@
-use decorum::NotNan;
+use decorum::N64;
use super::*;
@@ -13,7 +13,7 @@ pub struct StackNode {
/// The fixed aspect ratio between width and height, if any.
///
/// The resulting frames will satisfy `width = aspect * height`.
- pub aspect: Option<NotNan<f64>>,
+ pub aspect: Option<N64>,
/// The nodes to be stacked.
pub children: Vec<StackChild>,
}
@@ -58,7 +58,7 @@ impl From<StackNode> for AnyNode {
struct StackLayouter {
dirs: Gen<Dir>,
- aspect: Option<NotNan<f64>>,
+ aspect: Option<N64>,
main: SpecAxis,
regions: Regions,
finished: Vec<Frame>,
@@ -69,7 +69,7 @@ struct StackLayouter {
}
impl StackLayouter {
- fn new(dirs: Gen<Dir>, aspect: Option<NotNan<f64>>, mut regions: Regions) -> Self {
+ fn new(dirs: Gen<Dir>, aspect: Option<N64>, mut regions: Regions) -> Self {
if let Some(aspect) = aspect {
regions.apply_aspect_ratio(aspect);
}
diff --git a/src/library/shapes.rs b/src/library/shapes.rs
index 05cc2e2d..a47203c4 100644
--- a/src/library/shapes.rs
+++ b/src/library/shapes.rs
@@ -1,6 +1,6 @@
use std::f64::consts::SQRT_2;
-use decorum::NotNan;
+use decorum::N64;
use super::*;
use crate::color::Color;
@@ -49,14 +49,14 @@ pub fn square(ctx: &mut EvalContext, args: &mut FuncArgs) -> Value {
let height = width.is_none().then(|| args.eat_named(ctx, "height")).flatten();
let fill = args.eat_named(ctx, "fill");
let body = args.eat::<TemplateValue>(ctx).unwrap_or_default();
- rect_impl("square", width, height, Some(1.0.into()), fill, body)
+ rect_impl("square", width, height, Some(N64::from(1.0)), fill, body)
}
fn rect_impl(
name: &str,
width: Option<Linear>,
height: Option<Linear>,
- aspect: Option<NotNan<f64>>,
+ aspect: Option<N64>,
fill: Option<Color>,
body: TemplateValue,
) -> Value {
@@ -121,14 +121,14 @@ pub fn circle(ctx: &mut EvalContext, args: &mut FuncArgs) -> Value {
let height = width.is_none().then(|| args.eat_named(ctx, "height")).flatten();
let fill = args.eat_named(ctx, "fill");
let body = args.eat::<TemplateValue>(ctx).unwrap_or_default();
- ellipse_impl("circle", width, height, Some(1.0.into()), fill, body)
+ ellipse_impl("circle", width, height, Some(N64::from(1.0)), fill, body)
}
fn ellipse_impl(
name: &str,
width: Option<Linear>,
height: Option<Linear>,
- aspect: Option<NotNan<f64>>,
+ aspect: Option<N64>,
fill: Option<Color>,
body: TemplateValue,
) -> Value {