2017-03-07 10:53:57 +00:00
|
|
|
//! Backend (rendering/input) creation helpers
|
|
|
|
//!
|
|
|
|
//! Collection of common traits and implementation about
|
|
|
|
//! rendering onto various targets and receiving input
|
|
|
|
//! from various sources.
|
|
|
|
//!
|
|
|
|
//! Supported graphics backends:
|
|
|
|
//!
|
2017-05-18 20:28:02 +00:00
|
|
|
//! - winit
|
2017-09-14 12:00:11 +00:00
|
|
|
//! - drm
|
2017-03-07 10:53:57 +00:00
|
|
|
//!
|
|
|
|
//! Supported input backends:
|
|
|
|
//!
|
2017-05-18 20:28:02 +00:00
|
|
|
//! - winit
|
|
|
|
//! - libinput
|
2017-03-07 10:53:57 +00:00
|
|
|
|
|
|
|
pub mod input;
|
|
|
|
pub mod graphics;
|
|
|
|
|
2017-05-18 20:28:02 +00:00
|
|
|
#[cfg(feature = "backend_winit")]
|
|
|
|
pub mod winit;
|
2017-09-13 20:51:35 +00:00
|
|
|
#[cfg(feature = "backend_drm")]
|
|
|
|
pub mod drm;
|
2017-04-14 22:23:03 +00:00
|
|
|
#[cfg(feature = "backend_libinput")]
|
|
|
|
pub mod libinput;
|
2017-03-07 10:53:57 +00:00
|
|
|
|
2017-06-02 11:17:06 +00:00
|
|
|
// Internal functions that need to be accessible by the different backend implementations
|
2017-03-19 20:55:32 +00:00
|
|
|
|
|
|
|
trait SeatInternal {
|
2017-04-14 22:24:23 +00:00
|
|
|
fn new(id: u64, capabilities: input::SeatCapabilities) -> Self;
|
|
|
|
fn capabilities_mut(&mut self) -> &mut input::SeatCapabilities;
|
2017-03-19 20:55:32 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
trait TouchSlotInternal {
|
2017-04-23 22:30:02 +00:00
|
|
|
fn new(id: u64) -> Self;
|
2017-03-07 10:53:57 +00:00
|
|
|
}
|