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

///|
#external
pub type StrokeStyle

///|
#module("@mizchi/three-mbt/modeling-io")
pub extern "js" fn StrokeStyle::StrokeStyle(
  width : Double,
  color : String,
  line_join : StrokeLineJoin,
  line_cap : StrokeLineCap,
  miter_limit : Double,
) -> StrokeStyle = "strokeStyle"

///|
pub extern "js" fn StrokeStyle::width(self : StrokeStyle) -> Double =
  #| (self) => self.strokeWidth

///|
pub extern "js" fn StrokeStyle::set_width(
  self : StrokeStyle,
  value : Double,
) -> Unit =
  #| (self, value) => { self.strokeWidth = value; }

///|
pub extern "js" fn StrokeStyle::color(self : StrokeStyle) -> String =
  #| (self) => self.strokeColor

///|
pub extern "js" fn StrokeStyle::set_color(
  self : StrokeStyle,
  value : String,
) -> Unit =
  #| (self, value) => { self.strokeColor = value; }

///|
pub extern "js" fn StrokeStyle::miter_limit(self : StrokeStyle) -> Double =
  #| (self) => self.strokeMiterLimit

///|
pub extern "js" fn StrokeStyle::set_miter_limit(
  self : StrokeStyle,
  value : Double,
) -> Unit =
  #| (self, value) => { self.strokeMiterLimit = value; }