1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
use super::*;
/// The SVGLength class.
/// [`SVGLength`](https://developer.mozilla.org/en-US/docs/Web/API/SVGLength)
#[derive(Clone, Debug, PartialEq, PartialOrd)]
#[repr(transparent)]
pub struct SVGLength {
inner: Any,
}
impl FromVal for SVGLength {
fn from_val(v: &Any) -> Self {
SVGLength {
inner: Any::from_val(v),
}
}
fn take_ownership(v: AnyHandle) -> Self {
Self::from_val(&Any::take_ownership(v))
}
fn as_handle(&self) -> AnyHandle {
self.inner.as_handle()
}
}
impl core::ops::Deref for SVGLength {
type Target = Any;
fn deref(&self) -> &Self::Target {
&self.inner
}
}
impl core::ops::DerefMut for SVGLength {
fn deref_mut(&mut self) -> &mut Self::Target {
&mut self.inner
}
}
impl AsRef<Any> for SVGLength {
fn as_ref(&self) -> &Any {
&self.inner
}
}
impl AsMut<Any> for SVGLength {
fn as_mut(&mut self) -> &mut Any {
&mut self.inner
}
}
impl From<SVGLength> for Any {
fn from(s: SVGLength) -> Any {
let handle = s.inner.as_handle();
core::mem::forget(s);
Any::take_ownership(handle)
}
}
impl From<&SVGLength> for Any {
fn from(s: &SVGLength) -> Any {
s.inner.clone().into()
}
}
jsbind::utils::impl_dyn_cast!(SVGLength);
impl SVGLength {
/// Getter of the `unitType` attribute.
/// [`SVGLength.unitType`](https://developer.mozilla.org/en-US/docs/Web/API/SVGLength/unitType)
pub fn unit_type(&self) -> u16 {
self.inner.get("unitType").as_::<u16>()
}
}
impl SVGLength {
/// Getter of the `value` attribute.
/// [`SVGLength.value`](https://developer.mozilla.org/en-US/docs/Web/API/SVGLength/value)
pub fn value(&self) -> f32 {
self.inner.get("value").as_::<f32>()
}
/// Setter of the `value` attribute.
/// [`SVGLength.value`](https://developer.mozilla.org/en-US/docs/Web/API/SVGLength/value)
pub fn set_value(&mut self, value: f32) {
self.inner.set("value", value);
}
}
impl SVGLength {
/// Getter of the `valueInSpecifiedUnits` attribute.
/// [`SVGLength.valueInSpecifiedUnits`](https://developer.mozilla.org/en-US/docs/Web/API/SVGLength/valueInSpecifiedUnits)
pub fn value_in_specified_units(&self) -> f32 {
self.inner.get("valueInSpecifiedUnits").as_::<f32>()
}
/// Setter of the `valueInSpecifiedUnits` attribute.
/// [`SVGLength.valueInSpecifiedUnits`](https://developer.mozilla.org/en-US/docs/Web/API/SVGLength/valueInSpecifiedUnits)
pub fn set_value_in_specified_units(&mut self, value: f32) {
self.inner.set("valueInSpecifiedUnits", value);
}
}
impl SVGLength {
/// Getter of the `valueAsString` attribute.
/// [`SVGLength.valueAsString`](https://developer.mozilla.org/en-US/docs/Web/API/SVGLength/valueAsString)
pub fn value_as_string(&self) -> JsString {
self.inner.get("valueAsString").as_::<JsString>()
}
/// Setter of the `valueAsString` attribute.
/// [`SVGLength.valueAsString`](https://developer.mozilla.org/en-US/docs/Web/API/SVGLength/valueAsString)
pub fn set_value_as_string(&mut self, value: &JsString) {
self.inner.set("valueAsString", value);
}
}
impl SVGLength {
/// The newValueSpecifiedUnits method.
/// [`SVGLength.newValueSpecifiedUnits`](https://developer.mozilla.org/en-US/docs/Web/API/SVGLength/newValueSpecifiedUnits)
pub fn new_value_specified_units(
&self,
unit_type: u16,
value_in_specified_units: f32,
) -> Undefined {
self.inner
.call(
"newValueSpecifiedUnits",
&[unit_type.into(), value_in_specified_units.into()],
)
.as_::<Undefined>()
}
}
impl SVGLength {
/// The convertToSpecifiedUnits method.
/// [`SVGLength.convertToSpecifiedUnits`](https://developer.mozilla.org/en-US/docs/Web/API/SVGLength/convertToSpecifiedUnits)
pub fn convert_to_specified_units(&self, unit_type: u16) -> Undefined {
self.inner
.call("convertToSpecifiedUnits", &[unit_type.into()])
.as_::<Undefined>()
}
}