-
Notifications
You must be signed in to change notification settings - Fork 298
Open
Description
In order to create a AddFontInstance
struct, you have to use an app_units::Au
. This is very annoying because:
app_units
depends on serde and num_traits, both very compile-time heavy crates that are completely unused, yet they still need to be compiled in- This is the only place in the entire public webrender API where
Au
is used app_units
isn't re-exported, so other crates have to add the exact version that webrender uses to their Cargo.toml manually.
So my proposal is to create a function that creates an Au
from an i32 value, this way you don't have to re-export the Au
, i.e.:
pub fn webrender_create_au_from_px(value: i32) -> Option<Au> {
let value = value * AU_PER_PX;
if value < MIN_AU || value > MAX_AU {
None
} else {
Some(Au(value))
}
}
And please make serde
and num-traits
in the app-units
crate optional - for a regular webrender application, these crates go completely unused because serde serialization is only used for the debugger, but these crates still have to be compiled, leading to bad compile times.
kvark and nical