mirror of
https://github.com/slint-ui/slint.git
synced 2025-10-01 06:11:16 +00:00
Remove the public API for registering fonts by path or memory chunk
This is not needed anymore in the light of being able to write `import "blah.ttf"` in .60 markup
This commit is contained in:
parent
cb70f58990
commit
afe3df6381
8 changed files with 8 additions and 60 deletions
|
@ -687,6 +687,8 @@ inline void quit_event_loop()
|
|||
cbindgen_private::sixtyfps_quit_event_loop();
|
||||
}
|
||||
|
||||
namespace private_api {
|
||||
|
||||
/// Registers a font by the specified path. The path must refer to an existing
|
||||
/// TrueType font font.
|
||||
/// \returns an empty optional on success, otherwise an error string
|
||||
|
@ -701,4 +703,6 @@ inline std::optional<SharedString> register_font_from_path(const SharedString &p
|
|||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
} // namespace sixtyfps
|
||||
|
|
|
@ -234,5 +234,4 @@ module.exports = {
|
|||
Timer: {
|
||||
singleShot: native.singleshot_timer,
|
||||
},
|
||||
register_font_from_path: native.register_font_from_path,
|
||||
};
|
||||
|
|
|
@ -527,22 +527,10 @@ fn singleshot_timer(mut cx: FunctionContext) -> JsResult<JsValue> {
|
|||
Ok(JsUndefined::new().upcast())
|
||||
}
|
||||
|
||||
fn register_font_from_path(mut cx: FunctionContext) -> JsResult<JsValue> {
|
||||
let path = cx.argument::<JsString>(0)?.value();
|
||||
|
||||
match sixtyfps_interpreter::register_font_from_path(&path) {
|
||||
Ok(_) => Ok(JsUndefined::new().upcast()),
|
||||
Err(load_err) => {
|
||||
return cx.throw_error(format!("error loading font {}: {}", path, load_err));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
register_module!(mut m, {
|
||||
m.export_function("load", load)?;
|
||||
m.export_function("mock_elapsed_time", mock_elapsed_time)?;
|
||||
m.export_function("singleshot_timer", singleshot_timer)?;
|
||||
m.export_function("register_font_from_path", register_font_from_path)?;
|
||||
Ok(())
|
||||
});
|
||||
|
||||
|
|
|
@ -174,6 +174,7 @@ pub use sixtyfps_corelib::{Brush, Color, RgbaColor};
|
|||
/// This function can be used to register a custom TrueType font with SixtyFPS,
|
||||
/// for use with the `font-family` property. The provided slice must be a valid TrueType
|
||||
/// font.
|
||||
#[doc(hidden)]
|
||||
pub fn register_font_from_memory(data: &'static [u8]) -> Result<(), Box<dyn std::error::Error>> {
|
||||
sixtyfps_rendering_backend_default::backend().register_font_from_memory(data)
|
||||
}
|
||||
|
@ -181,6 +182,7 @@ pub fn register_font_from_memory(data: &'static [u8]) -> Result<(), Box<dyn std:
|
|||
/// This function can be used to register a custom TrueType font with SixtyFPS,
|
||||
/// for use with the `font-family` property. The provided path must refer to a valid TrueType
|
||||
/// font.
|
||||
#[doc(hidden)]
|
||||
pub fn register_font_from_path<P: AsRef<std::path::Path>>(
|
||||
path: P,
|
||||
) -> Result<(), Box<dyn std::error::Error>> {
|
||||
|
|
|
@ -119,29 +119,3 @@ impl WrappedCompiledComp {
|
|||
component.run();
|
||||
}
|
||||
}
|
||||
|
||||
/// Downloads the font from the specified url and registers it as a font
|
||||
/// for use in text elements.
|
||||
#[wasm_bindgen]
|
||||
pub async fn register_font(url: String) -> Result<(), JsValue> {
|
||||
#[cfg(feature = "console_error_panic_hook")]
|
||||
console_error_panic_hook::set_once();
|
||||
|
||||
let mut opts = RequestInit::new();
|
||||
opts.method("GET");
|
||||
opts.mode(RequestMode::Cors);
|
||||
|
||||
let request = Request::new_with_str_and_init(&url, &opts)?;
|
||||
|
||||
let window = web_sys::window().unwrap();
|
||||
let resp_value = JsFuture::from(window.fetch_with_request(&request)).await?;
|
||||
|
||||
let resp: Response = resp_value.dyn_into().unwrap();
|
||||
|
||||
let data = js_sys::Uint8Array::new(&JsFuture::from(resp.array_buffer()?).await?);
|
||||
let data = data.to_vec();
|
||||
|
||||
sixtyfps_interpreter::register_font_from_memory(&data).unwrap();
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
|
|
@ -1585,7 +1585,7 @@ fn compile_expression(
|
|||
panic!("internal error: incorrect argument count to RegisterCustomFontByPath call");
|
||||
}
|
||||
if let Expression::StringLiteral(font_path) = &arguments[0] {
|
||||
format!("sixtyfps::register_font_from_path(\"{}\");", font_path)
|
||||
format!("sixtyfps::private_api::register_font_from_path(\"{}\");", font_path)
|
||||
} else {
|
||||
panic!("internal error: argument to RegisterCustomFontByPath must be a string literal")
|
||||
}
|
||||
|
|
|
@ -87,19 +87,12 @@ pub use api::*;
|
|||
/// This function can be used to register a custom TrueType font with SixtyFPS,
|
||||
/// for use with the `font-family` property. The provided path must refer to a valid TrueType
|
||||
/// font.
|
||||
pub fn register_font_from_path<P: AsRef<std::path::Path>>(
|
||||
pub(crate) fn register_font_from_path<P: AsRef<std::path::Path>>(
|
||||
path: P,
|
||||
) -> Result<(), Box<dyn std::error::Error>> {
|
||||
sixtyfps_rendering_backend_default::backend().register_font_from_path(path.as_ref())
|
||||
}
|
||||
|
||||
/// This function can be used to register a custom TrueType font with SixtyFPS,
|
||||
/// for use with the `font-family` property. The provided slice must be a valid TrueType
|
||||
/// font.
|
||||
pub fn register_font_from_memory(data: &[u8]) -> Result<(), Box<dyn std::error::Error>> {
|
||||
sixtyfps_rendering_backend_default::backend().register_font_from_memory(data)
|
||||
}
|
||||
|
||||
/// (Re-export from corelib.)
|
||||
#[doc(inline)]
|
||||
pub use sixtyfps_corelib::{Brush, Color, SharedString, SharedVector};
|
||||
|
|
|
@ -31,10 +31,6 @@ struct Cli {
|
|||
#[structopt(long, name = "style name", default_value)]
|
||||
style: String,
|
||||
|
||||
/// An optionally registered font
|
||||
#[structopt(long, name = "load font")]
|
||||
load_font: Option<Vec<String>>,
|
||||
|
||||
/// Automatically watch the file system, and reload when it changes
|
||||
#[structopt(long)]
|
||||
auto_reload: bool,
|
||||
|
@ -45,14 +41,6 @@ thread_local! {static CURRENT_INSTANCE: std::cell::RefCell<Option<ComponentInsta
|
|||
fn main() -> Result<()> {
|
||||
let args = Cli::from_args();
|
||||
|
||||
args.load_font.as_ref().map(|fonts| {
|
||||
fonts.iter().for_each(|font_path| {
|
||||
if let Err(app_font_err) = sixtyfps_interpreter::register_font_from_path(&font_path) {
|
||||
eprintln!("Error loading app font {}: {}", font_path, app_font_err);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
let fswatcher = if args.auto_reload { Some(start_fswatch_thread(args.clone())?) } else { None };
|
||||
let mut compiler = init_compiler(&args, fswatcher);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue