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

///|
#external
pub type Matrix2

///|
#module("@mizchi/three-mbt/constructors")
pub extern "js" fn Matrix2::Matrix2() -> Matrix2 = "matrix2"

///|
pub extern "js" fn Matrix2::is_matrix2(self : Matrix2) -> Bool =
  #| (self) => self.isMatrix2

///|
pub extern "js" fn Matrix2::elements(self : Matrix2) -> FixedArray[Double] =
  #| (self) => self.elements.slice()

///|
pub extern "js" fn Matrix2::identity(self : Matrix2) -> Matrix2 =
  #| (self) => self.identity()

///|
pub extern "js" fn Matrix2::set(
  self : Matrix2,
  n11 : Double,
  n12 : Double,
  n21 : Double,
  n22 : Double,
) -> Matrix2 =
  #| (self, n11, n12, n21, n22) => self.set(n11, n12, n21, n22)

///|
pub extern "js" fn Matrix2::from_array(
  self : Matrix2,
  values : FixedArray[Double],
  offset : Int,
) -> Matrix2 =
  #| (self, values, offset) => self.fromArray(values, offset)