Every native platform now runs on the HAL (makepad-hal) alone: macOS and iOS/tvOS on Metal, Windows on D3D11 (with device-loss recovery), Linux on Vulkan (X11, Wayland and direct KMS, multi-GPU laptops with per-output modes, mirror/extended arrangements and pacing) plus a GLES backend, and Android on Vulkan with media, camera, network, haptics and file access on the HAL. The old per-OS backends, the hal cfg and OpenHarmony are gone. GPU memory: the HAL reads the device budget, keeps a UI reserve and raises GpuPressure; failed allocations wait for room. One font service per host, a frame profiler, held events for hidden views, automation for tests. Our own generated Vulkan, Wayland and Windows bindings replace vendored ones. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
18 lines
852 B
Rust
18 lines
852 B
Rust
//! Prints the font asset manifest `app_main!` links for a font set (`Latin`, the default, or
|
|
//! `International`): `cargo makepad android run-host` packages the fonts of an app it does not
|
|
//! build with rustc (the app is compiled on the phone), so it asks the platform for the set.
|
|
|
|
use makepad_platform::{INTERNATIONAL_FONT_ASSET_MANIFEST, LATIN_FONT_ASSET_PACKAGE_MANIFEST};
|
|
|
|
fn main() {
|
|
let set = std::env::args().nth(1).unwrap_or_else(|| "Latin".to_string());
|
|
let manifest: &[u8] = match set.as_str() {
|
|
"Latin" => LATIN_FONT_ASSET_PACKAGE_MANIFEST,
|
|
"International" => INTERNATIONAL_FONT_ASSET_MANIFEST,
|
|
other => {
|
|
eprintln!("font_manifest: unknown font set {other:?} (Latin or International)");
|
|
std::process::exit(2);
|
|
}
|
|
};
|
|
print!("{}", String::from_utf8_lossy(manifest));
|
|
}
|