1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#![cfg_attr(feature = "docs", warn(missing_docs))]
//! 2D Mathematics library designed for use with 2D drawing applications.
//! 
//! Primarily designed for the needs of Direct2D, but this library should
//! be perfectly capable of filling in the needs of other libraries such
//! as Cairo. If you would like interoperability defitions added please feel
//! free to open a pull request on the [repository][1].
//! 
//! Currently compatible with:
//! - Direct2D (winapi types)
//! - [Mint][2]
//! 
//! [1]: https://github.com/connicpu/math2d
//! [2]: https://docs.rs/mint

#[cfg(all(feature = "serde", feature = "serde_derive"))]
#[macro_use]
extern crate serde_derive;
#[cfg(all(feature = "serde", feature = "serde_derive"))]
extern crate serde;

#[cfg(all(windows, feature = "winapi"))]
extern crate winapi;

#[cfg(feature = "mint")]
extern crate mint;

#[doc(inline)]
pub use arc_segment::{ArcSegment, ArcSize, SweepDirection};
#[doc(inline)]
pub use bezier_segment::BezierSegment;
pub use color::Color;
#[doc(inline)]
pub use ellipse::Ellipse;
#[doc(inline)]
pub use matrix3x2f::Matrix3x2f;
#[doc(inline)]
pub use point2f::Point2f;
#[doc(inline)]
pub use point2i::Point2i;
#[doc(inline)]
pub use point2u::Point2u;
#[doc(inline)]
pub use quad_bezier_segment::QuadBezierSegment;
#[doc(inline)]
pub use rectf::{RectCorner, Rectf};
#[doc(inline)]
pub use recti::Recti;
#[doc(inline)]
pub use rectu::Rectu;
#[doc(inline)]
pub use rounded_rect::RoundedRect;
#[doc(inline)]
pub use sizef::Sizef;
#[doc(inline)]
pub use sizeu::Sizeu;
#[doc(inline)]
pub use thicknessf::Thicknessf;
#[doc(inline)]
pub use triangle::Triangle;
#[doc(inline)]
pub use vector2f::Vector2f;
#[doc(inline)]
pub use vector2i::Vector2i;

#[doc(hidden)]
pub mod arc_segment;
#[doc(hidden)]
pub mod bezier_segment;
pub mod color;
#[doc(hidden)]
pub mod ellipse;
#[doc(hidden)]
pub mod matrix3x2f;
#[doc(hidden)]
pub mod point2f;
#[doc(hidden)]
pub mod point2i;
#[doc(hidden)]
pub mod point2u;
#[doc(hidden)]
pub mod quad_bezier_segment;
#[doc(hidden)]
pub mod rectf;
#[doc(hidden)]
pub mod recti;
#[doc(hidden)]
pub mod rectu;
#[doc(hidden)]
pub mod rounded_rect;
#[doc(hidden)]
pub mod sizef;
#[doc(hidden)]
pub mod sizeu;
#[doc(hidden)]
pub mod thicknessf;
#[doc(hidden)]
pub mod triangle;
#[doc(hidden)]
pub mod vector2f;
#[doc(hidden)]
pub mod vector2i;