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
35
36
37
38
39
40
41
42
43
//! This crate provides bindings to the official wayland protocol extensions
//! provided in https://cgit.freedesktop.org/wayland/wayland-protocols
//!
//! These bindings are built on top of the crates wayland-client and wayland-server.
//!
//! Each protocol module contains a `client` and a `server` submodules, for each side of the
//! protocol. The creation of these modules (and the dependency on the associated crate) is
//! controlled by the two cargo features `client` and `server`.
//!
//! The cargo feature `unstable_protocols` adds an `unstable` module, containing bindings
//! to protocols that are not yet considered stable. As such, no stability guarantee is
//! given for these protocols.
//!
//! Some protocols require unstable rust features, the inclusion of them is controlled
//! by the cargo feature `nightly`.

#![warn(missing_docs)]

#[cfg(feature = "client")]
extern crate wayland_client;

#[cfg(feature = "server")]
extern crate wayland_server;

extern crate wayland_commons;

#[cfg(feature = "native_lib")]
#[macro_use]
extern crate wayland_sys;

#[macro_use]
extern crate bitflags;

#[macro_use]
mod protocol_macro;

#[cfg(feature = "unstable_protocols")]
pub mod unstable;

pub mod wlr;

mod stable;
pub use stable::*;