1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
mod display; mod service; use {VRService, VRServiceCreator, VREyeParameters, VRStageParameters}; use std::sync::mpsc::{channel, Sender}; pub struct MockServiceCreator; impl MockServiceCreator { pub fn new() -> Box<VRServiceCreator> { Box::new(MockServiceCreator) } pub fn new_service_with_remote() -> (Box<VRService>, Sender<MockVRControlMsg>) { let (send, rcv) = channel(); let service = service::MockVRService::new_with_receiver(rcv); (Box::new(service), send) } } impl VRServiceCreator for MockServiceCreator { fn new_service(&self) -> Box<VRService> { Box::new(service::MockVRService::new()) } } pub enum MockVRControlMsg { SetViewerPose([f32; 3], [f32; 4]), SetEyeParameters(VREyeParameters, VREyeParameters), SetProjectionMatrices([f32; 16], [f32; 16]), SetStageParameters(VRStageParameters), Focus, Blur, }