pub fn calculate_translation(&self, other: &MatrixEntry) -> (bool, f32, f32, f32) {
        unsafe {
            let mut x = mem::MaybeUninit::uninit();
            let mut y = mem::MaybeUninit::uninit();
            let mut z = mem::MaybeUninit::uninit();
            let ret = ffi::cogl_matrix_entry_calculate_translation(
                self.to_glib_none().0,
                other.to_glib_none().0,
                x.as_mut_ptr(),
                y.as_mut_ptr(),
                z.as_mut_ptr(),
            );
            let x = x.assume_init();
            let y = y.assume_init();
            let z = z.assume_init();
            (ret == crate::TRUE, x, y, z)
        }
    }
/// Determines if the only difference between two transforms is a
/// translation and if so returns what the `x`, `y`, and `z` components of
/// the translation are.
///
/// If the difference between the two translations involves anything
/// other than a translation then the function returns `false`.
/// ## `other`
/// A second reference transform
/// ## `x`
/// The destination for the x-component of the translation
/// ## `y`
/// The destination for the y-component of the translation
/// ## `z`
/// The destination for the z-component of the translation
///
/// # Returns
///
/// `true` if the only difference between the transform of
///  `self` and the transform of `other` is a translation,
///  otherwise `false`.


If the difference between the two translations involves anything
other than a translation then the function returns `false`.
If the difference between the two translations involves anything other than a translation then the function returns ` false ` .
pub fn calculate_translation(&self, other: &MatrixEntry) -> (bool, f32, f32, f32) {
        unsafe {
            let mut x = mem::MaybeUninit::uninit();
            let mut y = mem::MaybeUninit::uninit();
            let mut z = mem::MaybeUninit::uninit();
            let ret = ffi::cogl_matrix_entry_calculate_translation(
                self.to_glib_none().0,
                other.to_glib_none().0,
                x.as_mut_ptr(),
                y.as_mut_ptr(),
                z.as_mut_ptr(),
            );
            let x = x.assume_init();
            let y = y.assume_init();
            let z = z.assume_init();
            (ret == crate::TRUE, x, y, z)
        }
    }
pub fn calculate_translation ( & self , other : & MatrixEntry ) -> ( bool , f32 , f32 , f32 ) { unsafe { let mut x = mem :: MaybeUninit :: uninit ( ) ; let mut y = mem :: MaybeUninit :: uninit ( ) ; let mut z = mem :: MaybeUninit :: uninit ( ) ; let ret = ffi :: cogl_matrix_entry_calculate_translation ( self . to_glib_none ( ) . 0 , other . to_glib_none ( ) . 0 , x . as_mut_ptr ( ) , y . as_mut_ptr ( ) , z . as_mut_ptr ( ) , ) ; let x = x . assume_init ( ) ; let y = y . assume_init ( ) ; let z = z . assume_init ( ) ; ( ret == crate :: TRUE , x , y , z ) } }
Determines if the only difference between two transforms is a
translation and if so returns what the `x`, `y`, and `z` components of
the translation are.
Determines if the only difference between two transforms is a translation and if so returns what the ` x ` ` y ` and ` z ` components of the translation are .
&self
other
&MatrixEntry
`true` if the only difference between the transform of
`self` and the transform of `other` is a translation,
otherwise `false`.
` true ` if the only difference between the transform of ` self ` and the transform of ` other ` is a translation otherwise ` false ` .
&self
other
&MatrixEntry
`other`
A second reference transform
A second reference transform
`x`
The destination for the x-component of the translation
The destination for the x - component of the translation
`y`
The destination for the y-component of the translation
The destination for the y - component of the translation
`z`
The destination for the z-component of the translation
The destination for the z - component of the translation