gsk4/
gl_shader_node.rs
1use glib::translate::*;
4
5use crate::{ffi, GLShaderNode, RenderNode, RenderNodeType};
6
7define_render_node!(
8 GLShaderNode,
9 ffi::GskGLShaderNode,
10 RenderNodeType::GlShaderNode
11);
12
13impl GLShaderNode {
14 #[doc(alias = "gsk_gl_shader_node_get_child")]
28 #[doc(alias = "get_child")]
29 pub fn child(&self, idx: u32) -> RenderNode {
30 assert!(idx < self.n_children());
31 unsafe {
32 from_glib_none(ffi::gsk_gl_shader_node_get_child(
33 self.to_glib_none().0,
34 idx,
35 ))
36 }
37 }
38}
39
40impl std::fmt::Debug for GLShaderNode {
41 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
42 f.debug_struct("GLShaderNode")
43 .field("args", &self.args())
44 .field("n_children", &self.n_children())
45 .field("shader", &self.shader())
46 .finish()
47 }
48}