ReactOS 0.4.15-dev-7918-g2a2556c
graphics.c File Reference
#include <stdarg.h>
#include <stdlib.h>
#include <string.h>
#include "windef.h"
#include "winbase.h"
#include "wingdi.h"
#include "mfdrv/metafiledrv.h"
#include "wine/debug.h"
Include dependency graph for graphics.c:

Go to the source code of this file.

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (metafile)
 
BOOL MFDRV_MoveTo (PHYSDEV dev, INT x, INT y)
 
BOOL MFDRV_LineTo (PHYSDEV dev, INT x, INT y)
 
BOOL MFDRV_Arc (PHYSDEV dev, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend)
 
BOOL MFDRV_Pie (PHYSDEV dev, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend)
 
BOOL MFDRV_Chord (PHYSDEV dev, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend)
 
BOOL MFDRV_Ellipse (PHYSDEV dev, INT left, INT top, INT right, INT bottom)
 
BOOL MFDRV_Rectangle (PHYSDEV dev, INT left, INT top, INT right, INT bottom)
 
BOOL MFDRV_RoundRect (PHYSDEV dev, INT left, INT top, INT right, INT bottom, INT ell_width, INT ell_height)
 
COLORREF MFDRV_SetPixel (PHYSDEV dev, INT x, INT y, COLORREF color)
 
static BOOL MFDRV_MetaPoly (PHYSDEV dev, short func, POINTS *pt, short count)
 
BOOL MFDRV_Polyline (PHYSDEV dev, const POINT *pt, INT count)
 
BOOL MFDRV_Polygon (PHYSDEV dev, const POINT *pt, INT count)
 
BOOL MFDRV_PolyPolygon (PHYSDEV dev, const POINT *pt, const INT *counts, UINT polygons)
 
BOOL MFDRV_ExtFloodFill (PHYSDEV dev, INT x, INT y, COLORREF color, UINT fillType)
 
static INT16 MFDRV_CreateRegion (PHYSDEV dev, HRGN hrgn)
 
BOOL MFDRV_PaintRgn (PHYSDEV dev, HRGN hrgn)
 
BOOL MFDRV_InvertRgn (PHYSDEV dev, HRGN hrgn)
 
BOOL MFDRV_FillRgn (PHYSDEV dev, HRGN hrgn, HBRUSH hbrush)
 
BOOL MFDRV_FrameRgn (PHYSDEV dev, HRGN hrgn, HBRUSH hbrush, INT x, INT y)
 
INT MFDRV_ExtSelectClipRgn (PHYSDEV dev, HRGN hrgn, INT mode)
 
BOOL MFDRV_PolyBezier (PHYSDEV dev, const POINT *pts, DWORD count)
 
BOOL MFDRV_PolyBezierTo (PHYSDEV dev, const POINT *pts, DWORD count)
 

Function Documentation

◆ MFDRV_Arc()

BOOL MFDRV_Arc ( PHYSDEV  dev,
INT  left,
INT  top,
INT  right,
INT  bottom,
INT  xstart,
INT  ystart,
INT  xend,
INT  yend 
)

Definition at line 53 of file graphics.c.

55{
57 xstart, ystart, xend, yend);
58}
GLdouble GLdouble GLdouble GLdouble top
Definition: glext.h:10859
GLdouble GLdouble right
Definition: glext.h:10859
GLint left
Definition: glext.h:7726
GLint GLint bottom
Definition: glext.h:7726
BOOL MFDRV_MetaParam8(PHYSDEV dev, short func, short param1, short param2, short param3, short param4, short param5, short param6, short param7, short param8)
Definition: init.c:609
#define META_ARC
Definition: wingdi.h:233

◆ MFDRV_Chord()

BOOL MFDRV_Chord ( PHYSDEV  dev,
INT  left,
INT  top,
INT  right,
INT  bottom,
INT  xstart,
INT  ystart,
INT  xend,
INT  yend 
)

Definition at line 75 of file graphics.c.

77{
79 xstart, ystart, xend, yend);
80}
#define META_CHORD
Definition: wingdi.h:257

◆ MFDRV_CreateRegion()

static INT16 MFDRV_CreateRegion ( PHYSDEV  dev,
HRGN  hrgn 
)
static

Definition at line 257 of file graphics.c.

