From ca5076a4530852ab7c13b0b7645e6cb1bd34c693 Mon Sep 17 00:00:00 2001 From: Drakulix Date: Fri, 2 Jun 2017 15:26:50 +0200 Subject: [PATCH] Provide a little more fleshed out and working example --- examples/simple.rs | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/examples/simple.rs b/examples/simple.rs index 18ae991..c9df850 100644 --- a/examples/simple.rs +++ b/examples/simple.rs @@ -1,6 +1,9 @@ extern crate wayland_server; extern crate smithay; +extern crate glium; +use glium::Surface; +use smithay::backend::graphics::glium::IntoGlium; use smithay::backend::input::InputBackend; use smithay::backend::winit; use smithay::shm::ShmGlobal; @@ -8,15 +11,13 @@ use wayland_server::protocol::wl_shm; fn main() { // Initialize a simple backend for testing - let (mut renderer, mut input) = winit::init().unwrap(); + let (renderer, mut input) = winit::init().unwrap(); - let (_, mut event_loop) = wayland_server::create_display(); + let (_display, mut event_loop) = wayland_server::create_display(); // Insert the ShmGlobal as a handler to your event loop // Here, we specify tha the standard Argb8888 and Xrgb8888 is the only supported. - let handler_id = - event_loop.add_handler_with_init(ShmGlobal::new(vec![], - None /* we don't provide a logger here */)); + let handler_id = event_loop.add_handler_with_init(ShmGlobal::new(vec![], None /* we don't provide a logger here */)); // Register this handler to advertise a wl_shm global of version 1 let shm_global = event_loop.register_global::(handler_id, 1); @@ -27,10 +28,17 @@ fn main() { state.get_handler::(handler_id).get_token() }; - // TODO render stuff + // Init glium + let context = renderer.into_glium(); - // TODO put input handling on the event loop - input.dispatch_new_events().unwrap(); - event_loop.run().unwrap(); + loop { + input.dispatch_new_events().unwrap(); + + let mut frame = context.draw(); + frame.clear(None, Some((0.0, 0.0, 0.0, 1.0)), false, None, None); + frame.finish().unwrap(); + + event_loop.dispatch(Some(16)).unwrap(); + } }