Move basic geometry primitives to the `pathfinder_geometry::basic` module

This commit is contained in:
Patrick Walton 2019-02-04 20:20:32 -08:00
parent f25682f0f1
commit 63b47f1abe
15 changed files with 52 additions and 40 deletions

View File

@ -11,8 +11,8 @@
use clap::{App, Arg};
use euclid::{Point2D, Rect, Size2D};
use jemallocator;
use pathfinder_geometry::point::Point3DF32;
use pathfinder_geometry::transform3d::{Perspective, Transform3DF32};
use pathfinder_geometry::basic::point::Point3DF32;
use pathfinder_geometry::basic::transform3d::{Perspective, Transform3DF32};
use pathfinder_gl::renderer::Renderer;
use pathfinder_renderer::builder::SceneBuilder;
use pathfinder_renderer::gpu_data::BuiltScene;

View File

@ -1,4 +1,4 @@
// pathfinder/geometry/src/line_segment.rs
// pathfinder/geometry/src/basic/line_segment.rs
//
// Copyright © 2019 The Pathfinder Project Developers.
//
@ -10,7 +10,7 @@
//! Line segment types, optimized with SIMD.
use crate::point::Point2DF32;
use crate::basic::point::Point2DF32;
use crate::util;
use pathfinder_simd::default::F32x4;
use std::ops::Sub;

16
geometry/src/basic/mod.rs Normal file
View File

@ -0,0 +1,16 @@
// pathfinder/geometry/src/basic/mod.rs
//
// Copyright © 2019 The Pathfinder Project Developers.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
//! Basic geometry and linear algebra primitives, optimized with SIMD.
pub mod line_segment;
pub mod point;
pub mod transform2d;
pub mod transform3d;

View File

@ -1,4 +1,4 @@
// pathfinder/geometry/src/point.rs
// pathfinder/geometry/src/basic/point.rs
//
// Copyright © 2019 The Pathfinder Project Developers.
//

View File

@ -1,4 +1,4 @@
// pathfinder/geometry/src/transform.rs
// pathfinder/geometry/src/basic/transform2d.rs
//
// Copyright © 2019 The Pathfinder Project Developers.
//
@ -8,11 +8,11 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
//! Applies a transform to paths.
//! 2D affine transforms.
use crate::point::Point2DF32;
use crate::basic::point::Point2DF32;
use crate::basic::transform3d::Transform3DF32;
use crate::segment::Segment;
use crate::transform3d::Transform3DF32;
use euclid::{Point2D, Rect, Size2D, Transform2D};
use lyon_path::PathEvent;
use pathfinder_simd::default::F32x4;

View File