258{
259 DWORD len;
260 METARECORD *mr;
261 RGNDATA *rgndata;
262 RECT *pCurRect, *pEndRect;
263 WORD Bands = 0, MaxBands = 0;
264 WORD *Param, *StartBand;
265 BOOL ret;
266
267 if (!(len = GetRegionData( hrgn, 0, NULL ))) return -1;
268 if( !(rgndata = HeapAlloc( GetProcessHeap(), 0, len )) ) {
269 WARN("Can't alloc rgndata buffer\n");
270 return -1;
271 }
272 GetRegionData( hrgn, len, rgndata );
273
274 /* Overestimate of length:
275 * Assume every rect is a separate band -> 6 WORDs per rect
276 */
277 len = sizeof(METARECORD) + 20 + (rgndata->rdh.nCount * 12);
278 if( !(mr = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, len )) ) {
279 WARN("Can't alloc METARECORD buffer\n");
280 HeapFree( GetProcessHeap(), 0, rgndata );
281 return -1;
282 }
283
284 Param = mr->rdParm + 11;
285 StartBand = NULL;
286
287 pEndRect = (RECT *)rgndata->Buffer + rgndata->rdh.nCount;
288 for(pCurRect = (RECT *)rgndata->Buffer; pCurRect < pEndRect; pCurRect++)
289 {
290 if( StartBand && pCurRect->top == *(StartBand + 1) )
291 {
292 *Param++ = pCurRect->left;
293 *Param++ = pCurRect->right;
294 }
295 else
296 {
297 if(StartBand)
298 {
299 *StartBand = Param - StartBand - 3;
300 *Param++ = *StartBand;
301 if(*StartBand > MaxBands)
302 MaxBands = *StartBand;
303 Bands++;
304 }
305 StartBand = Param++;
306 *Param++ = pCurRect->top;
307 *Param++ = pCurRect->bottom;
308 *Param++ = pCurRect->left;
309 *Param++ = pCurRect->right;
310 }
311 }
312
313 if (StartBand)
314 {
315 *StartBand = Param - StartBand - 3;
316 *Param++ = *StartBand;
317 if(*StartBand > MaxBands)
318 MaxBands = *StartBand;
319 Bands++;
320 }
321
322 mr->rdParm[0] = 0;
323 mr->rdParm[1] = 6;
324 mr->rdParm[2] = 0x2f6;
325 mr->rdParm[3] = 0;
326 mr->rdParm[4] = (Param - &mr->rdFunction) * sizeof(WORD);
327 mr->rdParm[5] = Bands;
328 mr->rdParm[6] = MaxBands;
329 mr->rdParm[7] = rgndata->rdh.rcBound.left;
330 mr->rdParm[8] = rgndata->rdh.rcBound.top;
331 mr->rdParm[9] = rgndata->rdh.rcBound.right;
332 mr->rdParm[10] = rgndata->rdh.rcBound.bottom;
334 mr->rdSize = Param - (WORD *)mr;
335 ret = MFDRV_WriteRecord( dev, mr, mr->rdSize * 2 );
336 HeapFree( GetProcessHeap(), 0, mr );
337 HeapFree( GetProcessHeap(), 0, rgndata );
338 if(!ret)
339 {
340 WARN("MFDRV_WriteRecord failed\n");
341 return -1;
342 }
343 return MFDRV_AddHandle( dev, hrgn );
344}
static HRGN hrgn
#define WARN(fmt,...)
Definition: debug.h:112
#define NULL
Definition: types.h:112
#define GetProcessHeap()
Definition: compat.h:736
#define HeapAlloc
Definition: compat.h:733
#define HeapFree(x, y, z)
Definition: compat.h:735
#define HEAP_ZERO_MEMORY
Definition: compat.h:134
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned short WORD
Definition: ntddk_ex.h:93
GLenum GLsizei len
Definition: glext.h:6722
UINT MFDRV_AddHandle(PHYSDEV dev, HGDIOBJ obj) DECLSPEC_HIDDEN
Definition: objects.c:39
RGNDATAHEADER rdh
Definition: axextend.idl:399
char Buffer[1]
Definition: axextend.idl:400
DWORD rdSize
Definition: wingdi.h:2345
WORD rdParm[1]
Definition: wingdi.h:2347
WORD rdFunction
Definition: wingdi.h:2346
LONG right
Definition: windef.h:308
LONG bottom
Definition: windef.h:309
LONG top
Definition: windef.h:307
LONG left
Definition: windef.h:306
int ret
BOOL MFDRV_WriteRecord(PHYSDEV dev, METARECORD *mr, DWORD rlen)
Definition: init.c:475
DWORD WINAPI GetRegionData(_In_ HRGN hrgn, _In_ DWORD nCount, _Out_writes_bytes_to_opt_(nCount, return) LPRGNDATA lpRgnData)
#define META_CREATEREGION
Definition: wingdi.h:278
struct tagMETARECORD METARECORD

