gdk4/auto/
memory_texture_builder.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from gir-files (https://github.com/gtk-rs/gir-files)
3// DO NOT EDIT
4
5use crate::{ffi, ColorState, MemoryFormat, Texture};
6use glib::translate::*;
7
8glib::wrapper! {
9    #[doc(alias = "GdkMemoryTextureBuilder")]
10    pub struct MemoryTextureBuilder(Object<ffi::GdkMemoryTextureBuilder, ffi::GdkMemoryTextureBuilderClass>);
11
12    match fn {
13        type_ => || ffi::gdk_memory_texture_builder_get_type(),
14    }
15}
16
17impl MemoryTextureBuilder {
18    #[doc(alias = "gdk_memory_texture_builder_new")]
19    pub fn new() -> MemoryTextureBuilder {
20        assert_initialized_main_thread!();
21        unsafe { from_glib_full(ffi::gdk_memory_texture_builder_new()) }
22    }
23
24    #[doc(alias = "gdk_memory_texture_builder_build")]
25    pub fn build(&self) -> Texture {
26        unsafe { from_glib_full(ffi::gdk_memory_texture_builder_build(self.to_glib_none().0)) }
27    }
28
29    #[doc(alias = "gdk_memory_texture_builder_get_bytes")]
30    #[doc(alias = "get_bytes")]
31    pub fn bytes(&self) -> Option<glib::Bytes> {
32        unsafe {
33            from_glib_none(ffi::gdk_memory_texture_builder_get_bytes(
34                self.to_glib_none().0,
35            ))
36        }
37    }
38
39    #[doc(alias = "gdk_memory_texture_builder_get_color_state")]
40    #[doc(alias = "get_color_state")]
41    #[doc(alias = "color-state")]
42    pub fn color_state(&self) -> ColorState {
43        unsafe {
44            from_glib_none(ffi::gdk_memory_texture_builder_get_color_state(
45                self.to_glib_none().0,
46            ))
47        }
48    }
49
50    #[doc(alias = "gdk_memory_texture_builder_get_format")]
51    #[doc(alias = "get_format")]
52    pub fn format(&self) -> MemoryFormat {
53        unsafe {
54            from_glib(ffi::gdk_memory_texture_builder_get_format(
55                self.to_glib_none().0,
56            ))
57        }
58    }
59
60    #[doc(alias = "gdk_memory_texture_builder_get_height")]
61    #[doc(alias = "get_height")]
62    pub fn height(&self) -> i32 {
63        unsafe { ffi::gdk_memory_texture_builder_get_height(self.to_glib_none().0) }
64    }
65
66    #[cfg(feature = "v4_20")]
67    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
68    #[doc(alias = "gdk_memory_texture_builder_get_offset")]
69    #[doc(alias = "get_offset")]
70    pub fn offset(&self, plane: u32) -> usize {
71        unsafe { ffi::gdk_memory_texture_builder_get_offset(self.to_glib_none().0, plane) }
72    }
73
74    #[doc(alias = "gdk_memory_texture_builder_get_stride")]
75    #[doc(alias = "get_stride")]
76    pub fn stride(&self) -> usize {
77        unsafe { ffi::gdk_memory_texture_builder_get_stride(self.to_glib_none().0) }
78    }
79
80    #[cfg(feature = "v4_20")]
81    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
82    #[doc(alias = "gdk_memory_texture_builder_get_stride_for_plane")]
83    #[doc(alias = "get_stride_for_plane")]
84    pub fn stride_for_plane(&self, plane: u32) -> usize {
85        unsafe {
86            ffi::gdk_memory_texture_builder_get_stride_for_plane(self.to_glib_none().0, plane)
87        }
88    }
89
90    #[doc(alias = "gdk_memory_texture_builder_get_update_region")]
91    #[doc(alias = "get_update_region")]
92    #[doc(alias = "update-region")]
93    pub fn update_region(&self) -> Option<cairo::Region> {
94        unsafe {
95            from_glib_none(ffi::gdk_memory_texture_builder_get_update_region(
96                self.to_glib_none().0,
97            ))
98        }
99    }
100
101    #[doc(alias = "gdk_memory_texture_builder_get_update_texture")]
102    #[doc(alias = "get_update_texture")]
103    #[doc(alias = "update-texture")]
104    pub fn update_texture(&self) -> Option<Texture> {
105        unsafe {
106            from_glib_none(ffi::gdk_memory_texture_builder_get_update_texture(
107                self.to_glib_none().0,
108            ))
109        }
110    }
111
112    #[doc(alias = "gdk_memory_texture_builder_get_width")]
113    #[doc(alias = "get_width")]
114    pub fn width(&self) -> i32 {
115        unsafe { ffi::gdk_memory_texture_builder_get_width(self.to_glib_none().0) }
116    }
117}
118
119#[cfg(feature = "v4_16")]
120#[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
121impl Default for MemoryTextureBuilder {
122    fn default() -> Self {
123        Self::new()
124    }
125}
126
127unsafe impl Send for MemoryTextureBuilder {}
128unsafe impl Sync for MemoryTextureBuilder {}