gsk4/
shadow_node.rs

1// Take a look at the license at the top of the repository in the LICENSE file.
2
3use 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")]
11    #[doc(alias = "get_shadow")]
12    pub fn shadow(&self, i: usize) -> Shadow {
13        assert!(i < self.n_shadows());
14        unsafe { from_glib_none(ffi::gsk_shadow_node_get_shadow(self.to_glib_none().0, i)) }
15    }
16}
17
18impl std::fmt::Debug for ShadowNode {
19    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
20        f.debug_struct("ShadowNode")
21            .field("n_shadows", &self.n_shadows())
22            .field("child", &self.child())
23            .finish()
24    }
25}