diff dstep/quartzcore/CVDisplayLink.d @ 16:19885b43130e

Huge update, the bridge actually works now
author Jacob Carlborg <doob@me.com>
date Sun, 03 Jan 2010 22:06:11 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dstep/quartzcore/CVDisplayLink.d	Sun Jan 03 22:06:11 2010 +0100
@@ -0,0 +1,44 @@
+/**
+ * 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.quartzcore.CVDisplayLink;
+
+import dstep.applicationservices.coregraphics.CGDirectDisplay;
+import dstep.corevideo.CVBase;
+import dstep.corevideo.CVDisplayLink;
+import dstep.opengl.CGLTypes;
+import dstep.objc.bridge.Bridge;
+import dstep.objc.objc;
+
+alias __CVDisplayLink* CVDisplayLinkRef;
+
+extern (C)
+{
+	alias int function (CVDisplayLinkRef, CVTimeStamp*, CVTimeStamp*, ulong, CVOptionFlags*, void*) CVDisplayLinkOutputCallback;
+}
+
+extern (C)
+{
+	uint CVDisplayLinkGetTypeID ();
+	int CVDisplayLinkCreateWithCGDisplays (CGDirectDisplayID* displayArray, int count, CVDisplayLinkRef* displayLinkOut);
+	int CVDisplayLinkCreateWithOpenGLDisplayMask (uint mask, CVDisplayLinkRef* displayLinkOut);
+	int CVDisplayLinkCreateWithCGDisplay (uint displayID, CVDisplayLinkRef* displayLinkOut);
+	int CVDisplayLinkCreateWithActiveCGDisplays (CVDisplayLinkRef* displayLinkOut);
+	int CVDisplayLinkSetCurrentCGDisplay (CVDisplayLinkRef displayLink, uint displayID);
+	int CVDisplayLinkSetCurrentCGDisplayFromOpenGLContext (CVDisplayLinkRef displayLink, CGLContextObj cglContext, CGLPixelFormatObj cglPixelFormat);
+	uint CVDisplayLinkGetCurrentCGDisplay (CVDisplayLinkRef displayLink);
+	int CVDisplayLinkSetOutputCallback (CVDisplayLinkRef displayLink, CVDisplayLinkOutputCallback callback, void* userInfo);
+	int CVDisplayLinkStart (CVDisplayLinkRef displayLink);
+	int CVDisplayLinkStop (CVDisplayLinkRef displayLink);
+	CVTime CVDisplayLinkGetNominalOutputVideoRefreshPeriod (CVDisplayLinkRef displayLink);
+	CVTime CVDisplayLinkGetOutputVideoLatency (CVDisplayLinkRef displayLink);
+	double CVDisplayLinkGetActualOutputVideoRefreshPeriod (CVDisplayLinkRef displayLink);
+	ubyte CVDisplayLinkIsRunning (CVDisplayLinkRef displayLink);
+	int CVDisplayLinkGetCurrentTime (CVDisplayLinkRef displayLink, CVTimeStamp* outTime);
+	int CVDisplayLinkTranslateTime (CVDisplayLinkRef displayLink, CVTimeStamp* inTime, CVTimeStamp* outTime);
+	CVDisplayLinkRef CVDisplayLinkRetain (CVDisplayLinkRef displayLink);
+	void CVDisplayLinkRelease (CVDisplayLinkRef displayLink);
+}
\ No newline at end of file