comparison 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
comparison
equal deleted inserted replaced
11:07194b026fa4 12:9f0b49a2f64e
1 /**
2 * Copyright: Copyright (c) 2009 Jacob Carlborg.
3 * Authors: Jacob Carlborg
4 * Version: Initial created: Aug 1, 2009
5 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
6 */
7 module dstep.applicationservices.coregraphics.CGDataProvider;
8
9 import dstep.applicationservices.coregraphics.CGBase;
10 import dstep.corefoundation.CFData;
11 import dstep.corefoundation.CFURL;
12 /*import dstep.stddef;
13 import dstep.unistd;*/
14
15 struct CGDataProvider;
16
17 alias CGDataProvider* CGDataProviderRef;
18
19 extern (C)
20 {
21 alias void function (void*, uint) CGDataProviderSkipBytesCallback;
22 alias void function (void*, void*) CGDataProviderReleaseBytePointerCallback;
23 alias uint function (void*, void*, uint, uint) CGDataProviderGetBytesAtOffsetCallback;
24 alias uint function (void*, void*, long, uint) CGDataProviderGetBytesAtPositionCallback;
25 alias uint function (void*, void*, uint) CGDataProviderGetBytesCallback;
26 alias void function (void*, void*, uint) CGDataProviderReleaseDataCallback;
27 alias void function (void*) CGDataProviderReleaseInfoCallback;
28 alias long function (void*, long) CGDataProviderSkipForwardCallback;
29 alias void * function (void*) CGDataProviderGetBytePointerCallback;
30 alias void function (void*) CGDataProviderRewindCallback;
31 }
32
33 struct CGDataProviderSequentialCallbacks
34 {
35 uint version_;
36 CGDataProviderGetBytesCallback getBytes;
37 CGDataProviderSkipForwardCallback skipForward;
38 CGDataProviderRewindCallback rewind;
39 CGDataProviderReleaseInfoCallback releaseInfo;
40 }
41
42
43 struct CGDataProviderDirectCallbacks
44 {
45 uint version_;
46 CGDataProviderGetBytePointerCallback getBytePointer;
47 CGDataProviderReleaseBytePointerCallback releaseBytePointer;
48 CGDataProviderGetBytesAtPositionCallback getBytesAtPosition;
49 CGDataProviderReleaseInfoCallback releaseInfo;
50 }
51
52
53 struct CGDataProviderCallbacks
54 {
55 CGDataProviderGetBytesCallback getBytes;
56 CGDataProviderSkipBytesCallback skipBytes;
57 CGDataProviderRewindCallback rewind;
58 CGDataProviderReleaseInfoCallback releaseProvider;
59 }
60
61
62 struct CGDataProviderDirectAccessCallbacks
63 {
64 CGDataProviderGetBytePointerCallback getBytePointer;
65 CGDataProviderReleaseBytePointerCallback releaseBytePointer;
66 CGDataProviderGetBytesAtOffsetCallback getBytes;
67 CGDataProviderReleaseInfoCallback releaseProvider;
68 }
69
70 extern (C)
71 {
72 uint CGDataProviderGetTypeID ();
73 CGDataProviderRef CGDataProviderCreateSequential (void* info, CGDataProviderSequentialCallbacks* callbacks);
74 CGDataProviderRef CGDataProviderCreateDirect (void* info, long size, CGDataProviderDirectCallbacks* callbacks);
75 CGDataProviderRef CGDataProviderCreateWithData (void* info, void* data, uint size, CGDataProviderReleaseDataCallback releaseData);
76 CGDataProviderRef CGDataProviderCreateWithCFData (CFDataRef data);
77 CGDataProviderRef CGDataProviderCreateWithURL (CFURLRef url);
78 CGDataProviderRef CGDataProviderCreateWithFilename (char* filename);
79 CGDataProviderRef CGDataProviderRetain (CGDataProviderRef provider);
80 void CGDataProviderRelease (CGDataProviderRef provider);
81 CFDataRef CGDataProviderCopyData (CGDataProviderRef provider);
82 CGDataProviderRef CGDataProviderCreate (void* info, CGDataProviderCallbacks* callbacks);
83 CGDataProviderRef CGDataProviderCreateDirectAccess (void* info, uint size, CGDataProviderDirectAccessCallbacks* callbacks);
84 }