math2d/
lib.rs

1#![cfg_attr(feature = "docs", warn(missing_docs))]
2//! 2D Mathematics library designed for use with 2D drawing applications.
3//! 
4//! Primarily designed for the needs of Direct2D, but this library should
5//! be perfectly capable of filling in the needs of other libraries such
6//! as Cairo. If you would like interoperability defitions added please feel
7//! free to open a pull request on the [repository][1].
8//! 
9//! Currently compatible with:
10//! - Direct2D (winapi types)
11//! - [Mint][2]
12//! 
13//! [1]: https://github.com/connicpu/math2d
14//! [2]: https://docs.rs/mint
15
16#[cfg(all(feature = "serde", feature = "serde_derive"))]
17#[macro_use]
18extern crate serde_derive;
19#[cfg(all(feature = "serde", feature = "serde_derive"))]
20extern crate serde;
21
22#[cfg(all(windows, feature = "winapi"))]
23extern crate winapi;
24
25#[cfg(feature = "mint")]
26extern crate mint;
27
28#[doc(inline)]
29pub use arc_segment::{ArcSegment, ArcSize, SweepDirection};
30#[doc(inline)]
31pub use bezier_segment::BezierSegment;
32pub use color::Color;
33#[doc(inline)]
34pub use ellipse::Ellipse;
35#[doc(inline)]
36pub use matrix3x2f::Matrix3x2f;
37#[doc(inline)]
38pub use point2f::Point2f;
39#[doc(inline)]
40pub use point2i::Point2i;
41#[doc(inline)]
42pub use point2u::Point2u;
43#[doc(inline)]
44pub use quad_bezier_segment::QuadBezierSegment;
45#[doc(inline)]
46pub use rectf::{RectCorner, Rectf};
47#[doc(inline)]
48pub use recti::Recti;
49#[doc(inline)]
50pub use rectu::Rectu;
51#[doc(inline)]
52pub use rounded_rect::RoundedRect;
53#[doc(inline)]
54pub use sizef::Sizef;
55#[doc(inline)]
56pub use sizeu::Sizeu;
57#[doc(inline)]
58pub use thicknessf::Thicknessf;
59#[doc(inline)]
60pub use triangle::Triangle;
61#[doc(inline)]
62pub use vector2f::Vector2f;
63#[doc(inline)]
64pub use vector2i::Vector2i;
65
66#[doc(hidden)]
67pub mod arc_segment;
68#[doc(hidden)]
69pub mod bezier_segment;
70pub mod color;
71#[doc(hidden)]
72pub mod ellipse;
73#[doc(hidden)]
74pub mod matrix3x2f;
75#[doc(hidden)]
76pub mod point2f;
77#[doc(hidden)]
78pub mod point2i;
79#[doc(hidden)]
80pub mod point2u;
81#[doc(hidden)]
82pub mod quad_bezier_segment;
83#[doc(hidden)]
84pub mod rectf;
85#[doc(hidden)]
86pub mod recti;
87#[doc(hidden)]
88pub mod rectu;
89#[doc(hidden)]
90pub mod rounded_rect;
91#[doc(hidden)]
92pub mod sizef;
93#[doc(hidden)]
94pub mod sizeu;
95#[doc(hidden)]
96pub mod thicknessf;
97#[doc(hidden)]
98pub mod triangle;
99#[doc(hidden)]
100pub mod vector2f;
101#[doc(hidden)]
102pub mod vector2i;