Name Description Size Coverage
channel.rs 6314 -
color.rs 4885 -
debugger.rs 2278 -
display_item.rs 97263 -
display_list.rs 70158 -
font.rs 12712 -
gradient_builder.rs 6500 -
image.rs 21717 -
interned_prims.rs Interned primitive scene descriptions. These are the per-primitive "scene description" structs that `webrender` interns (the `T` in its `PrimKey<T>` / `Internable` machinery). Their fields are all api-resident, so they live here in `webrender_api` to let content-process interning in the `DisplayListBuilder` hold them; `webrender` re-exports each from its former home and keeps the `Internable` / `InternablePrimitive` impls and per-frame templates (the trait and templates are webrender-internal). Not part of the public API surface. 3998 -
key_types.rs Hashable building blocks for WebRender interning keys. These are `f32`-bit-hashed / `Au`-quantized wrappers around geometry and color types, used as fragments of the interning keys for primitives (and, going forward, clips and other interned items). They live in `webrender_api` so that keys built in the content process can reference only api-resident types; `webrender` re-exports them from their former homes. 17261 -
lib.rs The `webrender_api` crate contains an assortment types and functions used by WebRender consumers as well as, in many cases, WebRender itself. This separation allows Servo to parallelize compilation across `webrender` and other crates that depend on `webrender_api`. So in practice, we put things in this crate when Servo needs to use them. Firefox depends on the `webrender` crate directly, and so this distinction is not really relevant there. 28902 -
prim_geometry.rs Primitive geometry simplification / gradient optimization helpers. These are pure, behaviour-neutral geometry functions that simplify a repeated/tiled primitive and pre-clip/optimize gradients before they are handed to the GPU. They operate only on api-resident types so that they can be shared between `webrender` (frame/scene building) and content-process interning in the `DisplayListBuilder`; `webrender` re-exports them from their former homes. Not part of the public API surface. 12806 -
tile_pool.rs 5961 -
units.rs A collection of coordinate spaces and their corresponding Point, Size and Rect types. Physical pixels take into account the device pixel ratio and their dimensions tend to correspond to the allocated size of resources in memory, while logical pixels don't have the device pixel ratio applied which means they are agnostic to the usage of hidpi screens and the like. The terms "layer" and "stacking context" can be used interchangeably in the context of coordinate systems. See also webrender/doc/coordinate-spaces.md 13036 -