gdk4/auto/
memory_texture_builder.rs1use 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 {}