gsk4/texture_scale_node.rs
1// Take a look at the license at the top of the repository in the LICENSE file.
2
3use crate::{RenderNodeType, TextureScaleNode};
4
5define_render_node!(
6 TextureScaleNode,
7 crate::ffi::GskTextureScaleNode,
8 RenderNodeType::TextureScaleNode
9);
10
11impl TextureScaleNode {
12 /// Retrieves the snap value for this node
13 ///
14 /// # Returns
15 ///
16 /// the snap value
17 #[cfg(feature = "v4_24")]
18 #[cfg_attr(docsrs, doc(cfg(feature = "v4_24")))]
19 #[doc(alias = "gsk_texture_scale_node_get_snap")]
20 #[doc(alias = "get_snap")]
21 pub fn snap(&self) -> crate::RectSnap {
22 unsafe {
23 glib::translate::from_glib(crate::ffi::gsk_texture_scale_node_get_snap(
24 glib::translate::ToGlibPtr::to_glib_none(self).0,
25 ))
26 }
27 }
28}
29
30impl std::fmt::Debug for TextureScaleNode {
31 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
32 f.debug_struct("TextureScaleNode")
33 .field("texture", &self.texture())
34 .field("filter", &self.filter())
35 .finish()
36 }
37}