1 /*
2  * gdipluscolormatrix.h
3  *
4  * GDI+ color mappings
5  *
6  * This file is part of the w32api package.
7  *
8  * Contributors:
9  *   Created by Markus Koenig <[email protected]>
10  *
11  * THIS SOFTWARE IS NOT COPYRIGHTED
12  *
13  * This source code is offered for use in the public domain. You may
14  * use, modify or distribute it freely.
15  *
16  * This code is distributed in the hope that it will be useful but
17  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
18  * DISCLAIMED. This includes but is not limited to warranties of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
20  *
21  */
22 
23 #ifndef __GDIPLUS_COLORMATRIX_H
24 #define __GDIPLUS_COLORMATRIX_H
25 #if __GNUC__ >=3
26 #pragma GCC system_header
27 #endif
28 
29 typedef enum ColorAdjustType {
30 	ColorAdjustTypeDefault = 0,
31 	ColorAdjustTypeBitmap = 1,
32 	ColorAdjustTypeBrush = 2,
33 	ColorAdjustTypePen = 3,
34 	ColorAdjustTypeText = 4,
35 	ColorAdjustTypeCount = 5,
36 	ColorAdjustTypeAny = 6
37 } ColorAdjustType;
38 
39 typedef enum ColorMatrixFlags {
40 	ColorMatrixFlagsDefault = 0,
41 	ColorMatrixFlagsSkipGrays = 1,
42 	ColorMatrixFlagsAltGray = 2
43 } ColorMatrixFlags;
44 
45 typedef enum HistogramFormat {
46 	HistogramFormatARGB = 0,
47 	HistogramFormatPARGB = 1,
48 	HistogramFormatRGB = 2,
49 	HistogramFormatGray = 3,
50 	HistogramFormatB = 4,
51 	HistogramFormatG = 5,
52 	HistogramFormatR = 6,
53 	HistogramFormatA = 7
54 } HistogramFormat;
55 
56 typedef struct ColorMap {
57 	Color oldColor;
58 	Color newColor;
59 } ColorMap;
60 
61 typedef struct ColorMatrix {
62 	REAL m[5][5];
63 } ColorMatrix;
64 
65 typedef BYTE ColorChannelLUT[256];
66 
67 #endif /* __GDIPLUS_COLORMATRIX_H */
68