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
//! fumarole is a simple engine for simple games and gui applications alike.
//! It uses glium for rendering, and it is quite efficient size it's a 2d engine
//! and draws everything in the same draw call.
//!
//! # Example
//! ```
//! extern crate fumarole;
//!
//! use fumarole::*;
//!
//! struct Test {
//!     x: f32
//! };
//!
//! impl State for Test {
//!     fn draw(&self, frame: &mut Frame, _data: &StateData) {
//!         frame.rect()
//!             .position(Vec2::new(self.x, 0.0))
//!             .draw();
//!     }
//! }
//!
//! fn main() {
//!     Application::new()
//!         .run(|_loader| {
//!             Box::new(Test {
//!                 x: -1.0
//!             }) 
//!         });
//! }
//! ```

#[macro_use]
extern crate glium;
extern crate image;
extern crate rusttype;

pub mod application;
pub mod state;
pub mod color;
pub mod math;
pub mod rendering;
mod loader;
mod font;
mod text_input;
pub(crate) mod drawing_data;
pub(crate) mod texture_atlas;
mod transform;

pub type KeyCode = glium::glutin::event::VirtualKeyCode;

pub(crate) use rendering::RECT_VERTS;

pub use application::*;
pub use state::*;
pub use rendering::{
    Anchor,
    Frame,
    Canvas,
};
pub use image::ImageFormat::*;
pub use loader::*;
pub use font::*;
pub use glium::glutin::event::MouseButton;
pub use text_input::*;
pub(crate) use drawing_data::*;
pub use transform::*;
pub use math::*;