X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=lib.rs;h=21e7a4cb5da748a70ff29479742999f38d626466;hb=5472d544cd467961d9ed1eb33cc89581938a131c;hp=8fd85f419be5ad221d0347cde5b668f28aba6f6b;hpb=4bffab48bf2013c60962e848a98ce4064973cf5e;p=mandelwow.git diff --git a/lib.rs b/lib.rs index 8fd85f4..21e7a4c 100644 --- a/lib.rs +++ b/lib.rs @@ -1,14 +1,37 @@ extern crate cgmath; -#[macro_use(uniform,program,implement_vertex)] +#[macro_use(uniform,implement_vertex)] extern crate glium; extern crate glutin; +#[cfg(feature = "image")] +extern crate image; extern crate libxm; +#[cfg(feature = "editor")] +extern crate rust_rocket; extern crate sdl2; pub mod bounding_box; pub mod cube; pub mod mandelwow; +pub mod shaded_cube; pub mod sound; pub mod support; +pub mod text; +pub mod timer; +pub use bounding_box::BoundingBox; pub use cube::Cube; +pub use shaded_cube::ShadedCube; + +#[cfg(feature = "image")] +pub fn screenshot(display : &glium::Display) { + let image: glium::texture::RawImage2d = display.read_front_buffer(); + let image = image::ImageBuffer::from_raw(image.width, image.height, image.data.into_owned()).unwrap(); + let image = image::DynamicImage::ImageRgba8(image).flipv().to_rgb(); + let image = image::DynamicImage::ImageRgb8(image); + let mut output = std::fs::File::create(&std::path::Path::new("screenshot.png")).unwrap(); + image.save(&mut output, image::ImageFormat::PNG).unwrap(); +} + +#[cfg(not(feature = "image"))] +pub fn screenshot(_ : &glium::Display) { +}