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
//            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
//                    Version 2, December 2004
//
// Copyleft (ↄ) meh. <meh@schizofreni.co> | http://meh.schizofreni.co
//
// Everyone is permitted to copy and distribute verbatim or modified
// copies of this license document, and changing it is allowed as long
// as the name is changed.
//
//            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
//   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
//
//  0. You just DO WHAT THE FUCK YOU WANT TO.

//! Image encoding/decoding and manipulation library.

#![cfg_attr(feature = "nightly", feature(specialization))]
#[cfg(test)] #[macro_use] extern crate approx;

extern crate byteorder;
extern crate num;

#[doc(hidden)]
pub extern crate palette;

/// Color types.
pub mod color {
	pub use palette::*;
	pub use palette::pixel::*;
}

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

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

#[cfg(any(feature = "bmp", feature = "tga"))]
extern crate imagefmt;

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

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

#[macro_use]
mod util;

mod error;
pub use error::{Error, Result};

mod parameter;
pub use parameter::{HasParameters, Parameter};

mod region;
pub use region::Region;

mod orientation;
pub use orientation::Orientation;

/// Basic traits for types within buffers and views.
pub mod pixel;
pub use pixel::Pixel;

/// Buffer related functionality.
pub mod buffer;
pub use buffer::Buffer;

/// Types of view within a `Buffer`.
pub mod view;
pub use view::View;

/// Iterator types.
pub mod iter;

/// Image manipulation functions.
pub mod processing;

/// Image format related functions.
pub mod format;
pub use format::Format;

mod decoder;
pub use decoder::Decoder;

mod encoder;
pub use encoder::Encoder;

/// Image decoding functions.
pub mod read;

/// Image encoding functions.
pub mod write;