- Sync gdiplus with wine head
[reactos.git] / reactos / dll / win32 / gdiplus / imageattributes.c
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 #include "windef.h"
20 #include "wingdi.h"
21
22 #include "objbase.h"
23
24 #include "gdiplus.h"
25 #include "gdiplus_private.h"
26 #include "wine/debug.h"
27
28 WINE_DEFAULT_DEBUG_CHANNEL(gdiplus);
29
30 GpStatus WINGDIPAPI GdipCloneImageAttributes(GDIPCONST GpImageAttributes *imageattr,
31 GpImageAttributes **cloneImageattr)
32 {
33 TRACE("(%p, %p)\n", imageattr, cloneImageattr);
34
35 if(!imageattr || !cloneImageattr)
36 return InvalidParameter;
37
38 **cloneImageattr = *imageattr;
39
40 return Ok;
41 }
42
43 GpStatus WINGDIPAPI GdipCreateImageAttributes(GpImageAttributes **imageattr)
44 {
45 TRACE("(%p)\n", imageattr);
46
47 if(!imageattr)
48 return InvalidParameter;
49
50 *imageattr = GdipAlloc(sizeof(GpImageAttributes));
51 if(!*imageattr) return OutOfMemory;
52
53 return Ok;
54 }
55
56 GpStatus WINGDIPAPI GdipDisposeImageAttributes(GpImageAttributes *imageattr)
57 {
58 TRACE("(%p)\n", imageattr);
59
60 if(!imageattr)
61 return InvalidParameter;
62
63 GdipFree(imageattr);
64
65 return Ok;
66 }
67
68 GpStatus WINGDIPAPI GdipSetImageAttributesColorKeys(GpImageAttributes *imageattr,
69 ColorAdjustType type, BOOL enableFlag, ARGB colorLow, ARGB colorHigh)
70 {
71 static int calls;
72
73 if(!imageattr)
74 return InvalidParameter;
75
76 if(!(calls++))
77 FIXME("not implemented\n");
78
79 return NotImplemented;
80 }
81
82 GpStatus WINGDIPAPI GdipSetImageAttributesColorMatrix(GpImageAttributes *imageattr,
83 ColorAdjustType type, BOOL enableFlag, GDIPCONST ColorMatrix* colorMatrix,
84 GDIPCONST ColorMatrix* grayMatrix, ColorMatrixFlags flags)
85 {
86 static int calls;
87
88 if(!imageattr || !colorMatrix || !grayMatrix)
89 return InvalidParameter;
90
91 if(!(calls++))
92 FIXME("not implemented\n");
93
94 return NotImplemented;
95 }
96
97 GpStatus WINGDIPAPI GdipSetImageAttributesWrapMode(GpImageAttributes *imageAttr,
98 WrapMode wrap, ARGB argb, BOOL clamp)
99 {
100 static int calls;
101
102 if(!imageAttr)
103 return InvalidParameter;
104
105 if(!(calls++))
106 FIXME("not implemented\n");
107
108 return NotImplemented;
109 }
110
111 GpStatus WINGDIPAPI GdipSetImageAttributesCachedBackground(GpImageAttributes *imageAttr,
112 BOOL enableFlag)
113 {
114 static int calls;
115
116 if(!(calls++))
117 FIXME("not implemented\n");
118
119 return NotImplemented;
120 }
121
122 GpStatus WINGDIPAPI GdipSetImageAttributesGamma(GpImageAttributes *imageAttr,
123 ColorAdjustType type, BOOL enableFlag, REAL gamma)
124 {
125 static int calls;
126
127 if(!(calls++))
128 FIXME("not implemented\n");
129
130 return NotImplemented;
131 }
132
133 GpStatus WINGDIPAPI GdipSetImageAttributesNoOp(GpImageAttributes *imageAttr,
134 ColorAdjustType type, BOOL enableFlag)
135 {
136 static int calls;
137
138 if(!(calls++))
139 FIXME("not implemented\n");
140
141 return NotImplemented;
142 }
143
144 GpStatus WINGDIPAPI GdipSetImageAttributesOutputChannel(GpImageAttributes *imageAttr,
145 ColorAdjustType type, BOOL enableFlag, ColorChannelFlags channelFlags)
146 {
147 static int calls;
148
149 if(!(calls++))
150 FIXME("not implemented\n");
151
152 return NotImplemented;
153 }
154
155 GpStatus WINGDIPAPI GdipSetImageAttributesOutputChannelColorProfile(GpImageAttributes *imageAttr,
156 ColorAdjustType type, BOOL enableFlag,
157 GDIPCONST WCHAR *colorProfileFilename)
158 {
159 static int calls;
160
161 if(!(calls++))
162 FIXME("not implemented\n");
163
164 return NotImplemented;
165 }
166
167 GpStatus WINGDIPAPI GdipSetImageAttributesRemapTable(GpImageAttributes *imageAttr,
168 ColorAdjustType type, BOOL enableFlag, UINT mapSize,
169 GDIPCONST ColorMap *map)
170 {
171 static int calls;
172
173 if(!(calls++))
174 FIXME("not implemented\n");
175
176 return NotImplemented;
177 }
178
179 GpStatus WINGDIPAPI GdipSetImageAttributesThreshold(GpImageAttributes *imageAttr,
180 ColorAdjustType type, BOOL enableFlag, REAL threshold)
181 {
182 static int calls;
183
184 if(!(calls++))
185 FIXME("not implemented\n");
186
187 return NotImplemented;
188 }
189
190 GpStatus WINGDIPAPI GdipSetImageAttributesToIdentity(GpImageAttributes *imageAttr,
191 ColorAdjustType type)
192 {
193 static int calls;
194
195 if(!(calls++))
196 FIXME("not implemented\n");
197
198 return NotImplemented;
199 }