1use glib::translate::*;
4
5use crate::{ffi, RenderNodeType, Shadow, ShadowNode};
6
7define_render_node!(ShadowNode, ffi::GskShadowNode, RenderNodeType::ShadowNode);
8
9impl ShadowNode {
10    #[doc(alias = "gsk_shadow_node_get_shadow")]
18    #[doc(alias = "get_shadow")]
19    pub fn shadow(&self, i: usize) -> Shadow {
20        assert!(i < self.n_shadows());
21        unsafe { from_glib_none(ffi::gsk_shadow_node_get_shadow(self.to_glib_none().0, i)) }
22    }
23}
24
25impl std::fmt::Debug for ShadowNode {
26    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
27        f.debug_struct("ShadowNode")
28            .field("n_shadows", &self.n_shadows())
29            .field("child", &self.child())
30            .finish()
31    }
32}