gdk4/
memory_texture_builder.rs

1// Take a look at the license at the top of the repository in the LICENSE file.
2
3use crate::{ffi, ColorState, MemoryFormat, MemoryTextureBuilder, Texture};
4use glib::{prelude::*, translate::*};
5
6impl MemoryTextureBuilder {
7    #[doc(alias = "gdk_memory_texture_builder_set_bytes")]
8    #[doc(alias = "bytes")]
9    pub fn set_bytes(self, bytes: Option<&glib::Bytes>) -> Self {
10        unsafe {
11            ffi::gdk_memory_texture_builder_set_bytes(
12                self.to_glib_none().0,
13                bytes.to_glib_none().0,
14            );
15        }
16
17        self
18    }
19
20    #[doc(alias = "gdk_memory_texture_builder_set_color_state")]
21    #[doc(alias = "color-state")]
22    pub fn set_color_state(self, color_state: &ColorState) -> Self {
23        unsafe {
24            ffi::gdk_memory_texture_builder_set_color_state(
25                self.to_glib_none().0,
26                color_state.to_glib_none().0,
27            );
28        }
29
30        self
31    }
32
33    #[doc(alias = "gdk_memory_texture_builder_set_format")]
34    #[doc(alias = "format")]
35    pub fn set_format(self, format: MemoryFormat) -> Self {
36        unsafe {
37            ffi::gdk_memory_texture_builder_set_format(self.to_glib_none().0, format.into_glib());
38        }
39
40        self
41    }
42
43    #[doc(alias = "gdk_memory_texture_builder_set_height")]
44    #[doc(alias = "height")]
45    pub fn set_height(self, height: i32) -> Self {
46        unsafe {
47            ffi::gdk_memory_texture_builder_set_height(self.to_glib_none().0, height);
48        }
49
50        self
51    }
52
53    #[cfg(feature = "v4_20")]
54    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
55    #[doc(alias = "gdk_memory_texture_builder_set_offset")]
56    pub fn set_offset(self, plane: u32, offset: usize) -> Self {
57        unsafe {
58            ffi::gdk_memory_texture_builder_set_offset(self.to_glib_none().0, plane, offset);
59        }
60
61        self
62    }
63
64    #[doc(alias = "gdk_memory_texture_builder_set_stride")]
65    #[doc(alias = "stride")]
66    pub fn set_stride(self, stride: usize) -> Self {
67        unsafe {
68            ffi::gdk_memory_texture_builder_set_stride(self.to_glib_none().0, stride);
69        }
70
71        self
72    }
73
74    #[cfg(feature = "v4_20")]
75    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
76    #[doc(alias = "gdk_memory_texture_builder_set_stride_for_plane")]
77    pub fn set_stride_for_plane(self, plane: u32, stride: usize) -> Self {
78        unsafe {
79            ffi::gdk_memory_texture_builder_set_stride_for_plane(
80                self.to_glib_none().0,
81                plane,
82                stride,
83            );
84        }
85
86        self
87    }
88
89    #[doc(alias = "gdk_memory_texture_builder_set_update_region")]
90    #[doc(alias = "update-region")]
91    pub fn set_update_region(self, region: Option<&cairo::Region>) -> Self {
92        unsafe {
93            ffi::gdk_memory_texture_builder_set_update_region(
94                self.to_glib_none().0,
95                mut_override(region.to_glib_none().0),
96            );
97        }
98
99        self
100    }
101
102    #[doc(alias = "gdk_memory_texture_builder_set_update_texture")]
103    #[doc(alias = "update-texture")]
104    pub fn set_update_texture(self, texture: Option<&impl IsA<Texture>>) -> Self {
105        unsafe {
106            ffi::gdk_memory_texture_builder_set_update_texture(
107                self.to_glib_none().0,
108                texture.map(|p| p.as_ref()).to_glib_none().0,
109            );
110        }
111
112        self
113    }
114
115    #[doc(alias = "gdk_memory_texture_builder_set_width")]
116    #[doc(alias = "width")]
117    pub fn set_width(self, width: i32) -> Self {
118        unsafe {
119            ffi::gdk_memory_texture_builder_set_width(self.to_glib_none().0, width);
120        }
121
122        self
123    }
124}