diff 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 diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dstep/applicationservices/coregraphics/CGDataProvider.d	Mon Aug 03 14:00:21 2009 +0200
@@ -0,0 +1,84 @@
+/**
+ * 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);
+}
\ No newline at end of file