diff options
author | Jovansonlee Cesar <ivanceras@gmail.com> | 2022-09-26 08:24:41 +0800 |
---|---|---|
committer | Jovansonlee Cesar <ivanceras@gmail.com> | 2022-09-26 08:24:41 +0800 |
commit | b9c97b14822ff58206555a330c57af1935166c57 (patch) | |
tree | 9a7ea82980b16078fe921931967dd20d35aa68e3 /packages/svgbob/src/buffer/fragment_buffer/fragment/circle.rs | |
parent | 3e01f38b506fafcd7ca7658dc77cb377c25578d0 (diff) |
refactor: use index_map for the Circle span to preserve the order of the circles being inserted
Diffstat (limited to 'packages/svgbob/src/buffer/fragment_buffer/fragment/circle.rs')
-rw-r--r-- | packages/svgbob/src/buffer/fragment_buffer/fragment/circle.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/packages/svgbob/src/buffer/fragment_buffer/fragment/circle.rs b/packages/svgbob/src/buffer/fragment_buffer/fragment/circle.rs index 1cf22f9..1388a2b 100644 --- a/packages/svgbob/src/buffer/fragment_buffer/fragment/circle.rs +++ b/packages/svgbob/src/buffer/fragment_buffer/fragment/circle.rs @@ -2,6 +2,7 @@ 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 sauron::{ @@ -17,6 +18,12 @@ pub struct Circle { pub is_filled: bool, } +impl Hash for Circle { + fn hash<H: Hasher>(&self, state: &mut H) { + ((self.radius * 2.0) as i32).hash(state); + } +} + impl Circle { pub(crate) fn new(center: Point, radius: f32, is_filled: bool) -> Self { Circle { |