| use gpu_display::GpuDisplay; |
| |
| fn main() { |
| let mut disp = GpuDisplay::open_x(None::<&str>).unwrap(); |
| let surface_id = disp.create_surface(None, 1280, 1024).unwrap(); |
| |
| let mem = disp.framebuffer(surface_id).unwrap(); |
| for y in 0..1024 { |
| let mut row = [0u32; 1280]; |
| for (x, item) in row.iter_mut().enumerate() { |
| let b = ((x as f32 / 1280.0) * 256.0) as u32; |
| let g = ((y as f32 / 1024.0) * 256.0) as u32; |
| *item = b | (g << 8); |
| } |
| mem.as_volatile_slice() |
| .offset(1280 * 4 * y) |
| .unwrap() |
| .copy_from(&row); |
| } |
| disp.flip(surface_id); |
| |
| while !disp.close_requested(surface_id) { |
| disp.dispatch_events(); |
| } |
| } |