diff options
author | Jovansonlee Cesar <ivanceras@gmail.com> | 2022-10-31 11:20:54 +0800 |
---|---|---|
committer | Jovansonlee Cesar <ivanceras@gmail.com> | 2022-10-31 11:20:54 +0800 |
commit | 0311e85811d08bc28b10fa2fa3736faf04172c99 (patch) | |
tree | 9da346ba94e69d06fadd12070a7cb300f71fbe19 | |
parent | a979ca7495f613bc0ca989ee3973663e77906b96 (diff) |
formatting
19 files changed, 74 insertions, 84 deletions
diff --git a/packages/svgbob/Cargo.toml b/packages/svgbob/Cargo.toml index b86c81d..7a5dc80 100644 --- a/packages/svgbob/Cargo.toml +++ b/packages/svgbob/Cargo.toml @@ -13,8 +13,8 @@ edition = "2021" nalgebra = "0.30.1" parry2d = "0.8.0" lazy_static = "1.3.0" -sauron = { version = "0.51", default-features = false} -#sauron = { path = "../../../sauron", default-features = false} +#sauron = { version = "0.51", default-features = false} +sauron = { path = "../../../sauron", default-features = false} unicode-width = "0.1.9" itertools = "0.10.3" pom = { version = "3.2.0" } diff --git a/packages/svgbob/src/buffer.rs b/packages/svgbob/src/buffer.rs index 9238fb6..1ebcb9e 100644 --- a/packages/svgbob/src/buffer.rs +++ b/packages/svgbob/src/buffer.rs @@ -1,7 +1,6 @@ pub use cell_buffer::{Cell, CellBuffer, CellGrid, Contacts, Span}; -pub use fragment_buffer::Direction; pub use fragment_buffer::{ - fragment, fragment::Fragment, FragmentBuffer, FragmentSpan, + fragment, fragment::Fragment, Direction, FragmentBuffer, FragmentSpan, }; pub use property_buffer::{Property, PropertyBuffer, Signal}; pub use string_buffer::StringBuffer; diff --git a/packages/svgbob/src/buffer/cell_buffer.rs b/packages/svgbob/src/buffer/cell_buffer.rs index 9cedd39..d632132 100644 --- a/packages/svgbob/src/buffer/cell_buffer.rs +++ b/packages/svgbob/src/buffer/cell_buffer.rs @@ -1,10 +1,11 @@ -use crate::buffer::fragment_buffer::FragmentSpan; -use crate::fragment::CellText; -use crate::Merge; -use crate::Settings; use crate::{ - buffer::{fragment_buffer::FragmentTree, Fragment, StringBuffer}, + buffer::{ + fragment_buffer::{FragmentSpan, FragmentTree}, + Fragment, StringBuffer, + }, + fragment::CellText, util::parser, + Merge, Settings, }; pub use cell::{Cell, CellGrid}; pub use contacts::Contacts; diff --git a/packages/svgbob/src/buffer/cell_buffer/cell.rs b/packages/svgbob/src/buffer/cell_buffer/cell.rs index 11388f7..faf07b9 100644 --- a/packages/svgbob/src/buffer/cell_buffer/cell.rs +++ b/packages/svgbob/src/buffer/cell_buffer/cell.rs @@ -1,13 +1,16 @@ use crate::{util, Point}; -use parry2d::query::PointQuery; use parry2d::{ bounding_volume::AABB, math::Isometry, - query::intersection_test, + query::{intersection_test, PointQuery}, shape::{Polyline, Segment}, }; -use std::ops::{Add, Sub}; -use std::{cmp, cmp::Ordering, fmt}; +use std::{ + cmp, + cmp::Ordering, + fmt, + ops::{Add, Sub}, +}; mod cell_grid; diff --git a/packages/svgbob/src/buffer/cell_buffer/contacts.rs b/packages/svgbob/src/buffer/cell_buffer/contacts.rs index 02147d7..41a7e28 100644 --- a/packages/svgbob/src/buffer/cell_buffer/contacts.rs +++ b/packages/svgbob/src/buffer/cell_buffer/contacts.rs @@ -1,9 +1,8 @@ -use super::endorse; -use super::endorse::Endorse; -use crate::buffer::fragment_buffer::FragmentSpan; -use crate::buffer::Span; -use crate::buffer::{fragment::Fragment, Cell}; -use crate::Merge; +use super::{endorse, endorse::Endorse}; +use crate::{ + buffer::{fragment::Fragment, fragment_buffer::FragmentSpan, Cell, Span}, + Merge, +}; use std::fmt; /// Contains a group of fragments that are touching each other diff --git a/packages/svgbob/src/buffer/cell_buffer/span.rs b/packages/svgbob/src/buffer/cell_buffer/span.rs index b584a9f..39a8299 100644 --- a/packages/svgbob/src/buffer/cell_buffer/span.rs +++ b/packages/svgbob/src/buffer/cell_buffer/span.rs @@ -1,12 +1,11 @@ -use crate::buffer::cell_buffer::Endorse; -use crate::buffer::fragment_buffer::FragmentSpan; -use crate::fragment::Circle; use crate::{ buffer::{ - cell_buffer::Contacts, FragmentBuffer, Property, PropertyBuffer, - StringBuffer, + cell_buffer::{Contacts, Endorse}, + fragment_buffer::FragmentSpan, + FragmentBuffer, Property, PropertyBuffer, StringBuffer, }, fragment, + fragment::Circle, map::{circle_map, UNICODE_FRAGMENTS}, Cell, Fragment, Merge, Point, Settings, }; @@ -278,6 +277,7 @@ impl Bounds { pub fn top_right(&self) -> Cell { Cell::new(self.bottom_right.x, self.top_left.y) } + pub fn bottom_left(&self) -> Cell { Cell::new(self.top_left.x, self.bottom_right.y) } diff --git a/packages/svgbob/src/buffer/fragment_buffer.rs b/packages/svgbob/src/buffer/fragment_buffer.rs index d590f56..dcffafe 100644 --- a/packages/svgbob/src/buffer/fragment_buffer.rs +++ b/packages/svgbob/src/buffer/fragment_buffer.rs @@ -1,15 +1,12 @@ -use crate::buffer::Span; -use crate::Cell; -use crate::Merge; -use crate::Settings; +use crate::{buffer::Span, Cell, Merge, Settings}; pub use direction::Direction; pub use fragment::Fragment; pub use fragment_span::FragmentSpan; pub use fragment_tree::FragmentTree; use itertools::Itertools; -use std::fmt::Write; use std::{ collections::BTreeMap, + fmt::Write, ops::{Deref, DerefMut}, }; diff --git a/packages/svgbob/src/buffer/fragment_buffer/fragment.rs b/packages/svgbob/src/buffer/fragment_buffer/fragment.rs index f30fc6c..aa041ab 100644 --- a/packages/svgbob/src/buffer/fragment_buffer/fragment.rs +++ b/packages/svgbob/src/buffer/fragment_buffer/fragment.rs @@ -1,18 +1,14 @@ -use crate::Merge; -use crate::{buffer::Cell, map::unicode_map::FRAGMENTS_UNICODE, Point}; +use crate::{buffer::Cell, map::unicode_map::FRAGMENTS_UNICODE, Merge, Point}; pub use crate::{Property, Settings, Signal}; pub use arc::Arc; pub use circle::Circle; pub use line::Line; pub use marker_line::{Marker, MarkerLine}; -use parry2d::bounding_volume::BoundingVolume; -use parry2d::query::PointQuery; -use parry2d::shape::ConvexPolygon; use parry2d::{ - bounding_volume::AABB, + bounding_volume::{BoundingVolume, AABB}, math::Isometry, - query::intersection_test, - shape::{Polyline, Segment, Shape}, + query::{intersection_test, PointQuery}, + shape::{ConvexPolygon, Polyline, Segment, Shape}, }; pub use polygon::{Polygon, PolygonTag}; pub use rect::Rect; diff --git a/packages/svgbob/src/buffer/fragment_buffer/fragment/circle.rs b/packages/svgbob/src/buffer/fragment_buffer/fragment/circle.rs index 83b767e..f8c64ca 100644 --- a/packages/svgbob/src/buffer/fragment_buffer/fragment/circle.rs +++ b/packages/svgbob/src/buffer/fragment_buffer/fragment/circle.rs @@ -1,9 +1,11 @@ use crate::{fragment::Bounds, util, Cell, Point}; use nalgebra::Point2; -use parry2d::shape::ConvexPolygon; -use parry2d::shape::Polyline; -use std::hash::{Hash, Hasher}; -use std::{cmp::Ordering, fmt}; +use parry2d::shape::{ConvexPolygon, Polyline}; +use std::{ + cmp::Ordering, + fmt, + hash::{Hash, Hasher}, +}; use sauron::{ html::attributes::*, @@ -39,6 +41,7 @@ impl Circle { fn top_left_bound(&self) -> Point { Point::new(self.center.x - self.radius, self.center.y - self.radius) } + fn top_right_bound(&self) -> Point { Point::new(self.center.x + self.radius, self.center.y - self.radius) } diff --git a/packages/svgbob/src/buffer/fragment_buffer/fragment/line.rs b/packages/svgbob/src/buffer/fragment_buffer/fragment/line.rs index c049d6a..48e6fc2 100644 --- a/packages/svgbob/src/buffer/fragment_buffer/fragment/line.rs +++ b/packages/svgbob/src/buffer/fragment_buffer/fragment/line.rs @@ -3,11 +3,11 @@ use crate::{ fragment::{marker_line, Bounds, Circle, Marker, MarkerLine}, util, Direction, Point, }; -use parry2d::query::PointQuery; -use parry2d::{bounding_volume::AABB, shape::Polyline}; use parry2d::{ + bounding_volume::AABB, math::Isometry, - shape::{Segment, Shape}, + query::PointQuery, + shape::{Polyline, Segment, Shape}, }; use std::{cmp::Ordering, fmt}; @@ -441,8 +441,9 @@ impl PartialEq for Line { #[cfg(test)] mod tests { use super::*; - use crate::buffer::fragment_buffer::fragment::polygon::PolygonTag; - use crate::buffer::CellGrid; + use crate::buffer::{ + fragment_buffer::fragment::polygon::PolygonTag, CellGrid, + }; #[test] fn test_extend_line() { diff --git a/packages/svgbob/src/buffer/fragment_buffer/fragment/polygon.rs b/packages/svgbob/src/buffer/fragment_buffer/fragment/polygon.rs index 3516b9c..701a24e 100644 --- a/packages/svgbob/src/buffer/fragment_buffer/fragment/polygon.rs +++ b/packages/svgbob/src/buffer/fragment_buffer/fragment/polygon.rs @@ -1,7 +1,6 @@ -use crate::Direction; use crate::{ fragment::{marker_line::Marker, Bounds}, - Cell, Point, + Cell, Direction, Point, }; use nalgebra::Point2; use parry2d::shape::{shape::Shape, Polyline}; diff --git a/packages/svgbob/src/buffer/fragment_buffer/fragment/rect.rs b/packages/svgbob/src/buffer/fragment_buffer/fragment/rect.rs index c325c2e..7bbc18d 100644 --- a/packages/svgbob/src/buffer/fragment_buffer/fragment/rect.rs +++ b/packages/svgbob/src/buffer/fragment_buffer/fragment/rect.rs @@ -1,13 +1,11 @@ use crate::{fragment::Bounds, util, Cell, Point}; -use parry2d::shape::ConvexPolygon; -use parry2d::shape::{Polyline, Segment, Shape}; +use parry2d::shape::{ConvexPolygon, Polyline, Segment, Shape}; use sauron::{ html::attributes::*, svg::{attributes::*, *}, Node, }; -use std::cmp::Ordering; -use std::fmt; +use std::{cmp::Ordering, fmt}; #[derive(Debug, Clone)] pub struct Rect { diff --git a/packages/svgbob/src/buffer/fragment_buffer/fragment/text.rs b/packages/svgbob/src/buffer/fragment_buffer/fragment/text.rs index 6a61e5d..0859407 100644 --- a/packages/svgbob/src/buffer/fragment_buffer/fragment/text.rs +++ b/packages/svgbob/src/buffer/fragment_buffer/fragment/text.rs @@ -1,9 +1,7 @@ -use crate::buffer::Span; -use crate::FragmentSpan; use crate::{ - buffer::{Cell, CellGrid}, + buffer::{Cell, CellGrid, Span}, fragment::Bounds, - Point, + FragmentSpan, Point, }; use sauron::{html::*, svg, svg::attributes::*, Node}; use std::{borrow::Cow, cmp::Ordering, fmt}; diff --git a/packages/svgbob/src/buffer/fragment_buffer/fragment_span.rs b/packages/svgbob/src/buffer/fragment_buffer/fragment_span.rs index c28fa75..0db3f13 100644 --- a/packages/svgbob/src/buffer/fragment_buffer/fragment_span.rs +++ b/packages/svgbob/src/buffer/fragment_buffer/fragment_span.rs @@ -1,10 +1,5 @@ -use crate::buffer::Span; -use crate::Cell; -use crate::Fragment; -use crate::Merge; -use crate::Settings; -use std::cmp::Ordering; -use std::fmt; +use crate::{buffer::Span, Cell, Fragment, Merge, Settings}; +use std::{cmp::Ordering, fmt}; #[derive(Debug, Clone, PartialEq, Eq)] pub struct FragmentSpan { diff --git a/packages/svgbob/src/buffer/fragment_buffer/fragment_tree.rs b/packages/svgbob/src/buffer/fragment_buffer/fragment_tree.rs index e713325..cb162ce 100644 --- a/packages/svgbob/src/buffer/fragment_buffer/fragment_tree.rs +++ b/packages/svgbob/src/buffer/fragment_buffer/fragment_tree.rs @@ -1,5 +1,4 @@ -use crate::buffer::fragment_buffer::FragmentSpan; -use crate::Fragment; +use crate::{buffer::fragment_buffer::FragmentSpan, Fragment}; use sauron::{html::attributes::*, Node}; /// A tree of fragments where a fragment can contain other fragments @@ -67,10 +66,8 @@ impl FragmentTree { } pub(crate) fn enclose_fragments(fragments: Vec<FragmentSpan>) -> Vec<Self> { - let fragment_trees: Vec<Self> = fragments - .into_iter() - .map(FragmentTree::new) - .collect(); + let fragment_trees: Vec<Self> = + fragments.into_iter().map(FragmentTree::new).collect(); Self::enclose_recursive(fragment_trees) } diff --git a/packages/svgbob/src/map.rs b/packages/svgbob/src/map.rs index e3ed914..50727c6 100644 --- a/packages/svgbob/src/map.rs +++ b/packages/svgbob/src/map.rs @@ -1,10 +1,9 @@ pub use ascii_map::ASCII_PROPERTIES; -pub use circle_map::CIRCLES_SPAN; -pub use circle_map::DIAMETER_CIRCLE; +pub use circle_map::{CIRCLES_SPAN, DIAMETER_CIRCLE}; pub use unicode_map::{ FRAGMENTS_UNICODE, UNICODE_FRAGMENTS, UNICODE_PROPERTIES, }; -pub(in crate) mod ascii_map; -pub(in crate) mod circle_map; -pub(in crate) mod unicode_map; +pub(crate) mod ascii_map; +pub(crate) mod circle_map; +pub(crate) mod unicode_map; diff --git a/packages/svgbob/src/map/circle_map.rs b/packages/svgbob/src/map/circle_map.rs index 2d1d0b9..328c656 100644 --- a/packages/svgbob/src/map/circle_map.rs +++ b/packages/svgbob/src/map/circle_map.rs @@ -1,13 +1,15 @@ use crate::{ buffer::{CellBuffer, Contacts, Span}, fragment, - fragment::Arc, - fragment::Circle, + fragment::{Arc, Circle}, Cell, Point, Settings, }; use indexmap::IndexMap; use lazy_static::lazy_static; -use std::{collections::BTreeMap, collections::HashMap, iter::FromIterator}; +use std::{ + collections::{BTreeMap, HashMap}, + iter::FromIterator, +}; /// skip the first 3 circles for constructing our arcs, otherwise it will just be a mess pub const CIRCLES_TO_SKIP_FOR_ARC: usize = 3; @@ -74,9 +76,11 @@ impl CircleArt { Horizontal::Half => 0.5, } } + fn radius(&self) -> f32 { self.width() / 2.0 } + fn diameter(&self) -> i32 { (self.radius() * 2.0).floor() as i32 } diff --git a/packages/svgbob/src/point.rs b/packages/svgbob/src/point.rs index 08e0e12..00e69e3 100644 --- a/packages/svgbob/src/point.rs +++ b/packages/svgbob/src/point.rs @@ -1,8 +1,5 @@ -use crate::buffer::CellGrid; -use crate::util; -use crate::Cell; -use nalgebra::coordinates::XY; -use nalgebra::{Point2, Vector2}; +use crate::{buffer::CellGrid, util, Cell}; +use nalgebra::{coordinates::XY, Point2, Vector2}; use std::{ cmp::Ordering, fmt, @@ -81,12 +78,15 @@ impl Point { pub fn is_edge_x(&self) -> bool { self.x.fract() == 0.0 } + pub fn is_edge_y(&self) -> bool { (self.y / 2.0).fract() == 0.0 } + pub fn is_mid_x(&self) -> bool { self.x.fract() == 0.5 } + pub fn is_mid_y(&self) -> bool { (self.y / 2.0).fract() == 0.5 } diff --git a/packages/svgbob/src/util.rs b/packages/svgbob/src/util.rs index 4e1cca5..21aa7f7 100644 --- a/packages/svgbob/src/util.rs +++ b/packages/svgbob/src/util.rs @@ -1,6 +1,7 @@ use crate::Point; -use parry2d::shape::Triangle; -use parry2d::{bounding_volume::AABB, math::Isometry, query::PointQuery}; +use parry2d::{ + bounding_volume::AABB, math::Isometry, query::PointQuery, shape::Triangle, +}; use std::cmp::Ordering; pub fn opt_ord(f1: Option<f32>, f2: Option<f32>) -> Ordering { |