Mercurial > projects > dstep
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