// Generated by scripts/generate.mjs from bindings/api.mjs. Do not edit.

///|
#external
pub type TextGeometryOptions

///|
#module("@mizchi/three-mbt/modeling-io")
pub extern "js" fn TextGeometryOptions::TextGeometryOptions(
  font : Font,
  size : Double,
  depth : Double,
) -> TextGeometryOptions = "textGeometryOptions"

///|
pub fn TextGeometryOptions::as_extrude_options(
  self : TextGeometryOptions,
) -> ExtrudeOptions = "%identity"

///|
pub extern "js" fn TextGeometryOptions::font(
  self : TextGeometryOptions,
) -> Font =
  #| (self) => self.font

///|
pub extern "js" fn TextGeometryOptions::set_font(
  self : TextGeometryOptions,
  value : Font,
) -> Unit =
  #| (self, value) => { self.font = value; }

///|
pub extern "js" fn TextGeometryOptions::size(
  self : TextGeometryOptions,
) -> Double =
  #| (self) => self.size

///|
pub extern "js" fn TextGeometryOptions::set_size(
  self : TextGeometryOptions,
  value : Double,
) -> Unit =
  #| (self, value) => { self.size = value; }

///|
pub extern "js" fn TextGeometryOptions::set_direction(
  self : TextGeometryOptions,
  direction : TextDirection,
) -> Unit =
  #| (self, direction) => { self.direction = ["ltr", "rtl", "tb"][direction]; }