view dstep/applicationservices/coregraphics/CGPattern.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.CGPattern;

import dstep.corefoundation.CFBase;
import dstep.applicationservices.coregraphics.CGAffineTransform;
import dstep.applicationservices.coregraphics.CGBase;
import dstep.applicationservices.coregraphics.CGContext;
import dstep.applicationservices.coregraphics.CGGeometry;

struct CGPattern;

alias CGPattern* CGPatternRef;
alias int CGPatternTiling;

extern (C)
{
	alias void function (void*, CGContextRef) CGPatternDrawPatternCallback;
	alias void function (void*) CGPatternReleaseInfoCallback;
}

enum /*CGPatternTiling*/ 
{
	kCGPatternTilingNoDistortion,
	kCGPatternTilingConstantSpacingMinimalDistortion,
	kCGPatternTilingConstantSpacing
}

struct CGPatternCallbacks
{
	uint version_;
	CGPatternDrawPatternCallback drawPattern;
	CGPatternReleaseInfoCallback releaseInfo;
}

extern (C)
{
	uint CGPatternGetTypeID ();
	CGPatternRef CGPatternCreate (void* info, CGRect bounds, CGAffineTransform matrix, CGFloat xStep, CGFloat yStep, int tiling, bool isColored, CGPatternCallbacks* callbacks);
	CGPatternRef CGPatternRetain (CGPatternRef pattern);
	void CGPatternRelease (CGPatternRef pattern);
}