// Generated by scripts/generate.mjs from bindings/api.mjs. Do not edit.
///|
#module("@mizchi/three-mbt/constructors")
pub extern "js" fn Color::from_hex(hex : Int) -> Color = "colorHex"
///|
pub extern "js" fn Color::r(self : Color) -> Double =
#| (self) => self.r
///|
pub extern "js" fn Color::g(self : Color) -> Double =
#| (self) => self.g
///|
pub extern "js" fn Color::b(self : Color) -> Double =
#| (self) => self.b
///|
pub extern "js" fn Color::clone(self : Color) -> Color =
#| (self) => self.clone()
///|
pub extern "js" fn Color::copy(self : Color, other : Color) -> Color =
#| (self, other) => self.copy(other)
///|
pub extern "js" fn Color::equals(self : Color, other : Color) -> Bool =
#| (self, other) => self.equals(other)
///|
pub extern "js" fn Color::same_reference(self : Color, other : Color) -> Bool =
#| (self, other) => self === other
///|
pub extern "js" fn Color::set_hex(self : Color, hex : Int) -> Color =
#| (self, hex) => self.setHex(hex)
///|
pub extern "js" fn Color::get_hex(self : Color) -> Int =
#| (self) => self.getHex()
///|
pub extern "js" fn Color::set_rgb(
self : Color,
r : Double,
g : Double,
b : Double,
) -> Color =
#| (self, r, g, b) => self.setRGB(r, g, b)
///|
pub extern "js" fn Color::lerp(
self : Color,
other : Color,
alpha : Double,
) -> Color =
#| (self, other, alpha) => self.lerp(other, alpha)
///|
pub extern "js" fn Color::multiply(self : Color, other : Color) -> Color =
#| (self, other) => self.multiply(other)
///|
pub extern "js" fn Color::multiply_scalar(
self : Color,
scalar : Double,
) -> Color =
#| (self, scalar) => self.multiplyScalar(scalar)
///|
pub extern "js" fn Color::from_array(
self : Color,
values : FixedArray[Double],
offset : Int,
) -> Color =
#| (self, values, offset) => self.fromArray(values, offset)
///|
pub extern "js" fn Color::to_array(self : Color) -> FixedArray[Double] =
#| (self) => self.toArray()
///|
pub extern "js" fn Color::to_array_into(
self : Color,
values : FixedArray[Double],
offset : Int,
) -> FixedArray[Double] =
#| (self, values, offset) => self.toArray(values, offset)
///|
pub extern "js" fn Color::get_hsl(self : Color, target : ColorHSL) -> ColorHSL =
#| (self, target) => self.getHSL(target)
///|
pub extern "js" fn Color::get_rgb(self : Color, target : Color) -> Color =
#| (self, target) => self.getRGB(target)
///|
pub extern "js" fn Color::set_color(self : Color, color : Color) -> Color =
#| (self, color) => self.set(color)
///|
pub extern "js" fn Color::set_from_vector3(
self : Color,
vector : Vector3,
) -> Color =
#| (self, vector) => self.setFromVector3(vector)
///|
pub extern "js" fn Color::set_scalar(self : Color, value : Double) -> Color =
#| (self, value) => self.setScalar(value)
///|
pub extern "js" fn Color::set_hsl(
self : Color,
h : Double,
s : Double,
l : Double,
) -> Color =
#| (self, h, s, l) => self.setHSL(h, s, l)
///|
pub extern "js" fn Color::set_style(self : Color, style : String) -> Color =
#| (self, style) => self.setStyle(style)
///|
pub extern "js" fn Color::set_color_name(self : Color, name : String) -> Color =
#| (self, name) => self.setColorName(name)
///|
pub extern "js" fn Color::copy_srgb_to_linear(
self : Color,
other : Color,
) -> Color =
#| (self, other) => self.copySRGBToLinear(other)
///|
pub extern "js" fn Color::copy_linear_to_srgb(
self : Color,
other : Color,
) -> Color =
#| (self, other) => self.copyLinearToSRGB(other)
///|
pub extern "js" fn Color::add(self : Color, other : Color) -> Color =
#| (self, other) => self.add(other)
///|
pub extern "js" fn Color::sub(self : Color, other : Color) -> Color =
#| (self, other) => self.sub(other)
///|
pub extern "js" fn Color::convert_srgb_to_linear(self : Color) -> Color =
#| (self) => self.convertSRGBToLinear()
///|
pub extern "js" fn Color::convert_linear_to_srgb(self : Color) -> Color =
#| (self) => self.convertLinearToSRGB()
///|
pub extern "js" fn Color::get_hex_string(self : Color) -> String =
#| (self) => self.getHexString()
///|
pub extern "js" fn Color::get_style(self : Color) -> String =
#| (self) => self.getStyle()
///|
pub extern "js" fn Color::offset_hsl(
self : Color,
h : Double,
s : Double,
l : Double,
) -> Color =
#| (self, h, s, l) => self.offsetHSL(h, s, l)
///|
pub extern "js" fn Color::add_colors(
self : Color,
a : Color,
b : Color,
) -> Color =
#| (self, a, b) => self.addColors(a, b)
///|
pub extern "js" fn Color::add_scalar(self : Color, value : Double) -> Color =
#| (self, value) => self.addScalar(value)
///|
pub extern "js" fn Color::apply_matrix3(
self : Color,
matrix : Matrix3,
) -> Color =
#| (self, matrix) => self.applyMatrix3(matrix)
///|
pub extern "js" fn Color::lerp_colors(
self : Color,
a : Color,
b : Color,
alpha : Double,
) -> Color =
#| (self, a, b, alpha) => self.lerpColors(a, b, alpha)
///|
pub extern "js" fn Color::lerp_hsl(
self : Color,
other : Color,
alpha : Double,
) -> Color =
#| (self, other, alpha) => self.lerpHSL(other, alpha)
///|
pub extern "js" fn Color::from_buffer_attribute(
self : Color,
attribute : BufferAttribute,
index : Int,
) -> Color =
#| (self, attribute, index) => self.fromBufferAttribute(attribute, index)
///|
extern "js" fn Color::ffi_to_json(self : Color) -> JsResult[String] =
#| (self) => { try { return { ok: true, value: (() => JSON.stringify(self.toJSON()))() }; } catch (error) { return { ok: false, error: String(error) }; } }
///|
pub fn Color::to_json(self : Color) -> Json raise SerializationError {
match self.ffi_to_json().into_result() {
Ok(value) =>
@json.parse(value) catch {
error => raise SerializationError((error : Error).to_string())
}
Err(message) => raise SerializationError(message)
}
}
///|
extern "js" fn Color::ffi_to_json_string(self : Color) -> JsResult[String] =
#| (self) => { try { return { ok: true, value: (() => JSON.stringify(self.toJSON()))() }; } catch (error) { return { ok: false, error: String(error) }; } }
///|
pub fn Color::to_json_string(self : Color) -> String raise SerializationError {
match self.ffi_to_json_string().into_result() {
Ok(value) => value
Err(message) => raise SerializationError(message)
}
}