gsk4/auto/
component_transfer.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;
6use glib::translate::*;
7
8glib::wrapper! {
9    #[derive(Debug, PartialOrd, Ord, Hash)]
10    pub struct ComponentTransfer(Boxed<ffi::GskComponentTransfer>);
11
12    match fn {
13        copy => |ptr| ffi::gsk_component_transfer_copy(ptr),
14        free => |ptr| ffi::gsk_component_transfer_free(ptr),
15        type_ => || ffi::gsk_component_transfer_get_type(),
16    }
17}
18
19impl ComponentTransfer {
20    #[doc(alias = "gsk_component_transfer_new_discrete")]
21    pub fn new_discrete(values: &[f32]) -> ComponentTransfer {
22        assert_initialized_main_thread!();
23        let n = values.len() as _;
24        unsafe {
25            from_glib_full(ffi::gsk_component_transfer_new_discrete(
26                n,
27                values.to_glib_none().0,
28            ))
29        }
30    }
31
32    #[doc(alias = "gsk_component_transfer_new_gamma")]
33    pub fn new_gamma(amp: f32, exp: f32, ofs: f32) -> ComponentTransfer {
34        assert_initialized_main_thread!();
35        unsafe { from_glib_full(ffi::gsk_component_transfer_new_gamma(amp, exp, ofs)) }
36    }
37
38    #[doc(alias = "gsk_component_transfer_new_identity")]
39    pub fn new_identity() -> ComponentTransfer {
40        assert_initialized_main_thread!();
41        unsafe { from_glib_full(ffi::gsk_component_transfer_new_identity()) }
42    }
43
44    #[doc(alias = "gsk_component_transfer_new_levels")]
45    pub fn new_levels(n: f32) -> ComponentTransfer {
46        assert_initialized_main_thread!();
47        unsafe { from_glib_full(ffi::gsk_component_transfer_new_levels(n)) }
48    }
49
50    #[doc(alias = "gsk_component_transfer_new_linear")]
51    pub fn new_linear(m: f32, b: f32) -> ComponentTransfer {
52        assert_initialized_main_thread!();
53        unsafe { from_glib_full(ffi::gsk_component_transfer_new_linear(m, b)) }
54    }
55
56    #[doc(alias = "gsk_component_transfer_new_table")]
57    pub fn new_table(values: &[f32]) -> ComponentTransfer {
58        assert_initialized_main_thread!();
59        let n = values.len() as _;
60        unsafe {
61            from_glib_full(ffi::gsk_component_transfer_new_table(
62                n,
63                values.to_glib_none().0,
64            ))
65        }
66    }
67
68    #[doc(alias = "gsk_component_transfer_equal")]
69    fn equal(&self, other: &ComponentTransfer) -> bool {
70        assert_initialized_main_thread!();
71        unsafe {
72            from_glib(ffi::gsk_component_transfer_equal(
73                ToGlibPtr::<*const ffi::GskComponentTransfer>::to_glib_none(self).0
74                    as glib::ffi::gconstpointer,
75                ToGlibPtr::<*const ffi::GskComponentTransfer>::to_glib_none(other).0
76                    as glib::ffi::gconstpointer,
77            ))
78        }
79    }
80}
81
82impl PartialEq for ComponentTransfer {
83    #[inline]
84    fn eq(&self, other: &Self) -> bool {
85        self.equal(other)
86    }
87}
88
89impl Eq for ComponentTransfer {}