view dstep/applicationservices/colorsync/CMFloatBitmap.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.colorsync.CMFloatBitmap;

//import dstep.AvailabilityMacros;
import dstep.applicationservices.colorsync.CMBase;
import dstep.applicationservices.colorsync.CMTypes;

alias int CMFloatBitmapFlags;

enum /*CMFloatBitmapFlags*/ 
{
	kCMFloatBitmapFlagsNone = 0,
	kCMFloatBitmapFlagsAlpha = 1,
	kCMFloatBitmapFlagsAlphaPremul = 2,
	kCMFloatBitmapFlagsRangeClipped = 4
}

struct CMFloatBitmap
{
	uint version_;
	float** buffers;
	uint height;
	uint width;
	int rowStride;
	int colStride;
	uint space;
	int flags;
}

extern (C)
{
	CMError CMFloatBitmapMakeChunky (float* buffer, uint height, uint width, uint space);
	CMError CMConvertXYZFloatBitmap (CMFloatBitmap* src, float[3] srcIlluminantXYZ, CMFloatBitmap* dst, float[3] dstIlluminantXYZ, uint method);
	CMError CMConvertRGBFloatBitmap (CMFloatBitmap* src, CMFloatBitmap* dst);
	CMError CMMatchFloatBitmap (CMWorldRef cw, CMFloatBitmap* src, CMFloatBitmap* dst);
}