Mercurial > projects > dstep
view dstep/appkit/NSOpenGL.d @ 22:f8a3b67adfcb
Removed duplicated methods
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Tue, 09 Feb 2010 18:02:03 +0100 |
parents | 19885b43130e |
children | b9de51448c6b |
line wrap: on
line source
/** * Copyright: Copyright (c) 2009 Jacob Carlborg. * Authors: Jacob Carlborg * Version: Initial created: Sep 24, 2009 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) */ module dstep.appkit.NSOpenGL; import dstep.appkit.NSScreen; import dstep.appkit.NSView; import dstep.foundation.NSCoder; import dstep.foundation.NSData; import dstep.foundation.NSObject; import dstep.objc.bridge.Bridge; import dstep.objc.objc; import dstep.opengl.gl; import dstep.opengl.CGLTypes; typedef uint NSOpenGLPixelFormatAttribute; alias _CGLPixelFormatObject NSOpenGLPixelFormatAuxiliary; alias _CGLContextObject NSOpenGLContextAuxiliary; enum { NSOpenGLGOFormatCacheSize = 501, NSOpenGLGOClearFormatCache = 502, NSOpenGLGORetainRenderers = 503, NSOpenGLGOResetLibrary = 504 } enum : uint { NSOpenGLPFAAllRenderers = 1, NSOpenGLPFADoubleBuffer = 5, NSOpenGLPFAStereo = 6, NSOpenGLPFAAuxBuffers = 7, NSOpenGLPFAColorSize = 8, NSOpenGLPFAAlphaSize = 11, NSOpenGLPFADepthSize = 12, NSOpenGLPFAStencilSize = 13, NSOpenGLPFAAccumSize = 14, NSOpenGLPFAMinimumPolicy = 51, NSOpenGLPFAMaximumPolicy = 52, NSOpenGLPFAOffScreen = 53, NSOpenGLPFAFullScreen = 54, NSOpenGLPFASampleBuffers = 55, NSOpenGLPFASamples = 56, NSOpenGLPFAAuxDepthStencil = 57, NSOpenGLPFAColorFloat = 58, NSOpenGLPFAMultisample = 59, NSOpenGLPFASupersample = 60, NSOpenGLPFASampleAlpha = 61, NSOpenGLPFARendererID = 70, NSOpenGLPFASingleRenderer = 71, NSOpenGLPFANoRecovery = 72, NSOpenGLPFAAccelerated = 73, NSOpenGLPFAClosestPolicy = 74, NSOpenGLPFARobust = 75, NSOpenGLPFABackingStore = 76, NSOpenGLPFAMPSafe = 78, NSOpenGLPFAWindow = 80, NSOpenGLPFAMultiScreen = 81, NSOpenGLPFACompliant = 83, NSOpenGLPFAScreenMask = 84, NSOpenGLPFAPixelBuffer = 90, NSOpenGLPFAAllowOfflineRenderers = 96, NSOpenGLPFAVirtualScreenCount = 128 } enum { NSOpenGLCPSwapRectangle = 200, NSOpenGLCPSwapRectangleEnable = 201, NSOpenGLCPRasterizationEnable = 221, NSOpenGLCPSwapInterval = 222, NSOpenGLCPSurfaceOrder = 235, NSOpenGLCPSurfaceOpacity = 236, NSOpenGLCPStateValidation = 301 } class NSOpenGLPixelFormat : NSObject, INSCoding { mixin (ObjcWrap); this (NSCoder aDecoder) { super(typeof(this).alloc.initWithCoder(aDecoder).objcObject); } void encodeWithCoder (NSCoder aCoder) { return invokeObjcSelf!(void, "encodeWithCoder:", NSCoder)(aCoder); } typeof(this) initWithCoder (NSCoder aDecoder) { return invokeObjcSelf!(typeof(this), "initWithCoder:", NSCoder)(aDecoder); } NSOpenGLPixelFormat initWithAttributes (NSOpenGLPixelFormatAttribute* attribs) { id result = invokeObjcSelf!(id, "initWithAttributes:", NSOpenGLPixelFormatAttribute*)(attribs); return result is this.objcObject ? this : (result !is null ? new NSOpenGLPixelFormat(result) : null); } this (NSOpenGLPixelFormatAttribute* attribs) { super(NSOpenGLPixelFormat.alloc.initWithAttributes(attribs).objcObject); } NSOpenGLPixelFormat initWithData (NSData attribs) { id result = invokeObjcSelf!(id, "initWithData:", NSData)(attribs); return result is this.objcObject ? this : (result !is null ? new NSOpenGLPixelFormat(result) : null); } this (NSData attribs) { super(NSOpenGLPixelFormat.alloc.initWithData(attribs).objcObject); } NSData attributes () { return invokeObjcSelf!(NSData, "attributes"); } void setAttributes (NSData attribs) { return invokeObjcSelf!(void, "setAttributes:", NSData)(attribs); } void getValues (ref GLint vals, uint attrib, int screen) { return invokeObjcSelf!(void, "getValues:forAttribute:forVirtualScreen:", GLint*, uint, int)(&vals, attrib, screen); } int numberOfVirtualScreens () { return invokeObjcSelf!(int, "numberOfVirtualScreens"); } void* CGLPixelFormatObj () { return invokeObjcSelf!(void*, "CGLPixelFormatObj"); } } class NSOpenGLContext : NSObject { mixin (ObjcWrap); NSOpenGLContext initWithFormat (NSOpenGLPixelFormat format, NSOpenGLContext share) { id result = invokeObjcSelf!(id, "initWithFormat:shareContext:", NSOpenGLPixelFormat, NSOpenGLContext)(format, share); return result is this.objcObject ? this : (result !is null ? new NSOpenGLContext(result) : null); } this (NSOpenGLPixelFormat format, NSOpenGLContext share) { super(NSOpenGLContext.alloc.initWithFormat(format, share).objcObject); } void setView (NSView view) { return invokeObjcSelf!(void, "setView:", NSView)(view); } NSView view () { return invokeObjcSelf!(NSView, "view"); } void setFullScreen () { return invokeObjcSelf!(void, "setFullScreen"); } void setOffScreen (void* baseaddr, int width, int height, int rowbytes) { return invokeObjcSelf!(void, "setOffScreen:width:height:rowbytes:", void*, int, int, int)(baseaddr, width, height, rowbytes); } void clearDrawable () { return invokeObjcSelf!(void, "clearDrawable"); } void update () { return invokeObjcSelf!(void, "update"); } void flushBuffer () { return invokeObjcSelf!(void, "flushBuffer"); } void makeCurrentContext () { return invokeObjcSelf!(void, "makeCurrentContext"); } static void clearCurrentContext () { return invokeObjcSelfClass!(void, "clearCurrentContext"); } static NSOpenGLContext currentContext () { return invokeObjcSelfClass!(NSOpenGLContext, "currentContext"); } void copyAttributesFromContext (NSOpenGLContext context, uint mask) { return invokeObjcSelf!(void, "copyAttributesFromContext:withMask:", NSOpenGLContext, uint)(context, mask); } void setValues (GLint* vals, int param) { return invokeObjcSelf!(void, "setValues:forParameter:", GLint*, int)(vals, param); } void getValues (GLint* vals, int param) { return invokeObjcSelf!(void, "getValues:forParameter:", GLint*, int)(vals, param); } void setCurrentVirtualScreen (int screen) { return invokeObjcSelf!(void, "setCurrentVirtualScreen:", int)(screen); } int currentVirtualScreen () { return invokeObjcSelf!(int, "currentVirtualScreen"); } void createTexture (uint target, NSView view, uint format) { return invokeObjcSelf!(void, "createTexture:fromView:internalFormat:", uint, NSView, uint)(target, view, format); } void* CGLContextObj () { return invokeObjcSelf!(void*, "CGLContextObj"); } void setPixelBuffer (NSOpenGLPixelBuffer pixelBuffer, uint face, int level, int screen) { return invokeObjcSelf!(void, "setPixelBuffer:cubeMapFace:mipMapLevel:currentVirtualScreen:", NSOpenGLPixelBuffer, uint, int, int)(pixelBuffer, face, level, screen); } NSOpenGLPixelBuffer pixelBuffer () { return invokeObjcSelf!(NSOpenGLPixelBuffer, "pixelBuffer"); } uint pixelBufferCubeMapFace () { return invokeObjcSelf!(uint, "pixelBufferCubeMapFace"); } int pixelBufferMipMapLevel () { return invokeObjcSelf!(int, "pixelBufferMipMapLevel"); } void setTextureImageToPixelBuffer (NSOpenGLPixelBuffer pixelBuffer, uint source) { return invokeObjcSelf!(void, "setTextureImageToPixelBuffer:colorBuffer:", NSOpenGLPixelBuffer, uint)(pixelBuffer, source); } } class NSOpenGLPixelBuffer : NSObject { mixin (ObjcWrap); NSOpenGLPixelBuffer initWithTextureTarget (uint target, uint format, int maxLevel, int pixelsWide, int pixelsHigh) { id result = invokeObjcSelf!(id, "initWithTextureTarget:textureInternalFormat:textureMaxMipMapLevel:pixelsWide:pixelsHigh:", uint, uint, int, int, int)(target, format, maxLevel, pixelsWide, pixelsHigh); return result is this.objcObject ? this : (result !is null ? new NSOpenGLPixelBuffer(result) : null); } this (uint target, uint format, int maxLevel, int pixelsWide, int pixelsHigh) { super(NSOpenGLPixelBuffer.alloc.initWithTextureTarget(target, format, maxLevel, pixelsWide, pixelsHigh).objcObject); } int pixelsWide () { return invokeObjcSelf!(int, "pixelsWide"); } int pixelsHigh () { return invokeObjcSelf!(int, "pixelsHigh"); } uint textureTarget () { return invokeObjcSelf!(uint, "textureTarget"); } uint textureInternalFormat () { return invokeObjcSelf!(uint, "textureInternalFormat"); } int textureMaxMipMapLevel () { return invokeObjcSelf!(int, "textureMaxMipMapLevel"); } } extern (C) { void NSOpenGLSetOption (int pname, int param); void NSOpenGLGetOption (int pname, GLint* param); void NSOpenGLGetVersion (GLint* major, GLint* minor); }