X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=lib.rs;h=24ef697840c82b47f266cf512ed8310939f7f831;hb=29b275596efed3b3064072483aa6d8c4cba1e3d4;hp=aaf2b3c708b4786b9183b8c0d690c305ec345e6b;hpb=c298ca511683f329dfedd18bf9490520586cf8cf;p=mandelwow.git diff --git a/lib.rs b/lib.rs index aaf2b3c..24ef697 100644 --- a/lib.rs +++ b/lib.rs @@ -1,17 +1,28 @@ -extern crate cgmath; -#[macro_use(uniform,program,implement_vertex)] -extern crate glium; -extern crate glutin; -extern crate libxm; -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 crate::bounding_box::BoundingBox; +pub use crate::cube::Cube; +pub use crate::shaded_cube::ShadedCube; +pub use crate::text::Text; +pub use crate::timer::Timer; + +#[cfg(feature = "image")] +pub fn screenshot(display : &glium::Display) { + let image: glium::texture::RawImage2d<'_, u8> = display.read_front_buffer().unwrap(); + 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.write_to(&mut output, image::ImageFormat::PNG).unwrap(); +} -pub use bounding_box::BoundingBox; -pub use cube::Cube; -pub use shaded_cube::ShadedCube; +#[cfg(not(feature = "image"))] +pub fn screenshot(_ : &glium::Display) { +}