summaryrefslogtreecommitdiff
path: root/dmagick/c/gem.d
blob: 086874704961630abc4e66b80dec92744b658f64 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
module dmagick.c.gem;

import dmagick.c.geometry;
import dmagick.c.magickType;
import dmagick.c.magickVersion;
import dmagick.c.fx;
import dmagick.c.random;

extern(C)
{
	double ExpandAffine(const(AffineMatrix)*);
	double GenerateDifferentialNoise(RandomInfo*, const Quantum, const NoiseType, const MagickRealType);

	size_t GetOptimalKernelWidth(const double, const double);
	size_t GetOptimalKernelWidth1D(const double, const double);
	size_t GetOptimalKernelWidth2D(const double, const double);

	static if (MagickLibVersion >= 0x679)
	{
		void ConvertHCLToRGB(const double, const double, const double, Quantum*, Quantum*, Quantum*);
	}

	static if (MagickLibVersion >= 0x686)
	{
		void ConvertHCLpToRGB(const double, const double, const double, Quantum*, Quantum*, Quantum*);
		void ConvertHSIToRGB(const double, const double, const double, Quantum*, Quantum*, Quantum*);
		void ConvertHSVToRGB(const double, const double, const double, Quantum*, Quantum*, Quantum*);
	}

	void ConvertHSBToRGB(const double, const double, const double, Quantum*, Quantum*, Quantum*);
	void ConvertHSLToRGB(const double, const double, const double, Quantum*, Quantum*, Quantum*);
	void ConvertHWBToRGB(const double, const double, const double, Quantum*, Quantum*, Quantum*);

	static if ( MagickLibVersion >= 0x685 )
	{
		void ConvertLCHabToRGB(const double, const double, const double, Quantum*, Quantum*, Quantum*);
		void ConvertLCHuvToRGB(const double, const double, const double, Quantum*, Quantum*, Quantum*);
	}

	static if (MagickLibVersion >= 0x679)
	{
		void ConvertRGBToHCL(const Quantum, const Quantum, const Quantum, double*, double*, double*);
	}

	static if (MagickLibVersion >= 0x686)
	{
		void ConvertRGBToHCLp( const Quantum, const Quantum, const Quantum, double*, double*, double*);
		void ConvertRGBToHSI( const Quantum, const Quantum, const Quantum, double*, double*, double*);
		void ConvertRGBToHSV( const Quantum, const Quantum, const Quantum, double*, double*, double*);
	}

	void ConvertRGBToHSB(const Quantum, const Quantum, const Quantum, double*, double*, double*);
	void ConvertRGBToHSL(const Quantum, const Quantum, const Quantum, double*, double*, double*);
	void ConvertRGBToHWB(const Quantum, const Quantum, const Quantum, double*, double*, double*);

	static if ( MagickLibVersion >= 0x685 )
	{
		void ConvertRGBToLCHab(const Quantum, const Quantum, const Quantum, double*, double*, double*);
		void ConvertRGBToLCHuv(const Quantum, const Quantum, const Quantum, double*, double*, double*);
	}
}