objc2_core_video/generated/
CVOpenGLBuffer.rs1use core::ptr::NonNull;
4use objc2_core_foundation::*;
5#[cfg(feature = "objc2-open-gl")]
6#[cfg(target_os = "macos")]
7use objc2_open_gl::*;
8
9use crate::*;
10
11extern "C" {
12 #[deprecated = "OpenGL/OpenGLES is no longer supported. Use Metal APIs instead. (Define COREVIDEO_SILENCE_GL_DEPRECATION to silence these warnings)"]
14 pub static kCVOpenGLBufferWidth: &'static CFString;
15}
16
17extern "C" {
18 #[deprecated = "OpenGL/OpenGLES is no longer supported. Use Metal APIs instead. (Define COREVIDEO_SILENCE_GL_DEPRECATION to silence these warnings)"]
20 pub static kCVOpenGLBufferHeight: &'static CFString;
21}
22
23extern "C" {
24 #[deprecated = "OpenGL/OpenGLES is no longer supported. Use Metal APIs instead. (Define COREVIDEO_SILENCE_GL_DEPRECATION to silence these warnings)"]
26 pub static kCVOpenGLBufferTarget: &'static CFString;
27}
28
29extern "C" {
30 #[deprecated = "OpenGL/OpenGLES is no longer supported. Use Metal APIs instead. (Define COREVIDEO_SILENCE_GL_DEPRECATION to silence these warnings)"]
32 pub static kCVOpenGLBufferInternalFormat: &'static CFString;
33}
34
35extern "C" {
36 #[deprecated = "OpenGL/OpenGLES is no longer supported. Use Metal APIs instead. (Define COREVIDEO_SILENCE_GL_DEPRECATION to silence these warnings)"]
38 pub static kCVOpenGLBufferMaximumMipmapLevel: &'static CFString;
39}
40
41#[doc(alias = "CVOpenGLBufferRef")]
43#[cfg(all(feature = "CVBuffer", feature = "CVImageBuffer"))]
44pub type CVOpenGLBuffer = CVImageBuffer;
45
46#[deprecated = "OpenGL/OpenGLES is no longer supported. Use Metal APIs instead. (Define COREVIDEO_SILENCE_GL_DEPRECATION to silence these warnings)"]
47#[inline]
48pub extern "C-unwind" fn CVOpenGLBufferGetTypeID() -> CFTypeID {
49 extern "C-unwind" {
50 fn CVOpenGLBufferGetTypeID() -> CFTypeID;
51 }
52 unsafe { CVOpenGLBufferGetTypeID() }
53}
54
55extern "C-unwind" {
56 #[cfg(all(feature = "CVBuffer", feature = "CVImageBuffer", feature = "CVReturn"))]
75 #[deprecated = "OpenGL/OpenGLES is no longer supported. Use Metal APIs instead. (Define COREVIDEO_SILENCE_GL_DEPRECATION to silence these warnings)"]
76 pub fn CVOpenGLBufferCreate(
77 allocator: Option<&CFAllocator>,
78 width: usize,
79 height: usize,
80 attributes: Option<&CFDictionary>,
81 buffer_out: NonNull<*mut CVOpenGLBuffer>,
82 ) -> CVReturn;
83}
84
85#[cfg(all(feature = "CVBuffer", feature = "CVImageBuffer"))]
89#[deprecated = "OpenGL/OpenGLES is no longer supported. Use Metal APIs instead. (Define COREVIDEO_SILENCE_GL_DEPRECATION to silence these warnings)"]
90#[inline]
91pub extern "C-unwind" fn CVOpenGLBufferGetAttributes(
92 open_gl_buffer: &CVOpenGLBuffer,
93) -> Option<CFRetained<CFDictionary>> {
94 extern "C-unwind" {
95 fn CVOpenGLBufferGetAttributes(
96 open_gl_buffer: &CVOpenGLBuffer,
97 ) -> Option<NonNull<CFDictionary>>;
98 }
99 let ret = unsafe { CVOpenGLBufferGetAttributes(open_gl_buffer) };
100 ret.map(|ret| unsafe { CFRetained::retain(ret) })
101}
102
103extern "C-unwind" {
104 #[cfg(all(
120 feature = "CVBuffer",
121 feature = "CVImageBuffer",
122 feature = "CVReturn",
123 feature = "objc2-open-gl"
124 ))]
125 #[cfg(target_os = "macos")]
126 #[deprecated = "OpenGL/OpenGLES is no longer supported. Use Metal APIs instead. (Define COREVIDEO_SILENCE_GL_DEPRECATION to silence these warnings)"]
127 pub fn CVOpenGLBufferAttach(
128 open_gl_buffer: &CVOpenGLBuffer,
129 cgl_context: CGLContextObj,
130 face: GLenum,
131 level: GLint,
132 screen: GLint,
133 ) -> CVReturn;
134}