@ -1,4 +1,4 @@
// pathfinder/geometry/src/transform3d.rs
// pathfinder/geometry/src/basic/transform3d.rs
//
// Copyright © 2019 The Pathfinder Project Developers.
//
@ -10,9 +10,9 @@
//! 3D transforms that can be applied to paths.
use crate::point::{Point2DF32, Point3DF32};
use crate::basic::point::{Point2DF32, Point3DF32};
use crate::basic::transform2d::Matrix2x2F32;
use crate::segment::Segment;
use crate::transform::Matrix2x2F32;
use euclid::{Point2D, Rect, Size2D};
use pathfinder_simd::default::F32x4;
use std::ops::{Add, Neg};
@ -327,8 +327,8 @@ where
#[cfg(test)]
mod test {
use crate::point::Point3DF32;
use crate::transform3d::Transform3DF32;
use crate::basic::point::Point3DF32;
use crate::basic::transform3d::Transform3DF32;
#[test]
fn test_post_mul() {

View File

@ -8,9 +8,9 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
use crate::line_segment::LineSegmentF32;
use crate::basic::line_segment::LineSegmentF32;
use crate::basic::point::{Point2DF32, Point3DF32};
use crate::outline::{Contour, PointFlags};
use crate::point::{Point2DF32, Point3DF32};
use crate::segment::{CubicSegment, Segment};
use crate::util::lerp;
use arrayvec::ArrayVec;

View File

@ -15,17 +15,14 @@
#[macro_use]
extern crate bitflags;
pub mod basic;
pub mod clip;
pub mod cubic_to_quadratic;
pub mod line_segment;
pub mod monotonic;
pub mod normals;
pub mod orientation;
pub mod outline;
pub mod point;
pub mod segment;
pub mod segments;
pub mod stroke;
pub mod transform;
pub mod transform3d;
pub mod util;

View File

@ -10,14 +10,13 @@
//! A compressed in-memory representation of paths.
use crate::basic::line_segment::LineSegmentF32;
use crate::basic::point::Point2DF32;
use crate::basic::transform2d::Transform2DF32;
use crate::basic::transform3d::Perspective;
use crate::clip::{ContourPolygonClipper, ContourRectClipper};
use crate::line_segment::LineSegmentF32;
use crate::monotonic::MonotonicConversionIter;
use crate::point::Point2DF32;
use crate::segment::{Segment, SegmentFlags, SegmentKind};
use crate::transform3d::Perspective;
use crate::transform::Transform2DF32;
use crate::util;
use euclid::{Point2D, Rect, Size2D};
use std::fmt::{self, Debug, Formatter};
use std::mem;

View File

@ -10,8 +10,8 @@
//! Line or curve segments, optimized with SIMD.
use crate::line_segment::LineSegmentF32;
use crate::point::Point2DF32;
use crate::basic::line_segment::LineSegmentF32;
use crate::basic::point::Point2DF32;
use lyon_path::PathEvent;
use pathfinder_simd::default::F32x4;

View File

@ -14,8 +14,8 @@ use crate::paint::{ObjectShader, ShaderId};
use crate::tiles::{self, TILE_HEIGHT, TILE_WIDTH};
use euclid::Rect;
use fixedbitset::FixedBitSet;
use pathfinder_geometry::line_segment::{LineSegmentF32, LineSegmentU4, LineSegmentU8};
use pathfinder_geometry::point::Point2DF32;
use pathfinder_geometry::basic::line_segment::{LineSegmentF32, LineSegmentU4, LineSegmentU8};
use pathfinder_geometry::basic::point::Point2DF32;
use pathfinder_geometry::util;
use pathfinder_simd::default::{F32x4, I32x4};

View File

@ -16,11 +16,11 @@ use crate::tiles::Tiler;
use crate::z_buffer::ZBuffer;
use euclid::Rect;
use hashbrown::HashMap;
use pathfinder_geometry::basic::point::{Point2DF32, Point3DF32};
use pathfinder_geometry::basic::transform2d::Transform2DF32;
use pathfinder_geometry::basic::transform3d::Perspective;
use pathfinder_geometry::clip::PolygonClipper3D;
use pathfinder_geometry::outline::Outline;
use pathfinder_geometry::point::{Point2DF32, Point3DF32};
use pathfinder_geometry::transform3d::Perspective;
use pathfinder_geometry::transform::Transform2DF32;
use rayon::iter::{IndexedParallelIterator, IntoParallelRefIterator, ParallelIterator};
use std::fmt::{self, Debug, Formatter};

View File

@ -13,9 +13,9 @@ use crate::paint::ShaderId;
use crate::sorted_vector::SortedVector;
use crate::z_buffer::ZBuffer;
use euclid::{Point2D, Rect, Size2D};
use pathfinder_geometry::line_segment::LineSegmentF32;
use pathfinder_geometry::basic::line_segment::LineSegmentF32;
use pathfinder_geometry::basic::point::Point2DF32;
use pathfinder_geometry::outline::{Contour, Outline, PointIndex};
use pathfinder_geometry::point::Point2DF32;
use pathfinder_geometry::segment::Segment;
use pathfinder_geometry::util;
use std::cmp::Ordering;

View File

@ -12,14 +12,14 @@
use euclid::{Point2D, Rect, Size2D};
use lyon_path::iterator::PathIter;
use pathfinder_geometry::line_segment::LineSegmentF32;
use pathfinder_geometry::basic::line_segment::LineSegmentF32;
use pathfinder_geometry::basic::point::Point2DF32;
use pathfinder_geometry::basic::transform2d::{Transform2DF32, Transform2DF32PathIter};
use pathfinder_geometry::monotonic::MonotonicConversionIter;
use pathfinder_geometry::outline::Outline;
use pathfinder_geometry::point::Point2DF32;
use pathfinder_geometry::segment::{PathEventsToSegments, Segment};
use pathfinder_geometry::segment::{SegmentFlags, SegmentsToPathEvents};
use pathfinder_geometry::stroke::{StrokeStyle, StrokeToFillIter};
use pathfinder_geometry::transform::{Transform2DF32, Transform2DF32PathIter};
use pathfinder_renderer::paint::{ColorU, Paint};
use pathfinder_renderer::scene::{PathObject, PathObjectKind, Scene};
use std::mem;

View File

@ -19,7 +19,7 @@ use clap::{App, Arg};
use jemallocator;
use pathfinder_renderer::builder::SceneBuilder;
use pathfinder_renderer::gpu_data::BuiltScene;
use pathfinder_renderer::scene::Scene;
use pathfinder_renderer::scene::{BuildTransform, Scene};
use pathfinder_renderer::serialization::RiffSerialize;
use pathfinder_renderer::z_buffer::ZBuffer;
use pathfinder_svg::SceneExt;
@ -103,8 +103,8 @@ fn main() {
let start_time = Instant::now();
let built_objects = match jobs {
Some(1) => scene.build_objects_sequentially(&z_buffer),
_ => scene.build_objects(&z_buffer),
Some(1) => scene.build_objects_sequentially(&BuildTransform::None, &z_buffer),
_ => scene.build_objects(&BuildTransform::None, &z_buffer),
};
elapsed_object_build_time += duration_to_ms(&(Instant::now() - start_time));