Referenced by MFDRV_ExtSelectClipRgn(), MFDRV_FillRgn(), MFDRV_FrameRgn(), MFDRV_InvertRgn(), and MFDRV_PaintRgn().

◆ MFDRV_Ellipse()

BOOL MFDRV_Ellipse ( PHYSDEV  dev,
INT  left,
INT  top,
INT  right,
INT  bottom 
)

Definition at line 85 of file graphics.c.

86{
88}
BOOL MFDRV_MetaParam4(PHYSDEV dev, short func, short param1, short param2, short param3, short param4)
Definition: init.c:566
#define META_ELLIPSE
Definition: wingdi.h:234

◆ MFDRV_ExtFloodFill()

BOOL MFDRV_ExtFloodFill ( PHYSDEV  dev,
INT  x,
INT  y,
COLORREF  color,
UINT  fillType 
)

Definition at line 244 of file graphics.c.

245{
247 LOWORD(color));
248}
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
GLuint color
Definition: glext.h:6243
#define LOWORD(l)
Definition: pedump.c:82
#define HIWORD(l)
Definition: typedefs.h:247
#define META_FLOODFILL
Definition: wingdi.h:235

◆ MFDRV_ExtSelectClipRgn()

INT MFDRV_ExtSelectClipRgn ( PHYSDEV  dev,
HRGN  hrgn,
INT  mode 
)

Definition at line 407 of file graphics.c.

408{
409 INT16 iRgn;
410 INT ret;
411
412 if (mode != RGN_COPY) return ERROR;
413 if (!hrgn) return NULLREGION;
414 iRgn = MFDRV_CreateRegion( dev, hrgn );
415 if(iRgn == -1) return ERROR;
418 MFDRV_RemoveHandle( dev, iRgn );
419 return ret;
420}
signed short INT16
#define ERROR(name)
Definition: error_private.h:53
GLenum mode
Definition: glext.h:6217
BOOL MFDRV_RemoveHandle(PHYSDEV dev, UINT index) DECLSPEC_HIDDEN
Definition: objects.c:64
int32_t INT
Definition: typedefs.h:58
static INT16 MFDRV_CreateRegion(PHYSDEV dev, HRGN hrgn)
Definition: graphics.c:257
BOOL MFDRV_MetaParam1(PHYSDEV dev, short func, short param1)
Definition: init.c:532
#define NULLREGION
Definition: wingdi.h:361
#define RGN_COPY
Definition: wingdi.h:357
#define META_DELETEOBJECT
Definition: wingdi.h:272
#define META_SELECTOBJECT
Definition: wingdi.h:255

◆ MFDRV_FillRgn()

BOOL MFDRV_FillRgn ( PHYSDEV  dev,
HRGN  hrgn,
HBRUSH  hbrush 
)

Definition at line 376 of file graphics.c.

377{
378 INT16 iRgn, iBrush;
379 iRgn = MFDRV_CreateRegion( dev, hrgn );
380 if(iRgn == -1)
381 return FALSE;
383 if(!iBrush)
384 return FALSE;
385 return MFDRV_MetaParam2( dev, META_FILLREGION, iRgn, iBrush );
386}
static HBRUSH hbrush
#define FALSE
Definition: types.h:117
INT16 MFDRV_CreateBrushIndirect(PHYSDEV dev, HBRUSH hBrush) DECLSPEC_HIDDEN
Definition: objects.c:149
BOOL MFDRV_MetaParam2(PHYSDEV dev, short func, short param1, short param2)
Definition: init.c:548
#define META_FILLREGION
Definition: wingdi.h:250

◆ MFDRV_FrameRgn()

BOOL MFDRV_FrameRgn ( PHYSDEV  dev,
HRGN  hrgn,
HBRUSH  hbrush,
INT  x,
INT  y 
)

