skia_safe/modules/svg/
use.rs1use super::{DebugAttributes, Iri, Length, NodeSubtype};
2use crate::{impl_default_make, prelude::*};
3use skia_bindings as sb;
4
5pub type Use = RCHandle<sb::SkSVGUse>;
6
7impl NodeSubtype for sb::SkSVGUse {
8 type Base = sb::SkSVGTransformableNode;
9}
10
11impl_default_make!(Use, sb::C_SkSVGUse_Make);
12
13impl DebugAttributes for Use {
14 const NAME: &'static str = "Use";
15
16 fn _dbg(&self, builder: &mut std::fmt::DebugStruct) {
17 self.as_base()._dbg(
18 builder
19 .field("x", &self.x())
20 .field("y", &self.y())
21 .field("href", &self.href()),
22 );
23 }
24}
25
26impl Use {
27 skia_svg_macros::attrs! {
28 SkSVGUse => {
29 x: Length [get(value) => Length::from_native_ref(value), set(value) => value.into_native()],
30 y: Length [get(value) => Length::from_native_ref(value), set(value) => value.into_native()],
31 href: Iri [get(value) => Iri::from_native_ref(value), set(value) => value.into_native()]
32 }
33 }
34}