ReactOS  0.4.14-dev-358-gbef841c
imageattributes.c File Reference
#include "windef.h"
#include "wingdi.h"
#include "objbase.h"
#include "gdiplus.h"
#include "gdiplus_private.h"
#include "wine/debug.h"
Include dependency graph for imageattributes.c:

Go to the source code of this file.

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (gdiplus)
 
GpStatus WINGDIPAPI GdipCloneImageAttributes (GDIPCONST GpImageAttributes *imageattr, GpImageAttributes **cloneImageattr)
 
GpStatus WINGDIPAPI GdipCreateImageAttributes (GpImageAttributes **imageattr)
 
GpStatus WINGDIPAPI GdipDisposeImageAttributes (GpImageAttributes *imageattr)
 
GpStatus WINGDIPAPI GdipGetImageAttributesAdjustedPalette (GpImageAttributes *imageattr, ColorPalette *palette, ColorAdjustType type)
 
GpStatus WINGDIPAPI GdipSetImageAttributesColorKeys (GpImageAttributes *imageattr, ColorAdjustType type, BOOL enableFlag, ARGB colorLow, ARGB colorHigh)
 
GpStatus WINGDIPAPI GdipSetImageAttributesColorMatrix (GpImageAttributes *imageattr, ColorAdjustType type, BOOL enableFlag, GDIPCONST ColorMatrix *colorMatrix, GDIPCONST ColorMatrix *grayMatrix, ColorMatrixFlags flags)
 
GpStatus WINGDIPAPI GdipSetImageAttributesWrapMode (GpImageAttributes *imageAttr, WrapMode wrap, ARGB argb, BOOL clamp)
 
GpStatus WINGDIPAPI GdipSetImageAttributesCachedBackground (GpImageAttributes *imageAttr, BOOL enableFlag)
 
GpStatus WINGDIPAPI GdipSetImageAttributesGamma (GpImageAttributes *imageAttr, ColorAdjustType type, BOOL enableFlag, REAL gamma)
 
GpStatus WINGDIPAPI GdipSetImageAttributesNoOp (GpImageAttributes *imageAttr, ColorAdjustType type, BOOL enableFlag)
 
GpStatus WINGDIPAPI GdipSetImageAttributesOutputChannel (GpImageAttributes *imageAttr, ColorAdjustType type, BOOL enableFlag, ColorChannelFlags channelFlags)
 
GpStatus WINGDIPAPI GdipSetImageAttributesOutputChannelColorProfile (GpImageAttributes *imageAttr, ColorAdjustType type, BOOL enableFlag, GDIPCONST WCHAR *colorProfileFilename)
 
GpStatus WINGDIPAPI GdipSetImageAttributesRemapTable (GpImageAttributes *imageAttr, ColorAdjustType type, BOOL enableFlag, UINT mapSize, GDIPCONST ColorMap *map)
 
GpStatus WINGDIPAPI GdipSetImageAttributesThreshold (GpImageAttributes *imageAttr, ColorAdjustType type, BOOL enableFlag, REAL threshold)
 
GpStatus WINGDIPAPI GdipSetImageAttributesToIdentity (GpImageAttributes *imageAttr, ColorAdjustType type)
 
GpStatus WINGDIPAPI GdipResetImageAttributes (GpImageAttributes *imageAttr, ColorAdjustType type)
 

Function Documentation

◆ GdipCloneImageAttributes()

GpStatus WINGDIPAPI GdipCloneImageAttributes ( GDIPCONST GpImageAttributes imageattr,
GpImageAttributes **  cloneImageattr 
)

Definition at line 30 of file imageattributes.c.