Definition at line 391 of file graphics.c.

392{
393 INT16 iRgn, iBrush;
394 iRgn = MFDRV_CreateRegion( dev, hrgn );
395 if(iRgn == -1)
396 return FALSE;
398 if(!iBrush)
399 return FALSE;
400 return MFDRV_MetaParam4( dev, META_FRAMEREGION, iRgn, iBrush, x, y );
401}
#define META_FRAMEREGION
Definition: wingdi.h:251

◆ MFDRV_InvertRgn()

BOOL MFDRV_InvertRgn ( PHYSDEV  dev,
HRGN  hrgn 
)

Definition at line 363 of file graphics.c.

364{
365 INT16 index;
367 if(index == -1)
368 return FALSE;
370}
#define index(s, c)
Definition: various.h:29
GLuint index
Definition: glext.h:6031
#define META_INVERTREGION
Definition: wingdi.h:252

◆ MFDRV_LineTo()

BOOL MFDRV_LineTo ( PHYSDEV  dev,
INT  x,
INT  y 
)

Definition at line 44 of file graphics.c.

45{
47}
#define META_LINETO
Definition: wingdi.h:229

◆ MFDRV_MetaPoly()

static BOOL MFDRV_MetaPoly ( PHYSDEV  dev,
short  func,
POINTS pt,
short  count 
)
static

Definition at line 121 of file graphics.c.

122{
123 BOOL ret;
124 DWORD len;
125 METARECORD *mr;
126
127 len = sizeof(METARECORD) + (count * 4);
128 if (!(mr = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, len )))
129 return FALSE;
130
131 mr->rdSize = len / 2;
132 mr->rdFunction = func;
133 *(mr->rdParm) = count;
134 memcpy(mr->rdParm + 1, pt, count * 4);
135 ret = MFDRV_WriteRecord( dev, mr, mr->rdSize * 2);
136 HeapFree( GetProcessHeap(), 0, mr);
137 return ret;
138}
#define pt(x, y)
Definition: drawing.c:79
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLenum func
Definition: glext.h:6028
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878

Referenced by MFDRV_Polygon(), and MFDRV_Polyline().

◆ MFDRV_MoveTo()

BOOL MFDRV_MoveTo ( PHYSDEV  dev,
INT  x,
INT  y 
)

Definition at line 36 of file graphics.c.

37{
39}
#define META_MOVETO
Definition: wingdi.h:230

◆ MFDRV_PaintRgn()

BOOL MFDRV_PaintRgn ( PHYSDEV  dev,
HRGN  hrgn 
)

Definition at line 350 of file graphics.c.

351{
352 INT16 index;
354 if(index == -1)
355 return FALSE;
357}
#define META_PAINTREGION
Definition: wingdi.h:253

◆ MFDRV_Pie()

BOOL MFDRV_Pie ( PHYSDEV  dev,
INT  left,
INT  top,
INT  right,
INT  bottom,
INT  xstart,
INT  ystart,
INT  xend,
INT  yend 
)

Definition at line 64 of file graphics.c.

66{
68 xstart, ystart, xend, yend);
69}
#define META_PIE
Definition: wingdi.h:236

◆ MFDRV_PolyBezier()

BOOL MFDRV_PolyBezier ( PHYSDEV  dev,
const POINT pts,
DWORD  count 
)

Definition at line 428 of file graphics.c.

429{
430 return FALSE;
431}

◆ MFDRV_PolyBezierTo()

BOOL MFDRV_PolyBezierTo ( PHYSDEV  dev,
const POINT pts,
DWORD  count 
)

Definition at line 438 of file graphics.c.

439{
440 return FALSE;
441}

◆ MFDRV_Polygon()

BOOL MFDRV_Polygon ( PHYSDEV  dev,
const POINT pt,
INT  count 
)

Definition at line 167 of file graphics.c.

168{
169 int i;
170 POINTS *pts;
171 BOOL ret;
172
173 pts = HeapAlloc( GetProcessHeap(), 0, sizeof(POINTS)*count );
174 if(!pts) return FALSE;
175 for (i=count;i--;)
176 {
177 pts[i].x = pt[i].x;
178 pts[i].y = pt[i].y;
179 }
181
182 HeapFree( GetProcessHeap(), 0, pts );
183 return ret;
184}
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
SHORT y
Definition: windef.h:343
SHORT x
Definition: windef.h:342
static BOOL MFDRV_MetaPoly(PHYSDEV dev, short func, POINTS *pt, short count)
Definition: graphics.c:121
#define META_POLYGON
Definition: wingdi.h:246

