cognitive_qualia/
lib.rs

1// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of
2// the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/
3
4//! `qualia` is crate containing enumerations, macros and definitions common to all the crates of
5//! `cognitive` and traits used to decouple `cognitive` creates one from another.
6//!
7//! Unfortunately it is also home for small tools not important enough to have their own crate.
8//! TODO: Identify and move to separate crate tools not fitting to purpose of this crate.
9
10extern crate backtrace;
11extern crate libc;
12extern crate libudev; // for implementation of `From` in `errors`.
13extern crate nix;
14extern crate time;
15#[macro_use]
16extern crate bitflags;
17
18#[macro_use]
19extern crate serde_derive;
20
21#[macro_use(timber)]
22extern crate timber;
23extern crate dharma;
24extern crate cognitive_graphics as graphics;
25
26pub mod enums;
27pub use enums::{DeviceKind, KeyState, Action, Direction, InteractionMode};
28
29pub mod errors;
30pub use errors::Illusion;
31
32#[macro_use]
33pub mod macros;
34
35pub mod timing;
36pub use timing::Milliseconds;
37
38pub mod defs;
39pub use defs::{Area, Point, Position, OptionalPosition, Size, Slide, Vector};
40pub use defs::{Command, OutputInfo, DrmBundle, WorkspaceState, WorkspaceInfo};
41pub use defs::{DmabufId, EglImageId, MemoryPoolId, MemoryViewId, SignalId};
42
43pub mod input;
44pub use input::{Axis, Button, Binding, Key, CatchResult, InputCode, InputValue, modifier};
45pub use input::{InputForwarding, InputHandling};
46
47pub mod image;
48pub use image::{Image, Pixmap, PixelFormat};
49
50pub mod memory;
51pub use memory::{Buffer, Memory, MemoryPool, MemoryView};
52
53pub mod configuration;
54pub use configuration::{AestheticsConfig, CompositorConfig, ExhibitorConfig};
55pub use configuration::{KeyboardConfig, InputConfig, StrategistConfig};
56
57pub mod surface;
58pub use surface::{SurfaceContext, SurfaceId, SurfaceIdType, SurfaceInfo, DataSource};
59pub use surface::{SurfaceManagement, SurfaceControl, SurfaceViewer};
60pub use surface::{SurfaceAccess, SurfaceListing, SurfaceFocusing};
61pub use surface::{show_reason, surface_state};
62
63pub mod transfer;
64pub use transfer::Transfer;
65
66pub mod perceptron;
67pub use perceptron::Perceptron;
68
69pub mod traits;
70pub use traits::{AppearanceManagement, DataTransferring, EventHandling, StatePublishing};
71pub use traits::{Screenshooting, MemoryManagement, HwGraphics, WindowManagement};
72pub use traits::GraphicsManagement;
73pub use traits::{AestheticsCoordinationTrait, ExhibitorCoordinationTrait};
74pub use traits::FrontendsCoordinationTrait;
75
76#[macro_use]
77pub mod log;
78pub use log::level;
79
80pub mod env;
81pub use env::{Env, LogDestination};
82
83pub mod settings;
84pub use settings::{Settings, Directories, KeymapSettings};
85
86#[cfg(feature = "testing")]
87pub mod coordinator_mock;