drivers/native/devices/window_screen/
mod.rs1mod keyboard;
2mod pointer;
3mod screen;
4mod window;
5mod wrapper;
6
7use std::sync::{Arc, Mutex};
8
9use file_system::{Device, create_device};
10use graphics::Point;
11
12use keyboard::*;
13use pointer::*;
14use screen::*;
15use window::*;
16use wrapper::*;
17
18pub fn new(resolution: Point) -> Result<(Device, Device, Device), String> {
19 let inner = Arc::new(Mutex::new(Inner::new(resolution)?));
20
21 let screen_device = ScreenDevice::new(inner.clone());
22
23 let pointer_device = PointerDevice::new(inner.clone());
24
25 let keyboard_device = KeyboardDevice::new(inner);
26
27 Ok((
28 create_device!(screen_device),
29 create_device!(pointer_device),
30 create_device!(keyboard_device),
31 ))
32}