◆ MFDRV_Polyline()

BOOL MFDRV_Polyline ( PHYSDEV  dev,
const POINT pt,
INT  count 
)

Definition at line 144 of file graphics.c.

145{
146 int i;
147 POINTS *pts;
148 BOOL ret;
149
150 pts = HeapAlloc( GetProcessHeap(), 0, sizeof(POINTS)*count );
151 if(!pts) return FALSE;
152 for (i=count;i--;)
153 {
154 pts[i].x = pt[i].x;
155 pts[i].y = pt[i].y;
156 }
158
159 HeapFree( GetProcessHeap(), 0, pts );
160 return ret;
161}
#define META_POLYLINE
Definition: wingdi.h:247

◆ MFDRV_PolyPolygon()

BOOL MFDRV_PolyPolygon ( PHYSDEV  dev,
const POINT pt,
const INT counts,
UINT  polygons 
)

Definition at line 190 of file graphics.c.

191{
192 BOOL ret;
193 DWORD len;
194 METARECORD *mr;
195 unsigned int i,j;
196 POINTS *pts;
197 INT16 totalpoint16 = 0;
198 INT16 * pointcounts;
199
200 for (i=0;i<polygons;i++) {
201 totalpoint16 += counts[i];
202 }
203
204 /* allocate space for all points */
205 pts=HeapAlloc( GetProcessHeap(), 0, sizeof(POINTS) * totalpoint16 );
206 pointcounts = HeapAlloc( GetProcessHeap(), 0, sizeof(INT16) * totalpoint16 );
207
208 /* copy point counts */
209 for (i=0;i<polygons;i++) {
210 pointcounts[i] = counts[i];
211 }
212
213 /* convert all points */
214 for (j = totalpoint16; j--;){
215 pts[j].x = pt[j].x;
216 pts[j].y = pt[j].y;
217 }
218
219 len = sizeof(METARECORD) + sizeof(WORD) + polygons*sizeof(INT16) + totalpoint16*sizeof(*pts);
220
221 if (!(mr = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, len ))) {
222 HeapFree( GetProcessHeap(), 0, pts );
223 HeapFree( GetProcessHeap(), 0, pointcounts );
224 return FALSE;
225 }
226
227 mr->rdSize = len /2;
229 *(mr->rdParm) = polygons;
230 memcpy(mr->rdParm + 1, pointcounts, polygons*sizeof(INT16));
231 memcpy(mr->rdParm + 1+polygons, pts , totalpoint16*sizeof(*pts));
232 ret = MFDRV_WriteRecord( dev, mr, mr->rdSize * 2);
233
234 HeapFree( GetProcessHeap(), 0, pts );
235 HeapFree( GetProcessHeap(), 0, pointcounts );
236 HeapFree( GetProcessHeap(), 0, mr);
237 return ret;
238}
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 j
Definition: glfuncs.h:250
#define META_POLYPOLYGON
Definition: wingdi.h:265

◆ MFDRV_Rectangle()

BOOL MFDRV_Rectangle ( PHYSDEV  dev,
INT  left,
INT  top,
INT  right,
INT  bottom 
)

Definition at line 93 of file graphics.c.

94{
96}
#define META_RECTANGLE
Definition: wingdi.h:237

◆ MFDRV_RoundRect()

BOOL MFDRV_RoundRect ( PHYSDEV  dev,
INT  left,
INT  top,
INT  right,
INT  bottom,
INT  ell_width,
INT  ell_height 
)

Definition at line 101 of file graphics.c.

103{
105 ell_width, ell_height);
106}
BOOL MFDRV_MetaParam6(PHYSDEV dev, short func, short param1, short param2, short param3, short param4, short param5, short param6)
Definition: init.c:587
#define META_ROUNDRECT
Definition: wingdi.h:238

◆ MFDRV_SetPixel()

COLORREF MFDRV_SetPixel ( PHYSDEV  dev,
INT  x,
INT  y,
COLORREF  color 
)

Definition at line 111 of file graphics.c.

112{
114 LOWORD(color));
115}
#define META_SETPIXEL
Definition: wingdi.h:241

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( metafile  )