graphene/auto/
euler.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, EulerOrder, Matrix, Quaternion, Vec3};
6use glib::translate::*;
7
8glib::wrapper! {
9    pub struct Euler(BoxedInline<ffi::graphene_euler_t>);
10
11    match fn {
12        copy => |ptr| glib::gobject_ffi::g_boxed_copy(ffi::graphene_euler_get_type(), ptr as *mut _) as *mut ffi::graphene_euler_t,
13        free => |ptr| glib::gobject_ffi::g_boxed_free(ffi::graphene_euler_get_type(), ptr as *mut _),
14        type_ => || ffi::graphene_euler_get_type(),
15    }
16}
17
18impl Euler {
19    #[doc(alias = "graphene_euler_equal")]
20    fn equal(&self, b: &Euler) -> bool {
21        unsafe { ffi::graphene_euler_equal(self.to_glib_none().0, b.to_glib_none().0) }
22    }
23
24    #[doc(alias = "graphene_euler_get_alpha")]
25    #[doc(alias = "get_alpha")]
26    pub fn alpha(&self) -> f32 {
27        unsafe { ffi::graphene_euler_get_alpha(self.to_glib_none().0) }
28    }
29
30    #[doc(alias = "graphene_euler_get_beta")]
31    #[doc(alias = "get_beta")]
32    pub fn beta(&self) -> f32 {
33        unsafe { ffi::graphene_euler_get_beta(self.to_glib_none().0) }
34    }
35
36    #[doc(alias = "graphene_euler_get_gamma")]
37    #[doc(alias = "get_gamma")]
38    pub fn gamma(&self) -> f32 {
39        unsafe { ffi::graphene_euler_get_gamma(self.to_glib_none().0) }
40    }
41
42    #[doc(alias = "graphene_euler_get_order")]
43    #[doc(alias = "get_order")]
44    pub fn order(&self) -> EulerOrder {
45        unsafe { from_glib(ffi::graphene_euler_get_order(self.to_glib_none().0)) }
46    }
47
48    #[doc(alias = "graphene_euler_get_x")]
49    #[doc(alias = "get_x")]
50    pub fn x(&self) -> f32 {
51        unsafe { ffi::graphene_euler_get_x(self.to_glib_none().0) }
52    }
53
54    #[doc(alias = "graphene_euler_get_y")]
55    #[doc(alias = "get_y")]
56    pub fn y(&self) -> f32 {
57        unsafe { ffi::graphene_euler_get_y(self.to_glib_none().0) }
58    }
59
60    #[doc(alias = "graphene_euler_get_z")]
61    #[doc(alias = "get_z")]
62    pub fn z(&self) -> f32 {
63        unsafe { ffi::graphene_euler_get_z(self.to_glib_none().0) }
64    }
65
66    #[doc(alias = "graphene_euler_reorder")]
67    #[must_use]
68    pub fn reorder(&self, order: EulerOrder) -> Euler {
69        unsafe {
70            let mut res = Euler::uninitialized();
71            ffi::graphene_euler_reorder(
72                self.to_glib_none().0,
73                order.into_glib(),
74                res.to_glib_none_mut().0,
75            );
76            res
77        }
78    }
79
80    #[doc(alias = "graphene_euler_to_matrix")]
81    pub fn to_matrix(&self) -> Matrix {
82        unsafe {
83            let mut res = Matrix::uninitialized();
84            ffi::graphene_euler_to_matrix(self.to_glib_none().0, res.to_glib_none_mut().0);
85            res
86        }
87    }
88
89    #[doc(alias = "graphene_euler_to_quaternion")]
90    pub fn to_quaternion(&self) -> Quaternion {
91        unsafe {
92            let mut res = Quaternion::uninitialized();
93            ffi::graphene_euler_to_quaternion(self.to_glib_none().0, res.to_glib_none_mut().0);
94            res
95        }
96    }
97
98    #[doc(alias = "graphene_euler_to_vec3")]
99    pub fn to_vec3(&self) -> Vec3 {
100        unsafe {
101            let mut res = Vec3::uninitialized();
102            ffi::graphene_euler_to_vec3(self.to_glib_none().0, res.to_glib_none_mut().0);
103            res
104        }
105    }
106}
107
108impl PartialEq for Euler {
109    #[inline]
110    fn eq(&self, other: &Self) -> bool {
111        self.equal(other)
112    }
113}
114
115impl Eq for Euler {}