webrender_api/
lib.rs

1/* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4
5//! The `webrender_api` crate contains an assortment types and functions used
6//! by WebRender consumers as well as, in many cases, WebRender itself.
7//!
8//! This separation allows Servo to parallelize compilation across `webrender`
9//! and other crates that depend on `webrender_api`. So in practice, we put
10//! things in this crate when Servo needs to use them. Firefox depends on the
11//! `webrender` crate directly, and so this distinction is not really relevant
12//! there.
13
14#![cfg_attr(feature = "nightly", feature(nonzero))]
15#![cfg_attr(feature = "cargo-clippy", allow(clippy::float_cmp, clippy::too_many_arguments))]
16#![cfg_attr(feature = "cargo-clippy", allow(clippy::unreadable_literal, clippy::new_without_default))]
17
18extern crate app_units;
19#[macro_use]
20extern crate bitflags;
21extern crate byteorder;
22#[cfg(feature = "nightly")]
23extern crate core;
24#[cfg(target_os = "macos")]
25extern crate core_foundation;
26#[cfg(target_os = "macos")]
27extern crate core_graphics;
28#[macro_use]
29extern crate derive_more;
30pub extern crate euclid;
31#[cfg(feature = "ipc")]
32extern crate ipc_channel;
33#[macro_use]
34extern crate malloc_size_of_derive;
35extern crate serde;
36#[macro_use]
37extern crate serde_derive;
38extern crate time;
39
40extern crate malloc_size_of;
41extern crate peek_poke;
42
43mod api;
44pub mod channel;
45mod color;
46mod display_item;
47mod display_list;
48mod font;
49mod gradient_builder;
50mod image;
51pub mod units;
52
53pub use crate::api::*;
54pub use crate::color::*;
55pub use crate::display_item::*;
56pub use crate::display_list::*;
57pub use crate::font::*;
58pub use crate::gradient_builder::*;
59pub use crate::image::*;