use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;
#[cfg(feature = "objc2-open-gl")]
#[cfg(target_vendor = "apple")]
use objc2_open_gl::*;
use crate::*;
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct NSOpenGLGlobalOption(pub u32);
impl NSOpenGLGlobalOption {
#[doc(alias = "NSOpenGLGOFormatCacheSize")]
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const GLGOFormatCacheSize: Self = Self(501);
#[doc(alias = "NSOpenGLGOClearFormatCache")]
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const GLGOClearFormatCache: Self = Self(502);
#[doc(alias = "NSOpenGLGORetainRenderers")]
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const GLGORetainRenderers: Self = Self(503);
#[doc(alias = "NSOpenGLGOUseBuildCache")]
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const GLGOUseBuildCache: Self = Self(506);
#[doc(alias = "NSOpenGLGOResetLibrary")]
#[deprecated]
pub const GLGOResetLibrary: Self = Self(504);
}
unsafe impl Encode for NSOpenGLGlobalOption {
const ENCODING: Encoding = u32::ENCODING;
}
unsafe impl RefEncode for NSOpenGLGlobalOption {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(feature = "objc2-open-gl")]
#[cfg(target_vendor = "apple")]
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
#[inline]
pub extern "C-unwind" fn NSOpenGLSetOption(pname: NSOpenGLGlobalOption, param: GLint) {
extern "C-unwind" {
fn NSOpenGLSetOption(pname: NSOpenGLGlobalOption, param: GLint);
}
unsafe { NSOpenGLSetOption(pname, param) }
}
extern "C-unwind" {
#[cfg(feature = "objc2-open-gl")]
#[cfg(target_vendor = "apple")]
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub fn NSOpenGLGetOption(pname: NSOpenGLGlobalOption, param: NonNull<GLint>);
}
extern "C-unwind" {
#[cfg(feature = "objc2-open-gl")]
#[cfg(target_vendor = "apple")]
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub fn NSOpenGLGetVersion(major: *mut GLint, minor: *mut GLint);
}
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const NSOpenGLPFAAllRenderers: c_uint = 1;
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const NSOpenGLPFATripleBuffer: c_uint = 3;
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const NSOpenGLPFADoubleBuffer: c_uint = 5;
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const NSOpenGLPFAAuxBuffers: c_uint = 7;
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const NSOpenGLPFAColorSize: c_uint = 8;
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const NSOpenGLPFAAlphaSize: c_uint = 11;
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const NSOpenGLPFADepthSize: c_uint = 12;
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const NSOpenGLPFAStencilSize: c_uint = 13;
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const NSOpenGLPFAAccumSize: c_uint = 14;
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const NSOpenGLPFAMinimumPolicy: c_uint = 51;
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const NSOpenGLPFAMaximumPolicy: c_uint = 52;
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const NSOpenGLPFASampleBuffers: c_uint = 55;
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const NSOpenGLPFASamples: c_uint = 56;
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const NSOpenGLPFAAuxDepthStencil: c_uint = 57;
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const NSOpenGLPFAColorFloat: c_uint = 58;
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const NSOpenGLPFAMultisample: c_uint = 59;
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const NSOpenGLPFASupersample: c_uint = 60;
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const NSOpenGLPFASampleAlpha: c_uint = 61;
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const NSOpenGLPFARendererID: c_uint = 70;
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const NSOpenGLPFANoRecovery: c_uint = 72;
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const NSOpenGLPFAAccelerated: c_uint = 73;
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const NSOpenGLPFAClosestPolicy: c_uint = 74;
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const NSOpenGLPFABackingStore: c_uint = 76;
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const NSOpenGLPFAScreenMask: c_uint = 84;
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const NSOpenGLPFAAllowOfflineRenderers: c_uint = 96;
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const NSOpenGLPFAAcceleratedCompute: c_uint = 97;
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const NSOpenGLPFAOpenGLProfile: c_uint = 99;
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const NSOpenGLPFAVirtualScreenCount: c_uint = 128;
#[deprecated]
pub const NSOpenGLPFAStereo: c_uint = 6;
#[deprecated]
pub const NSOpenGLPFAOffScreen: c_uint = 53;
#[deprecated]
pub const NSOpenGLPFAFullScreen: c_uint = 54;
#[deprecated]
pub const NSOpenGLPFASingleRenderer: c_uint = 71;
#[deprecated]
pub const NSOpenGLPFARobust: c_uint = 75;
#[deprecated]
pub const NSOpenGLPFAMPSafe: c_uint = 78;
#[deprecated]
pub const NSOpenGLPFAWindow: c_uint = 80;
#[deprecated]
pub const NSOpenGLPFAMultiScreen: c_uint = 81;
#[deprecated]
pub const NSOpenGLPFACompliant: c_uint = 83;
#[deprecated]
pub const NSOpenGLPFAPixelBuffer: c_uint = 90;
#[deprecated]
pub const NSOpenGLPFARemotePixelBuffer: c_uint = 91;
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub type NSOpenGLPixelFormatAttribute = u32;
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const NSOpenGLProfileVersionLegacy: c_uint = 0x1000;
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const NSOpenGLProfileVersion3_2Core: c_uint = 0x3200;
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const NSOpenGLProfileVersion4_1Core: c_uint = 0x4100;
extern_class!(
#[unsafe(super(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
#[deprecated = "Please use Metal or MetalKit."]
pub struct NSOpenGLPixelFormat;
);
extern_conformance!(
unsafe impl NSCoding for NSOpenGLPixelFormat {}
);
extern_conformance!(
unsafe impl NSObjectProtocol for NSOpenGLPixelFormat {}
);
impl NSOpenGLPixelFormat {
extern_methods!(
#[cfg(feature = "objc2-open-gl")]
#[cfg(target_vendor = "apple")]
#[unsafe(method(initWithCGLPixelFormatObj:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithCGLPixelFormatObj(
this: Allocated<Self>,
format: CGLPixelFormatObj,
) -> Option<Retained<NSOpenGLPixelFormat>>;
#[unsafe(method(initWithAttributes:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithAttributes(
this: Allocated<Self>,
attribs: NonNull<NSOpenGLPixelFormatAttribute>,
) -> Option<Retained<Self>>;
#[deprecated = "Use -initWithAttributes: instead"]
#[unsafe(method(initWithData:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithData(
this: Allocated<Self>,
attribs: Option<&NSData>,
) -> Option<Retained<Self>>;
#[deprecated]
#[unsafe(method(attributes))]
#[unsafe(method_family = none)]
pub fn attributes(&self) -> Option<Retained<NSData>>;
#[deprecated]
#[unsafe(method(setAttributes:))]
#[unsafe(method_family = none)]
pub unsafe fn setAttributes(&self, attribs: Option<&NSData>);
#[cfg(feature = "objc2-open-gl")]
#[cfg(target_vendor = "apple")]
#[unsafe(method(getValues:forAttribute:forVirtualScreen:))]
#[unsafe(method_family = none)]
pub unsafe fn getValues_forAttribute_forVirtualScreen(
&self,
vals: NonNull<GLint>,
attrib: NSOpenGLPixelFormatAttribute,
screen: GLint,
);
#[cfg(feature = "objc2-open-gl")]
#[cfg(target_vendor = "apple")]
#[unsafe(method(numberOfVirtualScreens))]
#[unsafe(method_family = none)]
pub fn numberOfVirtualScreens(&self) -> GLint;
#[cfg(feature = "objc2-open-gl")]
#[cfg(target_vendor = "apple")]
#[unsafe(method(CGLPixelFormatObj))]
#[unsafe(method_family = none)]
pub fn CGLPixelFormatObj(&self) -> CGLPixelFormatObj;
);
}
impl NSOpenGLPixelFormat {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub fn new() -> Retained<Self>;
);
}
impl DefaultRetained for NSOpenGLPixelFormat {
#[inline]
fn default_retained() -> Retained<Self> {
Self::new()
}
}
extern_class!(
#[unsafe(super(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
#[deprecated = "Use GL_EXT_framebuffer_object instead"]
pub struct NSOpenGLPixelBuffer;
);
extern_conformance!(
unsafe impl NSObjectProtocol for NSOpenGLPixelBuffer {}
);
impl NSOpenGLPixelBuffer {
extern_methods!(
#[cfg(feature = "objc2-open-gl")]
#[cfg(target_vendor = "apple")]
#[deprecated]
#[unsafe(method(initWithTextureTarget:textureInternalFormat:textureMaxMipMapLevel:pixelsWide:pixelsHigh:))]
#[unsafe(method_family = init)]
pub fn initWithTextureTarget_textureInternalFormat_textureMaxMipMapLevel_pixelsWide_pixelsHigh(
this: Allocated<Self>,
target: GLenum,
format: GLenum,
max_level: GLint,
pixels_wide: GLsizei,
pixels_high: GLsizei,
) -> Option<Retained<Self>>;
#[cfg(feature = "objc2-open-gl")]
#[cfg(target_vendor = "apple")]
#[deprecated]
#[unsafe(method(initWithCGLPBufferObj:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithCGLPBufferObj(
this: Allocated<Self>,
pbuffer: CGLPBufferObj,
) -> Option<Retained<NSOpenGLPixelBuffer>>;
#[cfg(feature = "objc2-open-gl")]
#[cfg(target_vendor = "apple")]
#[unsafe(method(CGLPBufferObj))]
#[unsafe(method_family = none)]
pub fn CGLPBufferObj(&self) -> CGLPBufferObj;
#[cfg(feature = "objc2-open-gl")]
#[cfg(target_vendor = "apple")]
#[deprecated]
#[unsafe(method(pixelsWide))]
#[unsafe(method_family = none)]
pub fn pixelsWide(&self) -> GLsizei;
#[cfg(feature = "objc2-open-gl")]
#[cfg(target_vendor = "apple")]
#[deprecated]
#[unsafe(method(pixelsHigh))]
#[unsafe(method_family = none)]
pub fn pixelsHigh(&self) -> GLsizei;
#[cfg(feature = "objc2-open-gl")]
#[cfg(target_vendor = "apple")]
#[deprecated]
#[unsafe(method(textureTarget))]
#[unsafe(method_family = none)]
pub fn textureTarget(&self) -> GLenum;
#[cfg(feature = "objc2-open-gl")]
#[cfg(target_vendor = "apple")]
#[deprecated]
#[unsafe(method(textureInternalFormat))]
#[unsafe(method_family = none)]
pub fn textureInternalFormat(&self) -> GLenum;
#[cfg(feature = "objc2-open-gl")]
#[cfg(target_vendor = "apple")]
#[deprecated]
#[unsafe(method(textureMaxMipMapLevel))]
#[unsafe(method_family = none)]
pub fn textureMaxMipMapLevel(&self) -> GLint;
);
}
impl NSOpenGLPixelBuffer {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub fn new() -> Retained<Self>;
);
}
impl DefaultRetained for NSOpenGLPixelBuffer {
#[inline]
fn default_retained() -> Retained<Self> {
Self::new()
}
}
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct NSOpenGLContextParameter(pub NSInteger);
impl NSOpenGLContextParameter {
#[doc(alias = "NSOpenGLContextParameterSwapInterval")]
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const SwapInterval: Self = Self(222);
#[doc(alias = "NSOpenGLContextParameterSurfaceOrder")]
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const SurfaceOrder: Self = Self(235);
#[doc(alias = "NSOpenGLContextParameterSurfaceOpacity")]
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const SurfaceOpacity: Self = Self(236);
#[doc(alias = "NSOpenGLContextParameterSurfaceBackingSize")]
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const SurfaceBackingSize: Self = Self(304);
#[doc(alias = "NSOpenGLContextParameterReclaimResources")]
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const ReclaimResources: Self = Self(308);
#[doc(alias = "NSOpenGLContextParameterCurrentRendererID")]
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const CurrentRendererID: Self = Self(309);
#[doc(alias = "NSOpenGLContextParameterGPUVertexProcessing")]
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const GPUVertexProcessing: Self = Self(310);
#[doc(alias = "NSOpenGLContextParameterGPUFragmentProcessing")]
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const GPUFragmentProcessing: Self = Self(311);
#[doc(alias = "NSOpenGLContextParameterHasDrawable")]
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const HasDrawable: Self = Self(314);
#[doc(alias = "NSOpenGLContextParameterMPSwapsInFlight")]
#[deprecated = "OpenGL API deprecated; please use Metal and MetalKit. (Define GL_SILENCE_DEPRECATION to silence these warnings.)"]
pub const MPSwapsInFlight: Self = Self(315);
#[doc(alias = "NSOpenGLContextParameterSwapRectangle")]
#[deprecated]
pub const SwapRectangle: Self = Self(200);
#[doc(alias = "NSOpenGLContextParameterSwapRectangleEnable")]
#[deprecated]
pub const SwapRectangleEnable: Self = Self(201);
#[doc(alias = "NSOpenGLContextParameterRasterizationEnable")]
#[deprecated]
pub const RasterizationEnable: Self = Self(221);
#[doc(alias = "NSOpenGLContextParameterStateValidation")]
#[deprecated]
pub const StateValidation: Self = Self(301);
#[doc(alias = "NSOpenGLContextParameterSurfaceSurfaceVolatile")]
#[deprecated]
pub const SurfaceSurfaceVolatile: Self = Self(306);
}
unsafe impl Encode for NSOpenGLContextParameter {
const ENCODING: Encoding = NSInteger::ENCODING;
}
unsafe impl RefEncode for NSOpenGLContextParameter {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
extern_class!(
#[unsafe(super(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
#[deprecated = "Please use Metal or MetalKit."]
pub struct NSOpenGLContext;
);
extern_conformance!(
unsafe impl NSLocking for NSOpenGLContext {}
);
extern_conformance!(
unsafe impl NSObjectProtocol for NSOpenGLContext {}
);
impl NSOpenGLContext {
extern_methods!(
#[unsafe(method(initWithFormat:shareContext:))]
#[unsafe(method_family = init)]
pub fn initWithFormat_shareContext(
this: Allocated<Self>,
format: &NSOpenGLPixelFormat,
share: Option<&NSOpenGLContext>,
) -> Option<Retained<Self>>;
#[cfg(feature = "objc2-open-gl")]
#[cfg(target_vendor = "apple")]
#[unsafe(method(initWithCGLContextObj:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithCGLContextObj(
this: Allocated<Self>,
context: CGLContextObj,
) -> Option<Retained<NSOpenGLContext>>;
#[unsafe(method(pixelFormat))]
#[unsafe(method_family = none)]
pub fn pixelFormat(&self) -> Retained<NSOpenGLPixelFormat>;
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
#[deprecated]
#[unsafe(method(view))]
#[unsafe(method_family = none)]
pub fn view(&self, mtm: MainThreadMarker) -> Option<Retained<NSView>>;
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
#[deprecated]
#[unsafe(method(setView:))]
#[unsafe(method_family = none)]
pub fn setView(&self, view: Option<&NSView>, mtm: MainThreadMarker);
#[deprecated = "Use a fullscreen NSOpenGLView instead"]
#[unsafe(method(setFullScreen))]
#[unsafe(method_family = none)]
pub fn setFullScreen(&self);
#[cfg(feature = "objc2-open-gl")]
#[cfg(target_vendor = "apple")]
#[deprecated]
#[unsafe(method(setOffScreen:width:height:rowbytes:))]
#[unsafe(method_family = none)]
pub unsafe fn setOffScreen_width_height_rowbytes(
&self,
baseaddr: NonNull<c_void>,
width: GLsizei,
height: GLsizei,
rowbytes: GLint,
);
#[unsafe(method(clearDrawable))]
#[unsafe(method_family = none)]
pub fn clearDrawable(&self);
#[unsafe(method(update))]
#[unsafe(method_family = none)]
pub fn update(&self, mtm: MainThreadMarker);
#[unsafe(method(flushBuffer))]
#[unsafe(method_family = none)]
pub fn flushBuffer(&self);
#[unsafe(method(makeCurrentContext))]
#[unsafe(method_family = none)]
pub fn makeCurrentContext(&self);
#[unsafe(method(clearCurrentContext))]
#[unsafe(method_family = none)]
pub fn clearCurrentContext();
#[unsafe(method(currentContext))]
#[unsafe(method_family = none)]
pub fn currentContext() -> Option<Retained<NSOpenGLContext>>;
#[cfg(feature = "objc2-open-gl")]
#[cfg(target_vendor = "apple")]
#[deprecated]
#[unsafe(method(copyAttributesFromContext:withMask:))]
#[unsafe(method_family = none)]
pub fn copyAttributesFromContext_withMask(
&self,
context: &NSOpenGLContext,
mask: GLbitfield,
);
#[cfg(feature = "objc2-open-gl")]
#[cfg(target_vendor = "apple")]
#[unsafe(method(setValues:forParameter:))]
#[unsafe(method_family = none)]
pub unsafe fn setValues_forParameter(
&self,
vals: NonNull<GLint>,
param: NSOpenGLContextParameter,
);
#[cfg(feature = "objc2-open-gl")]
#[cfg(target_vendor = "apple")]
#[unsafe(method(getValues:forParameter:))]
#[unsafe(method_family = none)]
pub unsafe fn getValues_forParameter(
&self,
vals: NonNull<GLint>,
param: NSOpenGLContextParameter,
);
#[cfg(feature = "objc2-open-gl")]
#[cfg(target_vendor = "apple")]
#[unsafe(method(currentVirtualScreen))]
#[unsafe(method_family = none)]
pub fn currentVirtualScreen(&self) -> GLint;
#[cfg(feature = "objc2-open-gl")]
#[cfg(target_vendor = "apple")]
#[unsafe(method(setCurrentVirtualScreen:))]
#[unsafe(method_family = none)]
pub fn setCurrentVirtualScreen(&self, current_virtual_screen: GLint);
#[cfg(all(feature = "NSResponder", feature = "NSView", feature = "objc2-open-gl"))]
#[cfg(target_vendor = "apple")]
#[deprecated]
#[unsafe(method(createTexture:fromView:internalFormat:))]
#[unsafe(method_family = none)]
pub fn createTexture_fromView_internalFormat(
&self,
target: GLenum,
view: &NSView,
format: GLenum,
);
#[cfg(feature = "objc2-open-gl")]
#[cfg(target_vendor = "apple")]
#[unsafe(method(CGLContextObj))]
#[unsafe(method_family = none)]
pub fn CGLContextObj(&self) -> CGLContextObj;
);
}
impl NSOpenGLContext {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub fn new() -> Retained<Self>;
);
}
impl DefaultRetained for NSOpenGLContext {
#[inline]
fn default_retained() -> Retained<Self> {
Self::new()
}
}
impl NSOpenGLContext {
extern_methods!(
#[cfg(feature = "objc2-open-gl")]
#[cfg(target_vendor = "apple")]
#[deprecated]
#[unsafe(method(setPixelBuffer:cubeMapFace:mipMapLevel:currentVirtualScreen:))]
#[unsafe(method_family = none)]
pub fn setPixelBuffer_cubeMapFace_mipMapLevel_currentVirtualScreen(
&self,
pixel_buffer: &NSOpenGLPixelBuffer,
face: GLenum,
level: GLint,
screen: GLint,
);
#[deprecated]
#[unsafe(method(pixelBuffer))]
#[unsafe(method_family = none)]
pub fn pixelBuffer(&self) -> Option<Retained<NSOpenGLPixelBuffer>>;
#[cfg(feature = "objc2-open-gl")]
#[cfg(target_vendor = "apple")]
#[deprecated]
#[unsafe(method(pixelBufferCubeMapFace))]
#[unsafe(method_family = none)]
pub fn pixelBufferCubeMapFace(&self) -> GLenum;
#[cfg(feature = "objc2-open-gl")]
#[cfg(target_vendor = "apple")]
#[deprecated]
#[unsafe(method(pixelBufferMipMapLevel))]
#[unsafe(method_family = none)]
pub fn pixelBufferMipMapLevel(&self) -> GLint;
#[cfg(feature = "objc2-open-gl")]
#[cfg(target_vendor = "apple")]
#[deprecated]
#[unsafe(method(setTextureImageToPixelBuffer:colorBuffer:))]
#[unsafe(method_family = none)]
pub fn setTextureImageToPixelBuffer_colorBuffer(
&self,
pixel_buffer: &NSOpenGLPixelBuffer,
source: GLenum,
);
);
}
#[deprecated]
pub static NSOpenGLCPSwapInterval: NSOpenGLContextParameter =
NSOpenGLContextParameter(NSOpenGLContextParameter::SwapInterval.0);
#[deprecated]
pub static NSOpenGLCPSurfaceOrder: NSOpenGLContextParameter =
NSOpenGLContextParameter(NSOpenGLContextParameter::SurfaceOrder.0);
#[deprecated]
pub static NSOpenGLCPSurfaceOpacity: NSOpenGLContextParameter =
NSOpenGLContextParameter(NSOpenGLContextParameter::SurfaceOpacity.0);
#[deprecated]
pub static NSOpenGLCPSurfaceBackingSize: NSOpenGLContextParameter =
NSOpenGLContextParameter(NSOpenGLContextParameter::SurfaceBackingSize.0);
#[deprecated]
pub static NSOpenGLCPReclaimResources: NSOpenGLContextParameter =
NSOpenGLContextParameter(NSOpenGLContextParameter::ReclaimResources.0);
#[deprecated]
pub static NSOpenGLCPCurrentRendererID: NSOpenGLContextParameter =
NSOpenGLContextParameter(NSOpenGLContextParameter::CurrentRendererID.0);
#[deprecated]
pub static NSOpenGLCPGPUVertexProcessing: NSOpenGLContextParameter =
NSOpenGLContextParameter(NSOpenGLContextParameter::GPUVertexProcessing.0);
#[deprecated]
pub static NSOpenGLCPGPUFragmentProcessing: NSOpenGLContextParameter =
NSOpenGLContextParameter(NSOpenGLContextParameter::GPUFragmentProcessing.0);
#[deprecated]
pub static NSOpenGLCPHasDrawable: NSOpenGLContextParameter =
NSOpenGLContextParameter(NSOpenGLContextParameter::HasDrawable.0);
#[deprecated]
pub static NSOpenGLCPMPSwapsInFlight: NSOpenGLContextParameter =
NSOpenGLContextParameter(NSOpenGLContextParameter::MPSwapsInFlight.0);
#[deprecated]
pub static NSOpenGLCPSwapRectangle: NSOpenGLContextParameter =
NSOpenGLContextParameter(NSOpenGLContextParameter::SwapRectangle.0);
#[deprecated]
pub static NSOpenGLCPSwapRectangleEnable: NSOpenGLContextParameter =
NSOpenGLContextParameter(NSOpenGLContextParameter::SwapRectangleEnable.0);
#[deprecated]
pub static NSOpenGLCPRasterizationEnable: NSOpenGLContextParameter =
NSOpenGLContextParameter(NSOpenGLContextParameter::RasterizationEnable.0);
#[deprecated]
pub static NSOpenGLCPStateValidation: NSOpenGLContextParameter =
NSOpenGLContextParameter(NSOpenGLContextParameter::StateValidation.0);
#[deprecated]
pub static NSOpenGLCPSurfaceSurfaceVolatile: NSOpenGLContextParameter =
NSOpenGLContextParameter(NSOpenGLContextParameter::SurfaceSurfaceVolatile.0);