1 /* 2 * Copyright (C) 2007 Google (Evan Stade) 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 2.1 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public 15 * License along with this library; if not, write to the Free Software 16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 17 */ 18 19 #ifndef _GDIPLUSCOLORMATRIX_H 20 #define _GDIPLUSCOLORMATRIX_H 21 22 struct ColorMatrix 23 { 24 REAL m[5][5]; 25 }; 26 27 enum ColorMatrixFlags 28 { 29 ColorMatrixFlagsDefault = 0, 30 ColorMatrixFlagsSkipGrays = 1, 31 ColorMatrixFlagsAltGray = 2 32 }; 33 34 enum ColorAdjustType 35 { 36 ColorAdjustTypeDefault, 37 ColorAdjustTypeBitmap, 38 ColorAdjustTypeBrush, 39 ColorAdjustTypePen, 40 ColorAdjustTypeText, 41 ColorAdjustTypeCount, 42 ColorAdjustTypeAny 43 }; 44 45 struct ColorMap 46 { 47 Color oldColor; 48 Color newColor; 49 }; 50 51 enum HistogramFormat 52 { 53 HistogramFormatARGB, 54 HistogramFormatPARGB, 55 HistogramFormatRGB, 56 HistogramFormatGray, 57 HistogramFormatB, 58 HistogramFormatG, 59 HistogramFormatR, 60 HistogramFormatA, 61 }; 62 63 #ifndef __cplusplus 64 65 typedef enum ColorAdjustType ColorAdjustType; 66 typedef enum ColorMatrixFlags ColorMatrixFlags; 67 typedef enum HistogramFormat HistogramFormat; 68 typedef struct ColorMatrix ColorMatrix; 69 typedef struct ColorMap ColorMap; 70 71 #endif /* end of c typedefs */ 72 73 #endif /* _GDIPLUSCOLORMATRIX_H */ 74