32 {
33  GpStatus stat = Ok;
34  struct color_remap_table remap_tables[ColorAdjustTypeCount] = {{0}};
35  int i;
36 
37  TRACE("(%p, %p)\n", imageattr, cloneImageattr);
38 
39  if(!imageattr || !cloneImageattr)
40  return InvalidParameter;
41 
42  for (i=0; i<ColorAdjustTypeCount; i++)
43  {
44  if (imageattr->colorremaptables[i].enabled)
45  {
46  remap_tables[i].enabled = TRUE;
47  remap_tables[i].mapsize = imageattr->colorremaptables[i].mapsize;
48  remap_tables[i].colormap = heap_alloc(sizeof(ColorMap) * remap_tables[i].mapsize);
49 
50  if (remap_tables[i].colormap)
51  {
52  memcpy(remap_tables[i].colormap, imageattr->colorremaptables[i].colormap,
53  sizeof(ColorMap) * remap_tables[i].mapsize);
54  }
55  else
56  {
57  stat = OutOfMemory;
58  break;
59  }
60  }
61  }
62 
63  if (stat == Ok)
64  stat = GdipCreateImageAttributes(cloneImageattr);
65 
66  if (stat == Ok)
67  {
68  **cloneImageattr = *imageattr;
69 
70  memcpy((*cloneImageattr)->colorremaptables, remap_tables, sizeof(remap_tables));
71  }
72 
73  if (stat != Ok)
74  {
75  for (i=0; i<ColorAdjustTypeCount; i++)
76  heap_free(remap_tables[i].colormap);
77  }
78 
79  return stat;
80 }
#define TRUE
Definition: types.h:120
static void * heap_alloc(size_t len)
Definition: appwiz.h:65
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint GLenum GLenum GLenum GLint GLuint GLenum GLenum GLfloat GLenum GLfloat GLenum GLint mapsize
Definition: glfuncs.h:262
#define TRACE(s)
Definition: solgame.cpp:4
Definition: stat.h:55
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
Status
Definition: gdiplustypes.h:24
_CRTIMP int __cdecl stat(const char *_Filename, struct stat *_Stat)
Definition: stat.h:345
GpStatus WINGDIPAPI GdipCreateImageAttributes(GpImageAttributes **imageattr)
static BOOL heap_free(void *mem)
Definition: appwiz.h:75

Referenced by GdipCreateTextureIA().

◆ GdipCreateImageAttributes()

GpStatus WINGDIPAPI GdipCreateImageAttributes ( GpImageAttributes **  imageattr)

Definition at line 82 of file imageattributes.c.

83 {
84  if(!imageattr)
85  return InvalidParameter;
86 
87  *imageattr = heap_alloc_zero(sizeof(GpImageAttributes));
88  if(!*imageattr) return OutOfMemory;
89 
90  (*imageattr)->wrap = WrapModeClamp;
91 
92  TRACE("<-- %p\n", *imageattr);
93 
94  return Ok;
95 }
#define TRACE(s)
Definition: solgame.cpp:4

Referenced by GdipCloneImageAttributes(), GdipCreateTexture(), GdipCreateTexture2(), GdipCreateTexture2I(), GdipCreateTextureIA(), METAFILE_PlaybackObject(), test_colorkey(), test_colormatrix(), test_drawimage(), test_gamma(), test_getadjustedpalette(), and test_remaptable().

◆ GdipDisposeImageAttributes()

GpStatus WINGDIPAPI GdipDisposeImageAttributes ( GpImageAttributes imageattr)

Definition at line 97 of file imageattributes.c.

98 {
99  int i;
100 
101  TRACE("(%p)\n", imageattr);
102 
103  if(!imageattr)
104  return InvalidParameter;
105 
106  for (i=0; i<ColorAdjustTypeCount; i++)
107  heap_free(imageattr->colorremaptables[i].colormap);
108 
109  heap_free(imageattr);
110 
111  return Ok;
112 }
struct color_remap_table colorremaptables[ColorAdjustTypeCount]
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define TRACE(s)
Definition: solgame.cpp:4
static BOOL heap_free(void *mem)
Definition: appwiz.h:75

Referenced by GdipCreateTexture(), GdipCreateTexture2(), GdipCreateTexture2I(), GdipCreateTextureIA(), GdipDeleteBrush(), metafile_free_object_table_entry(), METAFILE_PlaybackObject(), test_colorkey(), test_colormatrix(), test_drawimage(), test_gamma(), test_getadjustedpalette(), and test_remaptable().

◆ GdipGetImageAttributesAdjustedPalette()

GpStatus WINGDIPAPI GdipGetImageAttributesAdjustedPalette ( GpImageAttributes imageattr,
ColorPalette palette,
ColorAdjustType  type 
)

Definition at line 114 of file imageattributes.c.

