skia_safe/modules/svg/
fe.rs1mod blend;
2mod color_matrix;
3mod component_transfer;
4mod composite;
5mod displacement_map;
6mod flood;
7mod gaussian_blur;
8mod image;
9mod light_source;
10pub mod lighting;
11mod merge;
12pub mod morphology;
13mod offset;
14mod turbulence;
15mod types;
16
17pub use self::{
18 blend::*, color_matrix::*, component_transfer::*, composite::*, displacement_map::*, flood::*,
19 gaussian_blur::*, image::*, light_source::*, lighting::Diffuse as DiffuseLighting,
20 lighting::Lighting, lighting::Specular as SpecularLighting, merge::*, morphology::Morphology,
21 offset::*, turbulence::*, types::*,
22};
23
24use super::{DebugAttributes, Length, NodeSubtype};
25use crate::prelude::*;
26use skia_bindings as sb;
27
28pub type Fe = RCHandle<sb::SkSVGFe>;
29
30impl NodeSubtype for sb::SkSVGFe {
31 type Base = sb::SkSVGContainer;
32}
33
34impl DebugAttributes for Fe {
35 const NAME: &'static str = "Fe";
36
37 fn _dbg(&self, builder: &mut std::fmt::DebugStruct) {
38 self.as_base()._dbg(
39 builder
40 .field("input", self.input())
41 .field("result", self.result())
42 .field("x", &self.x())
43 .field("y", &self.y())
44 .field("width", &self.width())
45 .field("height", &self.height()),
46 );
47 }
48}
49
50impl Fe {
51 skia_svg_macros::attrs! {
58 SkSVGFe => {
59 "in" as input: Input [get(value) => Input::from_native_ref(value), set(value) => value.into_native()],
60 result: crate::interop::String [get(value) => crate::interop::String::from_native_ref(value), set(value) => value.into_native()],
61 x?: Length [get(value) => value.map(Length::from_native_ref), set(value) => value.into_native()],
62 y?: Length [get(value) => value.map(Length::from_native_ref), set(value) => value.into_native()],
63 width?: Length [get(value) => value.map(Length::from_native_ref), set(value) => value.into_native()],
64 height?: Length [get(value) => value.map(Length::from_native_ref), set(value) => value.into_native()]
65 }
66 }
67}