// Do not edit. This file is generated.
// MoonBit type: SVGTextContentElement
// Specifications: SVG.idl
///|
/// [SVGTextContentElement](https://developer.mozilla.org/en-US/docs/Web/API/SVGTextContentElement)
#external
pub type SVGTextContentElement
///|
pub impl TJsValue for SVGTextContentElement with to_js(
self : SVGTextContentElement,
) -> JsValue = "%identity"
///|
pub impl FromJsAny for SVGTextContentElement with from_js_any(value : JsAny) -> SVGTextContentElement = "%identity"
///|
/// Unchecked downcast — no runtime type check is performed.
/// Prefer `try_into()` for checked downcasts.
#deprecated("Use unsafe_into or try_into instead")
pub fn[T : TSVGTextContentElement] SVGTextContentElement::into(
self : SVGTextContentElement,
) -> T = "%identity"
///|
/// Unchecked downcast — no runtime type check is performed.
/// WARNING: If the underlying JS value is not of type T, this will silently
/// produce a value with incorrect type, leading to undefined behavior.
pub fn[T : TSVGTextContentElement] SVGTextContentElement::unsafe_into(
self : SVGTextContentElement,
) -> T = "%identity"
///|
pub impl HasConstructor for SVGTextContentElement with constructor_name() {
"SVGTextContentElement"
}
///|
/// Checked downcast — returns None if the JS value is not an instance of T.
pub fn[T : TSVGTextContentElement + HasConstructor] SVGTextContentElement::try_into(
self : SVGTextContentElement,
) -> T? {
if js_instanceof(TJsValue::to_js(self), T::constructor_name()) {
Some(self.unsafe_into())
} else {
None
}
}
///|
pub impl TSVGTextContentElement for SVGTextContentElement
///|
pub impl TSVGGraphicsElement for SVGTextContentElement
///|
pub impl TSVGElement for SVGTextContentElement
///|
pub impl TElement for SVGTextContentElement
///|
pub impl TNode for SVGTextContentElement
///|
pub impl TEventTarget for SVGTextContentElement
///|
pub const SVG_TEXT_CONTENT_ELEMENT_LENGTHADJUST_UNKNOWN : UInt = 0
///|
pub const SVG_TEXT_CONTENT_ELEMENT_LENGTHADJUST_SPACING : UInt = 1
///|
pub const SVG_TEXT_CONTENT_ELEMENT_LENGTHADJUST_SPACINGANDGLYPHS : UInt = 2
///|
/// [SVGTextContentElement](https://developer.mozilla.org/en-US/docs/Web/API/SVGTextContentElement) interface.
pub trait TSVGTextContentElement: TSVGGraphicsElement {
text_length(self : Self) -> SVGAnimatedLength = _
length_adjust(self : Self) -> SVGAnimatedEnumeration = _
get_number_of_chars(self : Self) -> Int = _
get_computed_text_length(self : Self) -> Float = _
get_sub_string_length(self : Self, charnum : UInt, nchars : UInt) -> Float = _
get_start_position_of_char(self : Self, charnum : UInt) -> DOMPoint = _
get_end_position_of_char(self : Self, charnum : UInt) -> DOMPoint = _
get_extent_of_char(self : Self, charnum : UInt) -> DOMRect = _
get_rotation_of_char(self : Self, charnum : UInt) -> Float = _
get_char_num_at_position(self : Self, point? : DOMPointInit) -> Int = _
select_sub_string(self : Self, charnum : UInt, nchars : UInt) -> Unit = _
}
///|
/// [SVGTextContentElement.textLength](https://developer.mozilla.org/en-US/docs/Web/API/SVGTextContentElement/textLength)
impl TSVGTextContentElement with text_length(self : Self) -> SVGAnimatedLength {
svg_text_content_element_text_length_ffi(TJsValue::to_js(self))
}
///|
/// [SVGTextContentElement.lengthAdjust](https://developer.mozilla.org/en-US/docs/Web/API/SVGTextContentElement/lengthAdjust)
impl TSVGTextContentElement with length_adjust(self : Self) -> SVGAnimatedEnumeration {
svg_text_content_element_length_adjust_ffi(TJsValue::to_js(self))
}
///|
/// [SVGTextContentElement.getNumberOfChars](https://developer.mozilla.org/en-US/docs/Web/API/SVGTextContentElement/getNumberOfChars)
impl TSVGTextContentElement with get_number_of_chars(self : Self) -> Int {
svg_text_content_element_get_number_of_chars_ffi(TJsValue::to_js(self))
}
///|
/// [SVGTextContentElement.getComputedTextLength](https://developer.mozilla.org/en-US/docs/Web/API/SVGTextContentElement/getComputedTextLength)
impl TSVGTextContentElement with get_computed_text_length(self : Self) -> Float {
svg_text_content_element_get_computed_text_length_ffi(TJsValue::to_js(self))
}
///|
/// [SVGTextContentElement.getSubStringLength](https://developer.mozilla.org/en-US/docs/Web/API/SVGTextContentElement/getSubStringLength)
impl TSVGTextContentElement with get_sub_string_length(
self : Self,
charnum : UInt,
nchars : UInt,
) -> Float {
svg_text_content_element_get_sub_string_length_ffi(
TJsValue::to_js(self),
TJsValue::to_js(charnum),
TJsValue::to_js(nchars),
)
}
///|
/// [SVGTextContentElement.getStartPositionOfChar](https://developer.mozilla.org/en-US/docs/Web/API/SVGTextContentElement/getStartPositionOfChar)
impl TSVGTextContentElement with get_start_position_of_char(
self : Self,
charnum : UInt,
) -> DOMPoint {
svg_text_content_element_get_start_position_of_char_ffi(
TJsValue::to_js(self),
TJsValue::to_js(charnum),
)
}
///|
/// [SVGTextContentElement.getEndPositionOfChar](https://developer.mozilla.org/en-US/docs/Web/API/SVGTextContentElement/getEndPositionOfChar)
impl TSVGTextContentElement with get_end_position_of_char(
self : Self,
charnum : UInt,
) -> DOMPoint {
svg_text_content_element_get_end_position_of_char_ffi(
TJsValue::to_js(self),
TJsValue::to_js(charnum),
)
}
///|
/// [SVGTextContentElement.getExtentOfChar](https://developer.mozilla.org/en-US/docs/Web/API/SVGTextContentElement/getExtentOfChar)
impl TSVGTextContentElement with get_extent_of_char(self : Self, charnum : UInt) -> DOMRect {
svg_text_content_element_get_extent_of_char_ffi(
TJsValue::to_js(self),
TJsValue::to_js(charnum),
)
}
///|
/// [SVGTextContentElement.getRotationOfChar](https://developer.mozilla.org/en-US/docs/Web/API/SVGTextContentElement/getRotationOfChar)
impl TSVGTextContentElement with get_rotation_of_char(
self : Self,
charnum : UInt,
) -> Float {
svg_text_content_element_get_rotation_of_char_ffi(
TJsValue::to_js(self),
TJsValue::to_js(charnum),
)
}
///|
/// [SVGTextContentElement.getCharNumAtPosition](https://developer.mozilla.org/en-US/docs/Web/API/SVGTextContentElement/getCharNumAtPosition)
impl TSVGTextContentElement with get_char_num_at_position(
self : Self,
point? : DOMPointInit,
) -> Int {
svg_text_content_element_get_char_num_at_position_ffi(
TJsValue::to_js(self),
opt_to_js(point),
)
}
///|
/// [SVGTextContentElement.selectSubString](https://developer.mozilla.org/en-US/docs/Web/API/SVGTextContentElement/selectSubString)
impl TSVGTextContentElement with select_sub_string(
self : Self,
charnum : UInt,
nchars : UInt,
) -> Unit {
svg_text_content_element_select_sub_string_ffi(
TJsValue::to_js(self),
TJsValue::to_js(charnum),
TJsValue::to_js(nchars),
)
}
///|
#cfg(target="js")
extern "js" fn svg_text_content_element_text_length_ffi_js(
obj : JsValue,
) -> JsValue = "(obj) => obj.textLength"
///|
#cfg(target="js")
fn svg_text_content_element_text_length_ffi(obj : JsValue) -> SVGAnimatedLength {
svg_text_content_element_text_length_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn svg_text_content_element_length_adjust_ffi_js(
obj : JsValue,
) -> JsValue = "(obj) => obj.lengthAdjust"
///|
#cfg(target="js")
fn svg_text_content_element_length_adjust_ffi(
obj : JsValue,
) -> SVGAnimatedEnumeration {
svg_text_content_element_length_adjust_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn svg_text_content_element_get_number_of_chars_ffi_js(
obj : JsValue,
) -> JsValue = "(obj) => obj.getNumberOfChars()"
///|
#cfg(target="js")
fn svg_text_content_element_get_number_of_chars_ffi(obj : JsValue) -> Int {
svg_text_content_element_get_number_of_chars_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn svg_text_content_element_get_computed_text_length_ffi_js(
obj : JsValue,
) -> JsValue = "(obj) => obj.getComputedTextLength()"
///|
#cfg(target="js")
fn svg_text_content_element_get_computed_text_length_ffi(
obj : JsValue,
) -> Float {
svg_text_content_element_get_computed_text_length_ffi_js(obj).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn svg_text_content_element_get_sub_string_length_ffi_js(
obj : JsValue,
charnum : JsValue,
nchars : JsValue,
) -> JsValue = "(obj, charnum, nchars) => obj.getSubStringLength(charnum, nchars)"
///|
#cfg(target="js")
fn svg_text_content_element_get_sub_string_length_ffi(
obj : JsValue,
charnum : JsValue,
nchars : JsValue,
) -> Float {
svg_text_content_element_get_sub_string_length_ffi_js(obj, charnum, nchars).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn svg_text_content_element_get_start_position_of_char_ffi_js(
obj : JsValue,
charnum : JsValue,
) -> JsValue = "(obj, charnum) => obj.getStartPositionOfChar(charnum)"
///|
#cfg(target="js")
fn svg_text_content_element_get_start_position_of_char_ffi(
obj : JsValue,
charnum : JsValue,
) -> DOMPoint {
svg_text_content_element_get_start_position_of_char_ffi_js(obj, charnum).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn svg_text_content_element_get_end_position_of_char_ffi_js(
obj : JsValue,
charnum : JsValue,
) -> JsValue = "(obj, charnum) => obj.getEndPositionOfChar(charnum)"
///|
#cfg(target="js")
fn svg_text_content_element_get_end_position_of_char_ffi(
obj : JsValue,
charnum : JsValue,
) -> DOMPoint {
svg_text_content_element_get_end_position_of_char_ffi_js(obj, charnum).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn svg_text_content_element_get_extent_of_char_ffi_js(
obj : JsValue,
charnum : JsValue,
) -> JsValue = "(obj, charnum) => obj.getExtentOfChar(charnum)"
///|
#cfg(target="js")
fn svg_text_content_element_get_extent_of_char_ffi(
obj : JsValue,
charnum : JsValue,
) -> DOMRect {
svg_text_content_element_get_extent_of_char_ffi_js(obj, charnum).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn svg_text_content_element_get_rotation_of_char_ffi_js(
obj : JsValue,
charnum : JsValue,
) -> JsValue = "(obj, charnum) => obj.getRotationOfChar(charnum)"
///|
#cfg(target="js")
fn svg_text_content_element_get_rotation_of_char_ffi(
obj : JsValue,
charnum : JsValue,
) -> Float {
svg_text_content_element_get_rotation_of_char_ffi_js(obj, charnum).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn svg_text_content_element_get_char_num_at_position_ffi_js(
obj : JsValue,
point : JsValue,
) -> JsValue = "(obj, point) => obj.getCharNumAtPosition(point)"
///|
#cfg(target="js")
fn svg_text_content_element_get_char_num_at_position_ffi(
obj : JsValue,
point : JsValue,
) -> Int {
svg_text_content_element_get_char_num_at_position_ffi_js(obj, point).unsafe_cast()
}
///|
#cfg(target="js")
extern "js" fn svg_text_content_element_select_sub_string_ffi(
obj : JsValue,
charnum : JsValue,
nchars : JsValue,
) -> Unit = "(obj, charnum, nchars) => obj.selectSubString(charnum, nchars)"
///|
#cfg(target="wasm-gc")
fn svg_text_content_element_text_length_ffi(obj : JsValue) -> SVGAnimatedLength = "webapi_SVGTextContentElement" "get_textLength"
///|
#cfg(target="wasm-gc")
fn svg_text_content_element_length_adjust_ffi(
obj : JsValue,
) -> SVGAnimatedEnumeration = "webapi_SVGTextContentElement" "get_lengthAdjust"
///|
#cfg(target="wasm-gc")
fn svg_text_content_element_get_number_of_chars_ffi(obj : JsValue) -> Int = "webapi_SVGTextContentElement" "getNumberOfChars"
///|
#cfg(target="wasm-gc")
fn svg_text_content_element_get_computed_text_length_ffi(
obj : JsValue,
) -> Float = "webapi_SVGTextContentElement" "getComputedTextLength"
///|
#cfg(target="wasm-gc")
fn svg_text_content_element_get_sub_string_length_ffi(
obj : JsValue,
charnum : JsValue,
nchars : JsValue,
) -> Float = "webapi_SVGTextContentElement" "getSubStringLength"
///|
#cfg(target="wasm-gc")
fn svg_text_content_element_get_start_position_of_char_ffi(
obj : JsValue,
charnum : JsValue,
) -> DOMPoint = "webapi_SVGTextContentElement" "getStartPositionOfChar"
///|
#cfg(target="wasm-gc")
fn svg_text_content_element_get_end_position_of_char_ffi(
obj : JsValue,
charnum : JsValue,
) -> DOMPoint = "webapi_SVGTextContentElement" "getEndPositionOfChar"
///|
#cfg(target="wasm-gc")
fn svg_text_content_element_get_extent_of_char_ffi(
obj : JsValue,
charnum : JsValue,
) -> DOMRect = "webapi_SVGTextContentElement" "getExtentOfChar"
///|
#cfg(target="wasm-gc")
fn svg_text_content_element_get_rotation_of_char_ffi(
obj : JsValue,
charnum : JsValue,
) -> Float = "webapi_SVGTextContentElement" "getRotationOfChar"
///|
#cfg(target="wasm-gc")
fn svg_text_content_element_get_char_num_at_position_ffi(
obj : JsValue,
point : JsValue,
) -> Int = "webapi_SVGTextContentElement" "getCharNumAtPosition"
///|
#cfg(target="wasm-gc")
fn svg_text_content_element_select_sub_string_ffi(
obj : JsValue,
charnum : JsValue,
nchars : JsValue,
) -> Unit = "webapi_SVGTextContentElement" "selectSubString"