#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"
Go to the source code of this file.
|
| 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) |
|
◆ MFDRV_Arc()
Definition at line 53 of file graphics.c.
57 xstart, ystart, xend, yend);
BOOL MFDRV_MetaParam8(PHYSDEV dev, short func, short param1, short param2, short param3, short param4, short param5, short param6, short param7, short param8)
GLdouble GLdouble GLdouble GLdouble top
◆ MFDRV_Chord()
Definition at line 75 of file graphics.c.
79 xstart, ystart, xend, yend);
BOOL MFDRV_MetaParam8(PHYSDEV dev, short func, short param1, short param2, short param3, short param4, short param5, short param6, short param7, short param8)
GLdouble GLdouble GLdouble GLdouble top
◆ MFDRV_CreateRegion()
Definition at line 257 of file graphics.c.
262 RECT *pCurRect, *pEndRect;
263 WORD Bands = 0, MaxBands = 0;
264 WORD *Param, *StartBand;
269 WARN(
"Can't alloc rgndata buffer\n");
279 WARN(
"Can't alloc METARECORD buffer\n");
288 for(pCurRect = (
RECT *)rgndata->
Buffer; pCurRect < pEndRect; pCurRect++)
290 if( StartBand && pCurRect->
top == *(StartBand + 1) )
292 *Param++ = pCurRect->
left;
293 *Param++ = pCurRect->
right;
299 *StartBand = Param - StartBand - 3;
300 *Param++ = *StartBand;
301 if(*StartBand > MaxBands)
302 MaxBands = *StartBand;
306 *Param++ = pCurRect->
top;
307 *Param++ = pCurRect->
bottom;
308 *Param++ = pCurRect->
left;
309 *Param++ = pCurRect->
right;
315 *StartBand = Param - StartBand - 3;
316 *Param++ = *StartBand;
317 if(*StartBand > MaxBands)
318 MaxBands = *StartBand;
340 WARN(
"MFDRV_WriteRecord failed\n");
struct tagMETARECORD METARECORD
#define META_CREATEREGION
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
BOOL MFDRV_WriteRecord(PHYSDEV dev, METARECORD *mr, DWORD rlen)
DWORD WINAPI GetRegionData(_In_ HRGN hrgn, _In_ DWORD nCount, _Out_writes_bytes_to_opt_(nCount, return) LPRGNDATA lpRgnData)
#define HeapFree(x, y, z)
Referenced by MFDRV_ExtSelectClipRgn(), MFDRV_FillRgn(), MFDRV_FrameRgn(), MFDRV_InvertRgn(), and MFDRV_PaintRgn().
◆ MFDRV_Ellipse()
Definition at line 85 of file graphics.c.
GLdouble GLdouble GLdouble GLdouble top
BOOL MFDRV_MetaParam4(PHYSDEV dev, short func, short param1, short param2, short param3, short param4)
◆ MFDRV_ExtFloodFill()
Definition at line 244 of file graphics.c.
GLint GLint GLint GLint GLint x
GLint GLint GLint GLint GLint GLint y
BOOL MFDRV_MetaParam4(PHYSDEV dev, short func, short param1, short param2, short param3, short param4)
◆ MFDRV_ExtSelectClipRgn()
Definition at line 407 of file graphics.c.
415 if(iRgn == -1)
return ERROR;
static INT16 MFDRV_CreateRegion(PHYSDEV dev, HRGN hrgn)
BOOL MFDRV_MetaParam1(PHYSDEV dev, short func, short param1)
#define META_DELETEOBJECT
#define META_SELECTOBJECT
◆ MFDRV_FillRgn()
BOOL MFDRV_FillRgn |
( |
PHYSDEV |
dev, |
|
|
HRGN |
hrgn, |
|
|
HBRUSH |
hbrush |
|
) |
| |
Definition at line 376 of file graphics.c.
static INT16 MFDRV_CreateRegion(PHYSDEV dev, HRGN hrgn)
BOOL MFDRV_MetaParam2(PHYSDEV dev, short func, short param1, short param2)
◆ MFDRV_FrameRgn()
Definition at line 391 of file graphics.c.
static INT16 MFDRV_CreateRegion(PHYSDEV dev, HRGN hrgn)
GLint GLint GLint GLint GLint x
GLint GLint GLint GLint GLint GLint y
BOOL MFDRV_MetaParam4(PHYSDEV dev, short func, short param1, short param2, short param3, short param4)
◆ MFDRV_InvertRgn()
Definition at line 363 of file graphics.c.
static INT16 MFDRV_CreateRegion(PHYSDEV dev, HRGN hrgn)
#define META_INVERTREGION
BOOL MFDRV_MetaParam1(PHYSDEV dev, short func, short param1)
◆ MFDRV_LineTo()
Definition at line 44 of file graphics.c.
GLint GLint GLint GLint GLint x
BOOL MFDRV_MetaParam2(PHYSDEV dev, short func, short param1, short param2)
GLint GLint GLint GLint GLint GLint y
◆ MFDRV_MetaPoly()
Definition at line 121 of file graphics.c.
GLuint GLuint GLsizei count
struct tagMETARECORD METARECORD
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
#define memcpy(s1, s2, n)
BOOL MFDRV_WriteRecord(PHYSDEV dev, METARECORD *mr, DWORD rlen)
#define HeapFree(x, y, z)
Referenced by MFDRV_Polygon(), and MFDRV_Polyline().
◆ MFDRV_MoveTo()
Definition at line 36 of file graphics.c.
GLint GLint GLint GLint GLint x
BOOL MFDRV_MetaParam2(PHYSDEV dev, short func, short param1, short param2)
GLint GLint GLint GLint GLint GLint y
◆ MFDRV_PaintRgn()
Definition at line 350 of file graphics.c.
static INT16 MFDRV_CreateRegion(PHYSDEV dev, HRGN hrgn)
BOOL MFDRV_MetaParam1(PHYSDEV dev, short func, short param1)
◆ MFDRV_Pie()
Definition at line 64 of file graphics.c.
68 xstart, ystart, xend, yend);
BOOL MFDRV_MetaParam8(PHYSDEV dev, short func, short param1, short param2, short param3, short param4, short param5, short param6, short param7, short param8)
GLdouble GLdouble GLdouble GLdouble top
◆ MFDRV_PolyBezier()
◆ MFDRV_PolyBezierTo()
◆ MFDRV_Polygon()
Definition at line 167 of file graphics.c.
174 if(!pts)
return FALSE;
GLuint GLuint GLsizei count
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
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
static BOOL MFDRV_MetaPoly(PHYSDEV dev, short func, POINTS *pt, short count)
#define HeapFree(x, y, z)
◆ MFDRV_Polyline()
Definition at line 144 of file graphics.c.
151 if(!pts)
return FALSE;
GLuint GLuint GLsizei count
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
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
static BOOL MFDRV_MetaPoly(PHYSDEV dev, short func, POINTS *pt, short count)
#define HeapFree(x, y, z)
◆ MFDRV_PolyPolygon()
Definition at line 190 of file graphics.c.
197 INT16 totalpoint16 = 0;
200 for (
i=0;
i<polygons;
i++) {
201 totalpoint16 += counts[
i];
209 for (
i=0;
i<polygons;
i++) {
210 pointcounts[
i] = counts[
i];
214 for (
j = totalpoint16;
j--;){
231 memcpy(mr->
rdParm + 1+polygons, pts , totalpoint16*
sizeof(*pts));
struct tagMETARECORD METARECORD
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
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
#define memcpy(s1, s2, n)
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
BOOL MFDRV_WriteRecord(PHYSDEV dev, METARECORD *mr, DWORD rlen)
#define HeapFree(x, y, z)
◆ MFDRV_Rectangle()
Definition at line 93 of file graphics.c.
GLdouble GLdouble GLdouble GLdouble top
BOOL MFDRV_MetaParam4(PHYSDEV dev, short func, short param1, short param2, short param3, short param4)
◆ MFDRV_RoundRect()
Definition at line 101 of file graphics.c.
105 ell_width, ell_height);
BOOL MFDRV_MetaParam6(PHYSDEV dev, short func, short param1, short param2, short param3, short param4, short param5, short param6)
GLdouble GLdouble GLdouble GLdouble top
◆ MFDRV_SetPixel()
Definition at line 111 of file graphics.c.
GLint GLint GLint GLint GLint x
GLint GLint GLint GLint GLint GLint y
BOOL MFDRV_MetaParam4(PHYSDEV dev, short func, short param1, short param2, short param3, short param4)
◆ WINE_DEFAULT_DEBUG_CHANNEL()