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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
extern crate cairo_sys as ffi;
extern crate libc;
extern crate c_vec;
#[cfg(feature = "glib")]
#[macro_use]
extern crate glib;
pub use ffi::enums;
pub use ffi::cairo_rectangle_t as Rectangle;
pub use context::{
Context,
RectangleVec,
};
pub use paths::{
Path,
PathSegments,
PathSegment
};
pub use enums::{
Status,
Antialias,
Content,
Extend,
FillRule,
Filter,
LineCap,
LineJoin,
Operator,
PathDataType,
Format,
SurfaceType,
};
pub use error::{
BorrowError,
IoError,
};
pub use patterns::{
Pattern,
Gradient,
LinearGradient,
RadialGradient,
SolidPattern,
SurfacePattern,
};
#[cfg(feature = "v1_12")]
pub use patterns::{
Mesh,
MeshCorner,
};
pub use font::{
FontFace,
FontType,
FontSlant,
FontWeight,
ScaledFont,
FontOptions,
Glyph,
FontExtents,
TextExtents,
TextCluster,
};
pub use matrices::{
Matrix,
MatrixTrait,
};
pub use rectangle::RectangleInt;
pub use surface::Surface;
pub use image_surface::{
ImageSurface,
ImageSurfaceData,
};
#[cfg(feature = "xcb")]
pub use xcb::{
XCBConnection,
XCBSurface,
Device,
XCBDrawable,
XCBPixmap,
XCBRenderPictFormInfo,
XCBScreen,
XCBVisualType,
};
pub mod prelude;
mod font;
mod context;
mod error;
mod image_surface;
#[cfg(feature = "png")]
mod image_surface_png;
mod paths;
mod patterns;
mod rectangle;
mod surface;
mod matrices;
#[cfg(feature = "xcb")]
mod xcb;
#[cfg(windows)]
mod win32_surface;
#[cfg(windows)]
pub use win32_surface::Win32Surface;