Hi,
I've been trying to re-do the pixels "minimal" example, except I tried to make it much more minimal. I think I over-minimalized it since it's just showing a black screen on my device (Pop!_OS 21.04). Any help would be appreciated. Here's my code:
use winit::event::{Event, WindowEvent};
use winit::event_loop::ControlFlow;
fn draw(frame: &mut [u8]) {
for pixel in frame {
*pixel = 255;
}
}
fn main() {
let event_loop = winit::event_loop::EventLoop::new();
let window = {
let size = winit::dpi::LogicalSize::new(320.0, 240.0);
winit::window::WindowBuilder::new()
.with_title("Pixels Test")
.with_inner_size(size)
.with_min_inner_size(size)
.build(&event_loop)
.unwrap()
};
let mut pixels = {
let window_size = window.inner_size();
let surface_texture = pixels::SurfaceTexture::new(window_size.width, window_size.height, &window);
pixels::Pixels::new(window_size.width, window_size.height, surface_texture).unwrap()
};
draw(pixels.get_frame());
event_loop.run(move |event, _, control_flow| {
*control_flow = ControlFlow::Poll;
match event {
Event::WindowEvent {
event: WindowEvent::CloseRequested,
..
} => *control_flow = ControlFlow::Exit,
Event::RedrawRequested(_) => {
if pixels.render().is_err() {
*control_flow = ControlFlow::Exit;
}
},
_ => {}
};
window.request_redraw();
});
}
Thanks!
Edit: I wanted to note that the screen isn't frozen; I can quit out of it perfectly fine. It's just showing a black screen.