view dstep/applicationservices/coregraphics/CGDataProvider.d @ 12:9f0b49a2f64e

Added the ApplicationServices frameworks: ATS, ColorSync and CoreGraphics
author Jacob Carlborg <doob@me.com>
date Mon, 03 Aug 2009 14:00:21 +0200
parents
children
line wrap: on
line source

/**
 * Copyright: Copyright (c) 2009 Jacob Carlborg.
 * Authors: Jacob Carlborg
 * Version: Initial created: Aug 1, 2009 
 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
 */
module dstep.applicationservices.coregraphics.CGDataProvider;

import dstep.applicationservices.coregraphics.CGBase;
import dstep.corefoundation.CFData;
import dstep.corefoundation.CFURL;
/*import dstep.stddef;
import dstep.unistd;*/

struct CGDataProvider;

alias CGDataProvider* CGDataProviderRef;

extern (C)
{
	alias void function (void*, uint) CGDataProviderSkipBytesCallback;
	alias void function (void*, void*) CGDataProviderReleaseBytePointerCallback;
	alias uint function (void*, void*, uint, uint) CGDataProviderGetBytesAtOffsetCallback;
	alias uint function (void*, void*, long, uint) CGDataProviderGetBytesAtPositionCallback;
	alias uint function (void*, void*, uint) CGDataProviderGetBytesCallback;
	alias void function (void*, void*, uint) CGDataProviderReleaseDataCallback;
	alias void function (void*) CGDataProviderReleaseInfoCallback;
	alias long function (void*, long) CGDataProviderSkipForwardCallback;
	alias void * function (void*) CGDataProviderGetBytePointerCallback;
	alias void function (void*) CGDataProviderRewindCallback;
}

struct CGDataProviderSequentialCallbacks
{
	uint version_;
	CGDataProviderGetBytesCallback getBytes;
	CGDataProviderSkipForwardCallback skipForward;
	CGDataProviderRewindCallback rewind;
	CGDataProviderReleaseInfoCallback releaseInfo;
}


struct CGDataProviderDirectCallbacks
{
	uint version_;
	CGDataProviderGetBytePointerCallback getBytePointer;
	CGDataProviderReleaseBytePointerCallback releaseBytePointer;
	CGDataProviderGetBytesAtPositionCallback getBytesAtPosition;
	CGDataProviderReleaseInfoCallback releaseInfo;
}


struct CGDataProviderCallbacks
{
	CGDataProviderGetBytesCallback getBytes;
	CGDataProviderSkipBytesCallback skipBytes;
	CGDataProviderRewindCallback rewind;
	CGDataProviderReleaseInfoCallback releaseProvider;
}


struct CGDataProviderDirectAccessCallbacks
{
	CGDataProviderGetBytePointerCallback getBytePointer;
	CGDataProviderReleaseBytePointerCallback releaseBytePointer;
	CGDataProviderGetBytesAtOffsetCallback getBytes;
	CGDataProviderReleaseInfoCallback releaseProvider;
}

extern (C)
{
	uint CGDataProviderGetTypeID ();
	CGDataProviderRef CGDataProviderCreateSequential (void* info, CGDataProviderSequentialCallbacks* callbacks);
	CGDataProviderRef CGDataProviderCreateDirect (void* info, long size, CGDataProviderDirectCallbacks* callbacks);
	CGDataProviderRef CGDataProviderCreateWithData (void* info, void* data, uint size, CGDataProviderReleaseDataCallback releaseData);
	CGDataProviderRef CGDataProviderCreateWithCFData (CFDataRef data);
	CGDataProviderRef CGDataProviderCreateWithURL (CFURLRef url);
	CGDataProviderRef CGDataProviderCreateWithFilename (char* filename);
	CGDataProviderRef CGDataProviderRetain (CGDataProviderRef provider);
	void CGDataProviderRelease (CGDataProviderRef provider);
	CFDataRef CGDataProviderCopyData (CGDataProviderRef provider);
	CGDataProviderRef CGDataProviderCreate (void* info, CGDataProviderCallbacks* callbacks);
	CGDataProviderRef CGDataProviderCreateDirectAccess (void* info, uint size, CGDataProviderDirectAccessCallbacks* callbacks);
}