// Generated by scripts/generate.mjs from bindings/api.mjs. Do not edit.
///|
#external
pub type Font
///|
extern "js" fn Font::ffi_generate_shapes(
self : Font,
text : String,
size : Double,
direction : TextDirection,
) -> JsResult[FixedArray[Shape]] =
#| (self, text, size, direction) => { try { return { ok: true, value: (() => self.generateShapes(text, size, ["ltr", "rtl", "tb"][direction]))() }; } catch (error) { return { ok: false, error: String(error) }; } }
///|
pub fn Font::generate_shapes(
self : Font,
text : String,
size : Double,
direction : TextDirection,
) -> FixedArray[Shape] raise ModelingError {
match self.ffi_generate_shapes(text, size, direction).into_result() {
Ok(value) => value
Err(message) => raise ModelingError(message)
}
}
///|
extern "js" fn Font::ffi_family_name(self : Font) -> Nullable[String] =
#| (self) => self.data.familyName
///|
pub fn Font::family_name(self : Font) -> String? {
self.ffi_family_name().to_option()
}