view dstep/corevideo/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 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.corevideo.CVDisplayLink;

import dstep.applicationservices.ApplicationServices;
import dstep.corevideo.CVBase;
import dstep.corevideo.CVReturn;
import dstep.opengl.OpenGL;

struct __CVDisplayLink;

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);
}