116 {
117  TRACE("(%p,%p,%u)\n", imageattr, palette, type);
118 
119  if (!imageattr || !palette || !palette->Count ||
121  return InvalidParameter;
122 
123  apply_image_attributes(imageattr, (LPBYTE)palette->Entries, palette->Count, 1, 0,
125 
126  return Ok;
127 }
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
PixelFormat apply_image_attributes(const GpImageAttributes *attributes, LPBYTE data, UINT width, UINT height, INT stride, ColorAdjustType type, PixelFormat fmt) DECLSPEC_HIDDEN
Definition: graphics.c:710
unsigned char * LPBYTE
Definition: typedefs.h:52
#define TRACE(s)
Definition: solgame.cpp:4
static HPALETTE palette
Definition: clipboard.c:1345
#define PixelFormat32bppARGB

Referenced by test_getadjustedpalette().

◆ GdipResetImageAttributes()

GpStatus WINGDIPAPI GdipResetImageAttributes ( GpImageAttributes imageAttr,
ColorAdjustType  type 
)

Definition at line 323 of file imageattributes.c.

325 {
326  TRACE("(%p,%u)\n", imageAttr, type);
327 
328  if(!imageAttr || type >= ColorAdjustTypeCount)
329  return InvalidParameter;
330 
331  memset(&imageAttr->colormatrices[type], 0, sizeof(imageAttr->colormatrices[type]));
332  GdipSetImageAttributesColorKeys(imageAttr, type, FALSE, 0, 0);
334  GdipSetImageAttributesGamma(imageAttr, type, FALSE, 0.0);
335  imageAttr->noop[type] = IMAGEATTR_NOOP_UNDEFINED;
336 
337  return Ok;
338 }
struct color_matrix colormatrices[ColorAdjustTypeCount]
GpStatus WINGDIPAPI GdipSetImageAttributesGamma(GpImageAttributes *imageAttr, ColorAdjustType type, BOOL enableFlag, REAL gamma)
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
enum imageattr_noop noop[ColorAdjustTypeCount]
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
GpStatus WINGDIPAPI GdipSetImageAttributesRemapTable(GpImageAttributes *imageAttr, ColorAdjustType type, BOOL enableFlag, UINT mapSize, GDIPCONST ColorMap *map)
GpStatus WINGDIPAPI GdipSetImageAttributesColorKeys(GpImageAttributes *imageattr, ColorAdjustType type, BOOL enableFlag, ARGB colorLow, ARGB colorHigh)
#define memset(x, y, z)
Definition: compat.h:39

Referenced by test_colorkey(), test_colormatrix(), test_gamma(), and test_remaptable().

◆ GdipSetImageAttributesCachedBackground()

GpStatus WINGDIPAPI GdipSetImageAttributesCachedBackground ( GpImageAttributes imageAttr,
BOOL  enableFlag 
)

Definition at line 191 of file imageattributes.c.

193 {
194  static int calls;
195 
196  TRACE("(%p,%i)\n", imageAttr, enableFlag);
197 
198  if(!(calls++))
199  FIXME("not implemented\n");
200 
201  return NotImplemented;
202 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define TRACE(s)
Definition: solgame.cpp:4

◆ GdipSetImageAttributesColorKeys()

GpStatus WINGDIPAPI GdipSetImageAttributesColorKeys ( GpImageAttributes imageattr,
ColorAdjustType  type,
BOOL  enableFlag,
ARGB  colorLow,
ARGB  colorHigh 
)

Definition at line 129 of file imageattributes.c.

131 {
132  TRACE("(%p,%u,%i,%08x,%08x)\n", imageattr, type, enableFlag, colorLow, colorHigh);
133 
134  if(!imageattr || type >= ColorAdjustTypeCount)
135  return InvalidParameter;
136 
137  imageattr->colorkeys[type].enabled = enableFlag;
138  imageattr->colorkeys[type].low = colorLow;
139  imageattr->colorkeys[type].high = colorHigh;
140 
141  return Ok;
142 }
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
#define TRACE(s)
Definition: solgame.cpp:4
struct color_key colorkeys[ColorAdjustTypeCount]

Referenced by GdipResetImageAttributes(), and test_colorkey().

◆ GdipSetImageAttributesColorMatrix()

GpStatus WINGDIPAPI GdipSetImageAttributesColorMatrix ( GpImageAttributes imageattr,
ColorAdjustType  type,
BOOL  enableFlag,
GDIPCONST ColorMatrix colorMatrix,
GDIPCONST ColorMatrix grayMatrix,
ColorMatrixFlags  flags 
)

Definition at line 144 of file imageattributes.c.

147 {
148  TRACE("(%p,%u,%i,%p,%p,%u)\n", imageattr, type, enableFlag, colorMatrix,
149  grayMatrix, flags);
150 
151  if(!imageattr || type >= ColorAdjustTypeCount || flags > ColorMatrixFlagsAltGray)
152  return InvalidParameter;
153 
154  if (enableFlag)
155  {
156  if (!colorMatrix)
157  return InvalidParameter;
158 
160  {
161  if (!grayMatrix)
162  return InvalidParameter;
163 
164  imageattr->colormatrices[type].graymatrix = *grayMatrix;
165  }
166 
167  imageattr->colormatrices[type].colormatrix = *colorMatrix;
168  imageattr->colormatrices[type].flags = flags;
169  }
170 
171  imageattr->colormatrices[type].enabled = enableFlag;
172 
173  return Ok;
174 }
struct color_matrix colormatrices[ColorAdjustTypeCount]
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
#define TRACE(s)
Definition: solgame.cpp:4
GLbitfield flags
Definition: glext.h:7161

Referenced by test_colormatrix(), and test_drawimage().

◆ GdipSetImageAttributesGamma()

GpStatus WINGDIPAPI GdipSetImageAttributesGamma ( GpImageAttributes imageAttr,
ColorAdjustType  type,
BOOL  enableFlag,
REAL  gamma 
)

Definition at line 204 of file imageattributes.c.

206 {
207  TRACE("(%p,%u,%i,%0.2f)\n", imageAttr, type, enableFlag, gamma);
208 
209  if (!imageAttr || (enableFlag && gamma <= 0.0) || type >= ColorAdjustTypeCount)
210  return InvalidParameter;
211 
212  imageAttr->gamma_enabled[type] = enableFlag;
213  imageAttr->gamma[type] = gamma;
214 
215  return Ok;
216 }
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
REAL gamma[ColorAdjustTypeCount]
#define TRACE(s)
Definition: solgame.cpp:4
BOOL gamma_enabled[ColorAdjustTypeCount]

Referenced by GdipResetImageAttributes(), and test_gamma().

◆ GdipSetImageAttributesNoOp()

GpStatus WINGDIPAPI GdipSetImageAttributesNoOp ( GpImageAttributes imageAttr,
ColorAdjustType  type,
BOOL  enableFlag 
)

Definition at line 218 of file imageattributes.c.

220 {
221  TRACE("(%p,%u,%i)\n", imageAttr, type, enableFlag);
222 
223  if (type >= ColorAdjustTypeCount)
224  return InvalidParameter;
225 
226  imageAttr->noop[type] = enableFlag ? IMAGEATTR_NOOP_SET : IMAGEATTR_NOOP_CLEAR;
227 
228  return Ok;
229 }
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
enum imageattr_noop noop[ColorAdjustTypeCount]
#define TRACE(s)
Definition: solgame.cpp:4

Referenced by test_colormatrix().

◆ GdipSetImageAttributesOutputChannel()

GpStatus WINGDIPAPI GdipSetImageAttributesOutputChannel ( GpImageAttributes imageAttr,
ColorAdjustType  type,
BOOL  enableFlag,
ColorChannelFlags  channelFlags 
)

Definition at line 231 of file imageattributes.c.

233 {
234  static int calls;
235 
236  TRACE("(%p,%u,%i,%x)\n", imageAttr, type, enableFlag, channelFlags);
237 
238  if(!(calls++))
239  FIXME("not implemented\n");
240 
241  return NotImplemented;
242 }
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
#define FIXME(fmt,...)
Definition: debug.h:110
#define TRACE(s)
Definition: solgame.cpp:4

◆ GdipSetImageAttributesOutputChannelColorProfile()

GpStatus WINGDIPAPI GdipSetImageAttributesOutputChannelColorProfile ( GpImageAttributes imageAttr,
ColorAdjustType  type,
BOOL  enableFlag,
GDIPCONST WCHAR colorProfileFilename 
)

Definition at line 244 of file imageattributes.c.

247 {
248  static int calls;
249 
250  TRACE("(%p,%u,%i,%s)\n", imageAttr, type, enableFlag, debugstr_w(colorProfileFilename));
251 
252  if(!(calls++))
253  FIXME("not implemented\n");
254 
255  return NotImplemented;
256 }
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110
#define TRACE(s)
Definition: solgame.cpp:4

◆ GdipSetImageAttributesRemapTable()

GpStatus WINGDIPAPI GdipSetImageAttributesRemapTable ( GpImageAttributes imageAttr,
ColorAdjustType  type,
BOOL  enableFlag,
UINT  mapSize,
GDIPCONST ColorMap map 
)

Definition at line 258 of file imageattributes.c.

261 {
262  ColorMap *new_map;
263 
264  TRACE("(%p,%u,%i,%u,%p)\n", imageAttr, type, enableFlag, mapSize, map);
265 
266  if(!imageAttr || type >= ColorAdjustTypeCount)
267  return InvalidParameter;
268 
269  if (enableFlag)
270  {
271  if(!map || !mapSize)
272  return InvalidParameter;
273 
274  new_map = heap_alloc_zero(sizeof(*map) * mapSize);
275 
276  if (!new_map)
277  return OutOfMemory;
278 
279  memcpy(new_map, map, sizeof(*map) * mapSize);
280 
281  heap_free(imageAttr->colorremaptables[type].colormap);
282 
283  imageAttr->colorremaptables[type].mapsize = mapSize;
284  imageAttr->colorremaptables[type].colormap = new_map;
285  }
286  else
287  {
288  heap_free(imageAttr->colorremaptables[type].colormap);
289  imageAttr->colorremaptables[type].colormap = NULL;
290  }
291 
292  imageAttr->colorremaptables[type].enabled = enableFlag;
293 
294  return Ok;
295 }
struct color_remap_table colorremaptables[ColorAdjustTypeCount]
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
Definition: _map.h:44
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
static BOOL heap_free(void *mem)
Definition: appwiz.h:75

Referenced by GdipResetImageAttributes(), test_getadjustedpalette(), and test_remaptable().

◆ GdipSetImageAttributesThreshold()

GpStatus WINGDIPAPI GdipSetImageAttributesThreshold ( GpImageAttributes imageAttr,
ColorAdjustType  type,
BOOL  enableFlag,
REAL  threshold 
)

Definition at line 297 of file imageattributes.c.

299 {
300  static int calls;
301 
302  TRACE("(%p,%u,%i,%0.2f)\n", imageAttr, type, enableFlag, threshold);
303 
304  if(!(calls++))
305  FIXME("not implemented\n");
306 
307  return NotImplemented;
308 }
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
#define FIXME(fmt,...)
Definition: debug.h:110
#define TRACE(s)
Definition: solgame.cpp:4

◆ GdipSetImageAttributesToIdentity()

GpStatus WINGDIPAPI GdipSetImageAttributesToIdentity ( GpImageAttributes imageAttr,
ColorAdjustType  type 
)

Definition at line 310 of file imageattributes.c.

312 {
313  static int calls;
314 
315  TRACE("(%p,%u)\n", imageAttr, type);
316 
317  if(!(calls++))
318  FIXME("not implemented\n");
319 
320  return NotImplemented;
321 }
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
#define FIXME(fmt,...)
Definition: debug.h:110
#define TRACE(s)
Definition: solgame.cpp:4

◆ GdipSetImageAttributesWrapMode()

GpStatus WINGDIPAPI GdipSetImageAttributesWrapMode ( GpImageAttributes imageAttr,
WrapMode  wrap,
ARGB  argb,
BOOL  clamp 
)

Definition at line 176 of file imageattributes.c.

178 {
179  TRACE("(%p,%u,%08x,%i)\n", imageAttr, wrap, argb, clamp);
180 
181  if(!imageAttr || wrap > WrapModeClamp)
182  return InvalidParameter;
183 
184  imageAttr->wrap = wrap;
185  imageAttr->outside_color = argb;
186  imageAttr->clamp = clamp;
187 
188  return Ok;
189 }
GLenum clamp
Definition: glext.h:6216
#define TRACE(s)
Definition: solgame.cpp:4
#define wrap(journal, var)
Definition: recovery.c:207

Referenced by METAFILE_PlaybackObject().

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( gdiplus  )