Mercurial > projects > dwt-mac
diff dwt/internal/cocoa/NSOpenGLPixelFormat.d @ 0:380af2bdd8e5
Upload of whole dwt tree
author | Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com> |
---|---|
date | Sat, 09 Aug 2008 17:00:02 +0200 |
parents | |
children | 8b48be5454ce |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dwt/internal/cocoa/NSOpenGLPixelFormat.d Sat Aug 09 17:00:02 2008 +0200 @@ -0,0 +1,137 @@ +/******************************************************************************* + * Copyright (c) 2007 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * + * Port to the D Programming language: + * Jacob Carlborg <jacob.carlborg@gmail.com> + *******************************************************************************/ +module dwt.internal.cocoa.NSOpenGLPixelFormat; + +import dwt.internal.cocoa.NSData; +import dwt.internal.cocoa.NSObject; +import dwt.internal.cocoa.OS; +import objc = dwt.internal.objc.runtime; + +enum NSOpenGLPixelFormatAttribute +{ + 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, + 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, + NSOpenGLPFAVirtualScreenCount = 128 +} + +alias NSOpenGLPixelFormatAttribute.NSOpenGLPFAAllRenderers NSOpenGLPFAAllRenderers; +alias NSOpenGLPixelFormatAttribute.NSOpenGLPFADoubleBuffer NSOpenGLPFADoubleBuffer; +alias NSOpenGLPixelFormatAttribute.NSOpenGLPFAStereo NSOpenGLPFAStereo; +alias NSOpenGLPixelFormatAttribute.NSOpenGLPFAAuxBuffers NSOpenGLPFAAuxBuffers; +alias NSOpenGLPixelFormatAttribute.NSOpenGLPFAColorSize NSOpenGLPFAColorSize; +alias NSOpenGLPixelFormatAttribute.NSOpenGLPFAAlphaSize NSOpenGLPFAAlphaSize; +alias NSOpenGLPixelFormatAttribute.NSOpenGLPFADepthSize NSOpenGLPFADepthSize; +alias NSOpenGLPixelFormatAttribute.NSOpenGLPFAStencilSize NSOpenGLPFAStencilSize; +alias NSOpenGLPixelFormatAttribute.NSOpenGLPFAAccumSize NSOpenGLPFAAccumSize; +alias NSOpenGLPixelFormatAttribute.NSOpenGLPFAMinimumPolicy NSOpenGLPFAMinimumPolicy; +alias NSOpenGLPixelFormatAttribute.NSOpenGLPFAMaximumPolicy NSOpenGLPFAMaximumPolicy; +alias NSOpenGLPixelFormatAttribute.NSOpenGLPFAOffScreen NSOpenGLPFAOffScreen; +alias NSOpenGLPixelFormatAttribute.NSOpenGLPFAFullScreen NSOpenGLPFAFullScreen; +alias NSOpenGLPixelFormatAttribute.NSOpenGLPFASampleBuffers NSOpenGLPFASampleBuffers; +alias NSOpenGLPixelFormatAttribute.NSOpenGLPFASamples NSOpenGLPFASamples; +alias NSOpenGLPixelFormatAttribute.NSOpenGLPFAAuxDepthStencil NSOpenGLPFAAuxDepthStencil; +alias NSOpenGLPixelFormatAttribute.NSOpenGLPFARendererID NSOpenGLPFARendererID; +alias NSOpenGLPixelFormatAttribute.NSOpenGLPFASingleRenderer NSOpenGLPFASingleRenderer; +alias NSOpenGLPixelFormatAttribute.NSOpenGLPFANoRecovery NSOpenGLPFANoRecovery; +alias NSOpenGLPixelFormatAttribute.NSOpenGLPFAAccelerated NSOpenGLPFAAccelerated; +alias NSOpenGLPixelFormatAttribute.NSOpenGLPFAClosestPolicy NSOpenGLPFAClosestPolicy; +alias NSOpenGLPixelFormatAttribute.NSOpenGLPFARobust NSOpenGLPFARobust; +alias NSOpenGLPixelFormatAttribute.NSOpenGLPFABackingStore NSOpenGLPFABackingStore; +alias NSOpenGLPixelFormatAttribute.NSOpenGLPFAMPSafe NSOpenGLPFAMPSafe; +alias NSOpenGLPixelFormatAttribute.NSOpenGLPFAWindow NSOpenGLPFAWindow; +alias NSOpenGLPixelFormatAttribute.NSOpenGLPFAMultiScreen NSOpenGLPFAMultiScreen; +alias NSOpenGLPixelFormatAttribute.NSOpenGLPFACompliant NSOpenGLPFACompliant; +alias NSOpenGLPixelFormatAttribute.NSOpenGLPFAScreenMask NSOpenGLPFAScreenMask; +alias NSOpenGLPixelFormatAttribute.NSOpenGLPFAPixelBuffer NSOpenGLPFAPixelBuffer; +alias NSOpenGLPixelFormatAttribute.NSOpenGLPFAVirtualScreenCount NSOpenGLPFAVirtualScreenCount; + +public class NSOpenGLPixelFormat : NSObject +{ + + public this () + { + super(); + } + + public this (objc.id id) + { + super(id); + } + + public void* CGLPixelFormatObj () + { + return cast(void*) OS.objc_msgSend(this.id, OS.sel_CGLPixelFormatObj); + } + + public NSData attributes () + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_attributes); + return result !is null ? new NSData(result) : null; + } + + public void getValues (GLint* vals, NSOpenGLPixelFormatAttribute attrib, GLint screen) + { + OS.objc_msgSend(this.id, OS.sel_getValues_1forAttribute_1forVirtualScreen_1, vals, attrib, screen); + } + + public NSOpenGLPixelFormat initWithAttributes (/*const*/NSOpenGLPixelFormatAttribute* attribs) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_initWithAttributes_1, attribs); + return result !is null ? this : null; + } + + public NSOpenGLPixelFormat initWithData (NSData attribs) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_initWithData_1, attribs !is null ? attribs.id : null); + return result !is null ? this : null; + } + + public GLint numberOfVirtualScreens () + { + return OS.objc_msgSend(this.id, OS.sel_numberOfVirtualScreens); + } + + public void setAttributes (NSData attribs) + { + OS.objc_msgSend(this.id, OS.sel_setAttributes_1, attribs !is null ? attribs.id : null); + } + +}