~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Wine Cross Reference
wine/dlls/gdiplus/imageattributes.c

Version: ~ [ wine-1.1.41 ] ~ [ wine-1.1.40 ] ~ [ wine-1.1.39 ] ~ [ wine-1.1.38 ] ~ [ wine-1.1.37 ] ~ [ wine-1.1.36 ] ~ [ wine-1.1.35 ] ~ [ wine-1.1.34 ] ~ [ wine-1.1.33 ] ~ [ wine-1.1.32 ] ~ [ wine-1.1.31 ] ~ [ wine-1.1.30 ] ~ [ wine-1.1.29 ] ~ [ wine-1.1.28 ] ~ [ wine-1.1.27 ] ~ [ wine-1.1.26 ] ~ [ wine-1.1.25 ] ~ [ wine-1.1.24 ] ~ [ wine-1.1.23 ] ~ [ wine-1.1.22 ] ~ [ wine-1.1.21 ] ~ [ wine-1.1.20 ] ~ [ wine-1.1.19 ] ~ [ wine-1.1.18 ] ~ [ wine-1.1.17 ] ~ [ wine-1.1.16 ] ~ [ wine-1.1.15 ] ~ [ wine-1.1.14 ] ~ [ wine-1.1.13 ] ~ [ wine-1.1.12 ] ~ [ wine-1.1.11 ] ~ [ wine-1.1.10 ] ~ [ wine-1.1.9 ] ~ [ wine-1.1.8 ] ~ [ wine-1.1.7 ] ~ [ wine-1.0.1 ] ~ [ wine-1.1.6 ] ~ [ wine-1.1.5 ] ~ [ wine-1.1.4 ] ~ [ wine-1.1.3 ] ~ [ wine-1.1.2 ] ~ [ wine-1.1.1 ] ~ [ wine-1.1.0 ] ~ [ wine-1.0 ] ~

  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     GpStatus stat;
 34 
 35     TRACE("(%p, %p)\n", imageattr, cloneImageattr);
 36 
 37     if(!imageattr || !cloneImageattr)
 38         return InvalidParameter;
 39 
 40     stat = GdipCreateImageAttributes(cloneImageattr);
 41 
 42     if (stat == Ok)
 43         **cloneImageattr = *imageattr;
 44 
 45     return stat;
 46 }
 47 
 48 GpStatus WINGDIPAPI GdipCreateImageAttributes(GpImageAttributes **imageattr)
 49 {
 50     if(!imageattr)
 51         return InvalidParameter;
 52 
 53     *imageattr = GdipAlloc(sizeof(GpImageAttributes));
 54     if(!*imageattr)    return OutOfMemory;
 55 
 56     TRACE("<-- %p\n", *imageattr);
 57 
 58     return Ok;
 59 }
 60 
 61 GpStatus WINGDIPAPI GdipDisposeImageAttributes(GpImageAttributes *imageattr)
 62 {
 63     TRACE("(%p)\n", imageattr);
 64 
 65     if(!imageattr)
 66         return InvalidParameter;
 67 
 68     GdipFree(imageattr);
 69 
 70     return Ok;
 71 }
 72 
 73 GpStatus WINGDIPAPI GdipSetImageAttributesColorKeys(GpImageAttributes *imageattr,
 74     ColorAdjustType type, BOOL enableFlag, ARGB colorLow, ARGB colorHigh)
 75 {
 76     TRACE("(%p,%u,%i,%08x,%08x)\n", imageattr, type, enableFlag, colorLow, colorHigh);
 77 
 78     if(!imageattr || type >= ColorAdjustTypeCount)
 79         return InvalidParameter;
 80 
 81     imageattr->colorkeys[type].enabled = enableFlag;
 82     imageattr->colorkeys[type].low = colorLow;
 83     imageattr->colorkeys[type].high = colorHigh;
 84 
 85     return Ok;
 86 }
 87 
 88 GpStatus WINGDIPAPI GdipSetImageAttributesColorMatrix(GpImageAttributes *imageattr,
 89     ColorAdjustType type, BOOL enableFlag, GDIPCONST ColorMatrix* colorMatrix,
 90     GDIPCONST ColorMatrix* grayMatrix, ColorMatrixFlags flags)
 91 {
 92     TRACE("(%p,%u,%i,%p,%p,%u)\n", imageattr, type, enableFlag, colorMatrix,
 93         grayMatrix, flags);
 94 
 95     if(!imageattr || type >= ColorAdjustTypeCount || flags > ColorMatrixFlagsAltGray)
 96         return InvalidParameter;
 97 
 98     if (enableFlag)
 99     {
100         if (!colorMatrix)
101             return InvalidParameter;
102 
103         if (flags == ColorMatrixFlagsAltGray)
104         {
105             if (!grayMatrix)
106                 return InvalidParameter;
107 
108             imageattr->colormatrices[type].graymatrix = *grayMatrix;
109         }
110 
111         imageattr->colormatrices[type].colormatrix = *colorMatrix;
112         imageattr->colormatrices[type].flags = flags;
113     }
114 
115     imageattr->colormatrices[type].enabled = enableFlag;
116 
117     return Ok;
118 }
119 
120 GpStatus WINGDIPAPI GdipSetImageAttributesWrapMode(GpImageAttributes *imageAttr,
121     WrapMode wrap, ARGB argb, BOOL clamp)
122 {
123     static int calls;
124 
125     TRACE("(%p,%u,%08x,%i)\n", imageAttr, wrap, argb, clamp);
126 
127     if(!imageAttr)
128         return InvalidParameter;
129 
130     if(!(calls++))
131         FIXME("not implemented\n");
132 
133     return NotImplemented;
134 }
135 
136 GpStatus WINGDIPAPI GdipSetImageAttributesCachedBackground(GpImageAttributes *imageAttr,
137     BOOL enableFlag)
138 {
139     static int calls;
140 
141     TRACE("(%p,%i)\n", imageAttr, enableFlag);
142 
143     if(!(calls++))
144         FIXME("not implemented\n");
145 
146     return NotImplemented;
147 }
148 
149 GpStatus WINGDIPAPI GdipSetImageAttributesGamma(GpImageAttributes *imageAttr,
150     ColorAdjustType type, BOOL enableFlag, REAL gamma)
151 {
152     TRACE("(%p,%u,%i,%0.2f)\n", imageAttr, type, enableFlag, gamma);
153 
154     if (!imageAttr || (enableFlag && gamma <= 0.0) || type >= ColorAdjustTypeCount)
155         return InvalidParameter;
156 
157     imageAttr->gamma_enabled[type] = enableFlag;
158     imageAttr->gamma[type] = gamma;
159 
160     return Ok;
161 }
162 
163 GpStatus WINGDIPAPI GdipSetImageAttributesNoOp(GpImageAttributes *imageAttr,
164     ColorAdjustType type, BOOL enableFlag)
165 {
166     static int calls;
167 
168     TRACE("(%p,%u,%i)\n", imageAttr, type, enableFlag);
169 
170     if(!(calls++))
171         FIXME("not implemented\n");
172 
173     return NotImplemented;
174 }
175 
176 GpStatus WINGDIPAPI GdipSetImageAttributesOutputChannel(GpImageAttributes *imageAttr,
177     ColorAdjustType type, BOOL enableFlag, ColorChannelFlags channelFlags)
178 {
179     static int calls;
180 
181     TRACE("(%p,%u,%i,%x)\n", imageAttr, type, enableFlag, channelFlags);
182 
183     if(!(calls++))
184         FIXME("not implemented\n");
185 
186     return NotImplemented;
187 }
188 
189 GpStatus WINGDIPAPI GdipSetImageAttributesOutputChannelColorProfile(GpImageAttributes *imageAttr,
190     ColorAdjustType type, BOOL enableFlag,
191     GDIPCONST WCHAR *colorProfileFilename)
192 {
193     static int calls;
194 
195     TRACE("(%p,%u,%i,%s)\n", imageAttr, type, enableFlag, debugstr_w(colorProfileFilename));
196 
197     if(!(calls++))
198         FIXME("not implemented\n");
199 
200     return NotImplemented;
201 }
202 
203 GpStatus WINGDIPAPI GdipSetImageAttributesRemapTable(GpImageAttributes *imageAttr,
204     ColorAdjustType type, BOOL enableFlag, UINT mapSize,
205     GDIPCONST ColorMap *map)
206 {
207     TRACE("(%p,%u,%i,%u,%p)\n", imageAttr, type, enableFlag, mapSize, map);
208 
209     if(!imageAttr || type >= ColorAdjustTypeCount)
210         return InvalidParameter;
211 
212     if (enableFlag)
213     {
214         if(!map || !mapSize)
215             return InvalidParameter;
216 
217         imageAttr->colorremaptables[type].mapsize = mapSize;
218         imageAttr->colorremaptables[type].colormap = map;
219     }
220 
221     imageAttr->colorremaptables[type].enabled = enableFlag;
222 
223     return Ok;
224 }
225 
226 GpStatus WINGDIPAPI GdipSetImageAttributesThreshold(GpImageAttributes *imageAttr,
227     ColorAdjustType type, BOOL enableFlag, REAL threshold)
228 {
229     static int calls;
230 
231     TRACE("(%p,%u,%i,%0.2f)\n", imageAttr, type, enableFlag, threshold);
232 
233     if(!(calls++))
234         FIXME("not implemented\n");
235 
236     return NotImplemented;
237 }
238 
239 GpStatus WINGDIPAPI GdipSetImageAttributesToIdentity(GpImageAttributes *imageAttr,
240     ColorAdjustType type)
241 {
242     static int calls;
243 
244     TRACE("(%p,%u)\n", imageAttr, type);
245 
246     if(!(calls++))
247         FIXME("not implemented\n");
248 
249     return NotImplemented;
250 }
251 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.