diff options
Diffstat (limited to 'examples/bmp.rs')
| -rw-r--r-- | examples/bmp.rs | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/examples/bmp.rs b/examples/bmp.rs new file mode 100644 index 0000000..b1c2117 --- /dev/null +++ b/examples/bmp.rs @@ -0,0 +1,40 @@ +#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] + +use std::num::NonZeroU32; + +use alligator_render::{config::WindowMode, ImageFormat, Instance, RenderWindowConfig, Renderer}; +use winit::event_loop::EventLoop; + +fn main() { + // configure the render window + let config = RenderWindowConfig { + title: "Bumper Sticker", + instance_capacity: 1, + default_width: NonZeroU32::new(1280).unwrap(), + default_height: NonZeroU32::new(720).unwrap(), + mode: WindowMode::BorderlessFullscreen, + vsync: false, + ..Default::default() + }; + + let texture = include_bytes!("res/sample.bmp"); + + let event_loop = EventLoop::new(); + let mut renderer = Renderer::new(&config, &event_loop).unwrap(); + + let texture = renderer + .texture_from_mem(texture, ImageFormat::Bmp) + .unwrap(); + let width = renderer.texture_width(texture).unwrap(); + let height = renderer.texture_height(texture).unwrap(); + let x = renderer.texture_x(texture).unwrap(); + let y = renderer.texture_y(texture).unwrap(); + + renderer.push_instance(Instance { + texture_size: [width, height], + texture_coordinates: [x, y], + ..Default::default() + }); + + renderer.run(event_loop); +} |
