objc2-gl-kit 0.3.2

Bindings to the GLKit framework
Documentation
//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;

use crate::*;

// TODO: pub fn GLKMathDegreesToRadians(degrees: c_float,) -> c_float;

// TODO: pub fn GLKMathRadiansToDegrees(radians: c_float,) -> c_float;

extern "C-unwind" {
    /// # Safety
    ///
    /// `viewport` must be a valid pointer.
    #[cfg(feature = "GLKMathTypes")]
    pub fn GLKMathProject(
        object: GLKVector3,
        model: GLKMatrix4,
        projection: GLKMatrix4,
        viewport: NonNull<c_int>,
    ) -> GLKVector3;
}

extern "C-unwind" {
    /// # Safety
    ///
    /// - `viewport` must be a valid pointer.
    /// - `success` must be a valid pointer or null.
    #[cfg(feature = "GLKMathTypes")]
    pub fn GLKMathUnproject(
        window: GLKVector3,
        model: GLKMatrix4,
        projection: GLKMatrix4,
        viewport: NonNull<c_int>,
        success: *mut bool,
    ) -> GLKVector3;
}

#[cfg(feature = "GLKMathTypes")]
#[inline]
pub unsafe extern "C-unwind" fn NSStringFromGLKMatrix2(matrix: GLKMatrix2) -> Retained<NSString> {
    extern "C-unwind" {
        fn NSStringFromGLKMatrix2(matrix: GLKMatrix2) -> *mut NSString;
    }
    let ret = unsafe { NSStringFromGLKMatrix2(matrix) };
    unsafe { Retained::retain_autoreleased(ret) }
        .expect("function was marked as returning non-null, but actually returned NULL")
}

#[cfg(feature = "GLKMathTypes")]
#[inline]
pub unsafe extern "C-unwind" fn NSStringFromGLKMatrix3(matrix: GLKMatrix3) -> Retained<NSString> {
    extern "C-unwind" {
        fn NSStringFromGLKMatrix3(matrix: GLKMatrix3) -> *mut NSString;
    }
    let ret = unsafe { NSStringFromGLKMatrix3(matrix) };
    unsafe { Retained::retain_autoreleased(ret) }
        .expect("function was marked as returning non-null, but actually returned NULL")
}

#[cfg(feature = "GLKMathTypes")]
#[inline]
pub unsafe extern "C-unwind" fn NSStringFromGLKMatrix4(matrix: GLKMatrix4) -> Retained<NSString> {
    extern "C-unwind" {
        fn NSStringFromGLKMatrix4(matrix: GLKMatrix4) -> *mut NSString;
    }
    let ret = unsafe { NSStringFromGLKMatrix4(matrix) };
    unsafe { Retained::retain_autoreleased(ret) }
        .expect("function was marked as returning non-null, but actually returned NULL")
}

#[cfg(feature = "GLKMathTypes")]
#[inline]
pub unsafe extern "C-unwind" fn NSStringFromGLKVector2(vector: GLKVector2) -> Retained<NSString> {
    extern "C-unwind" {
        fn NSStringFromGLKVector2(vector: GLKVector2) -> *mut NSString;
    }
    let ret = unsafe { NSStringFromGLKVector2(vector) };
    unsafe { Retained::retain_autoreleased(ret) }
        .expect("function was marked as returning non-null, but actually returned NULL")
}

#[cfg(feature = "GLKMathTypes")]
#[inline]
pub unsafe extern "C-unwind" fn NSStringFromGLKVector3(vector: GLKVector3) -> Retained<NSString> {
    extern "C-unwind" {
        fn NSStringFromGLKVector3(vector: GLKVector3) -> *mut NSString;
    }
    let ret = unsafe { NSStringFromGLKVector3(vector) };
    unsafe { Retained::retain_autoreleased(ret) }
        .expect("function was marked as returning non-null, but actually returned NULL")
}

#[cfg(feature = "GLKMathTypes")]
#[inline]
pub unsafe extern "C-unwind" fn NSStringFromGLKVector4(vector: GLKVector4) -> Retained<NSString> {
    extern "C-unwind" {
        fn NSStringFromGLKVector4(vector: GLKVector4) -> *mut NSString;
    }
    let ret = unsafe { NSStringFromGLKVector4(vector) };
    unsafe { Retained::retain_autoreleased(ret) }
        .expect("function was marked as returning non-null, but actually returned NULL")
}

#[cfg(feature = "GLKMathTypes")]
#[inline]
pub unsafe extern "C-unwind" fn NSStringFromGLKQuaternion(
    quaternion: GLKQuaternion,
) -> Retained<NSString> {
    extern "C-unwind" {
        fn NSStringFromGLKQuaternion(quaternion: GLKQuaternion) -> *mut NSString;
    }
    let ret = unsafe { NSStringFromGLKQuaternion(quaternion) };
    unsafe { Retained::retain_autoreleased(ret) }
        .expect("function was marked as returning non-null, but actually returned NULL")
}