ReactOS  0.4.14-dev-49-gfb4591c
metafiledrv.h
Go to the documentation of this file.
1 /*
2  * Metafile driver definitions
3  *
4  * Copyright 1996 Alexandre Julliard
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19  */
20 
21 #ifndef __WINE_METAFILEDRV_H
22 #define __WINE_METAFILEDRV_H
23 
24 #include <stdarg.h>
25 
26 #include "windef.h"
27 #include "winbase.h"
28 #include "wingdi.h"
29 #include "gdi_private.h"
30 
31 /* Metafile driver physical DC */
32 
33 typedef struct
34 {
35  struct gdi_physdev dev;
36  METAHEADER *mh; /* Pointer to metafile header */
37  UINT handles_size, cur_handles;
39  HANDLE hFile; /* Handle for disk based MetaFile */
41 
42 #define HANDLE_LIST_INC 20
43 
44 
46 extern BOOL MFDRV_MetaParam1(PHYSDEV dev, short func, short param1) DECLSPEC_HIDDEN;
47 extern BOOL MFDRV_MetaParam2(PHYSDEV dev, short func, short param1, short param2) DECLSPEC_HIDDEN;
48 extern BOOL MFDRV_MetaParam4(PHYSDEV dev, short func, short param1, short param2,
49  short param3, short param4) DECLSPEC_HIDDEN;
50 extern BOOL MFDRV_MetaParam6(PHYSDEV dev, short func, short param1, short param2,
51  short param3, short param4, short param5,
52  short param6) DECLSPEC_HIDDEN;
53 extern BOOL MFDRV_MetaParam8(PHYSDEV dev, short func, short param1, short param2,
54  short param3, short param4, short param5,
55  short param6, short param7, short param8) DECLSPEC_HIDDEN;
60 
61 /* Metafile driver functions */
62 
65  INT xstart, INT ystart, INT xend, INT yend ) DECLSPEC_HIDDEN;
68  INT bottom, INT xstart, INT ystart, INT xend, INT yend ) DECLSPEC_HIDDEN;
76 extern BOOL MFDRV_ExtTextOut( PHYSDEV dev, INT x, INT y, UINT flags, const RECT *lprect, LPCWSTR str,
77  UINT count, const INT *lpDx ) DECLSPEC_HIDDEN;
79 extern BOOL MFDRV_FillRgn( PHYSDEV dev, HRGN hrgn, HBRUSH hbrush ) DECLSPEC_HIDDEN;
81 extern BOOL MFDRV_FrameRgn( PHYSDEV dev, HRGN hrgn, HBRUSH hbrush, INT x, INT y ) DECLSPEC_HIDDEN;
92  INT bottom, INT xstart, INT ystart, INT xend, INT yend ) DECLSPEC_HIDDEN;
95 extern BOOL MFDRV_PolyPolygon( PHYSDEV dev, const POINT* pt, const INT* counts, UINT polygons) DECLSPEC_HIDDEN;
101  INT ell_width, INT ell_height ) DECLSPEC_HIDDEN;
103 extern BOOL MFDRV_ScaleViewportExtEx( PHYSDEV dev, INT xNum, INT xDenom, INT yNum, INT yDenom, SIZE *size ) DECLSPEC_HIDDEN;
104 extern BOOL MFDRV_ScaleWindowExtEx( PHYSDEV dev, INT xNum, INT xDenom, INT yNum, INT yDenom, SIZE *size ) DECLSPEC_HIDDEN;
106 extern HBRUSH MFDRV_SelectBrush( PHYSDEV dev, HBRUSH hbrush, const struct brush_pattern *pattern ) DECLSPEC_HIDDEN;
109 extern HPEN MFDRV_SelectPen( PHYSDEV dev, HPEN handle, const struct brush_pattern *pattern ) DECLSPEC_HIDDEN;
110 extern HPALETTE MFDRV_SelectPalette( PHYSDEV dev, HPALETTE hPalette, BOOL bForceBackground) DECLSPEC_HIDDEN;
111 extern UINT MFDRV_RealizePalette(PHYSDEV dev, HPALETTE hPalette, BOOL primary) DECLSPEC_HIDDEN;
131 extern BOOL MFDRV_StretchBlt( PHYSDEV devDst, struct bitblt_coords *dst,
132  PHYSDEV devSrc, struct bitblt_coords *src, DWORD rop ) DECLSPEC_HIDDEN;
134 extern INT MFDRV_SetDIBitsToDevice( PHYSDEV dev, INT xDest, INT yDest, DWORD cx,
135  DWORD cy, INT xSrc, INT ySrc,
136  UINT startscan, UINT lines, LPCVOID bits,
137  BITMAPINFO *info, UINT coloruse ) DECLSPEC_HIDDEN;
138 extern INT MFDRV_StretchDIBits( PHYSDEV dev, INT xDst, INT yDst, INT widthDst,
139  INT heightDst, INT xSrc, INT ySrc, INT widthSrc, INT heightSrc,
140  const void *bits, BITMAPINFO *info, UINT wUsage, DWORD dwRop ) DECLSPEC_HIDDEN;
144 
145 #endif /* __WINE_METAFILEDRV_H */
BOOL MFDRV_PolyBezierTo(PHYSDEV dev, const POINT *pt, DWORD count) DECLSPEC_HIDDEN
Definition: graphics.c:438
GLenum func
Definition: glext.h:6028
INT MFDRV_ExtSelectClipRgn(PHYSDEV dev, HRGN hrgn, INT mode) DECLSPEC_HIDDEN
Definition: graphics.c:407
INT MFDRV_SetStretchBltMode(PHYSDEV dev, INT mode) DECLSPEC_HIDDEN
Definition: dc.c:68
INT MFDRV_IntersectClipRect(PHYSDEV dev, INT left, INT top, INT right, INT bottom) DECLSPEC_HIDDEN
Definition: dc.c:73
BOOL MFDRV_OffsetWindowOrgEx(PHYSDEV dev, INT x, INT y, POINT *pt) DECLSPEC_HIDDEN
Definition: dc.c:118
GLint level
Definition: gl.h:1546
static HBRUSH hbrush
BOOL MFDRV_LineTo(PHYSDEV dev, INT x, INT y) DECLSPEC_HIDDEN
Definition: graphics.c:44
BOOL MFDRV_WriteRecord(PHYSDEV dev, METARECORD *mr, DWORD rlen) DECLSPEC_HIDDEN
Definition: init.c:474
_In_ ULONG iMode
Definition: winddi.h:3520
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
UINT MFDRV_AddHandle(PHYSDEV dev, HGDIOBJ obj) DECLSPEC_HIDDEN
Definition: objects.c:39
DWORD MFDRV_SetMapperFlags(PHYSDEV dev, DWORD flags) DECLSPEC_HIDDEN
Definition: dc.c:143
#define pt(x, y)
Definition: drawing.c:79
GLuint GLuint GLsizei count
Definition: gl.h:1545
BOOL MFDRV_Polygon(PHYSDEV dev, const POINT *pt, INT count) DECLSPEC_HIDDEN
Definition: graphics.c:167
INT MFDRV_SetRelAbs(PHYSDEV dev, INT mode) DECLSPEC_HIDDEN
Definition: dc.c:58
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
BOOL MFDRV_Rectangle(PHYSDEV dev, INT left, INT top, INT right, INT bottom) DECLSPEC_HIDDEN
Definition: graphics.c:93
BOOL MFDRV_OffsetViewportOrgEx(PHYSDEV dev, INT x, INT y, POINT *pt) DECLSPEC_HIDDEN
Definition: dc.c:113
int align(int length, int align)
Definition: dsound8.c:36
HFONT MFDRV_SelectFont(PHYSDEV dev, HFONT handle, UINT *aa_flags) DECLSPEC_HIDDEN
Definition: objects.c:292
BOOL MFDRV_DeleteObject(PHYSDEV dev, HGDIOBJ obj) DECLSPEC_HIDDEN
Definition: objects.c:98
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
Definition: glext.h:10929
int32_t INT
Definition: typedefs.h:56
BOOL MFDRV_ExtTextOut(PHYSDEV dev, INT x, INT y, UINT flags, const RECT *lprect, LPCWSTR str, UINT count, const INT *lpDx) DECLSPEC_HIDDEN
Definition: text.c:75
INT16 MFDRV_CreateBrushIndirect(PHYSDEV dev, HBRUSH hBrush) DECLSPEC_HIDDEN
Definition: objects.c:149
HBITMAP MFDRV_SelectBitmap(PHYSDEV dev, HBITMAP handle) DECLSPEC_HIDDEN
Definition: objects.c:140
INT MFDRV_SetDIBitsToDevice(PHYSDEV dev, INT xDest, INT yDest, DWORD cx, DWORD cy, INT xSrc, INT ySrc, UINT startscan, UINT lines, LPCVOID bits, BITMAPINFO *info, UINT coloruse) DECLSPEC_HIDDEN
Definition: bitblt.c:166
BOOL MFDRV_ScaleWindowExtEx(PHYSDEV dev, INT xNum, INT xDenom, INT yNum, INT yDenom, SIZE *size) DECLSPEC_HIDDEN
Definition: dc.c:128
INT MFDRV_SetTextCharacterExtra(PHYSDEV dev, INT extra) DECLSPEC_HIDDEN
Definition: dc.c:138
BOOL MFDRV_MetaParam1(PHYSDEV dev, short func, short param1) DECLSPEC_HIDDEN
Definition: init.c:531
BOOL MFDRV_MetaParam6(PHYSDEV dev, short func, short param1, short param2, short param3, short param4, short param5, short param6) DECLSPEC_HIDDEN
Definition: init.c:586
HPALETTE MFDRV_SelectPalette(PHYSDEV dev, HPALETTE hPalette, BOOL bForceBackground) DECLSPEC_HIDDEN
Definition: objects.c:413
BOOL MFDRV_SetTextJustification(PHYSDEV dev, INT extra, INT breaks) DECLSPEC_HIDDEN
Definition: dc.c:133
unsigned int BOOL
Definition: ntddk_ex.h:94
BOOL MFDRV_RemoveHandle(PHYSDEV dev, UINT index) DECLSPEC_HIDDEN
Definition: objects.c:64
GLuint color
Definition: glext.h:6243
COLORREF MFDRV_SetDCPenColor(PHYSDEV dev, COLORREF color) DECLSPEC_HIDDEN
Definition: dc.c:203
BOOL MFDRV_SetWindowOrgEx(PHYSDEV dev, INT x, INT y, POINT *pt) DECLSPEC_HIDDEN
Definition: dc.c:108
static int rop(int rop, int src, int dst)
Definition: nanoxwin.c:124
BOOL MFDRV_SetViewportOrgEx(PHYSDEV dev, INT x, INT y, POINT *pt) DECLSPEC_HIDDEN
Definition: dc.c:98
BOOL MFDRV_Polyline(PHYSDEV dev, const POINT *pt, INT count) DECLSPEC_HIDDEN
Definition: graphics.c:144
_Out_opt_ int _Out_opt_ int * cy
Definition: commctrl.h:570
const WCHAR * str
BOOL MFDRV_StrokeAndFillPath(PHYSDEV dev) DECLSPEC_HIDDEN
Definition: dc.c:183
BOOL MFDRV_StretchBlt(PHYSDEV devDst, struct bitblt_coords *dst, PHYSDEV devSrc, struct bitblt_coords *src, DWORD rop) DECLSPEC_HIDDEN
Definition: bitblt.c:47
GLint GLint bottom
Definition: glext.h:7726
GLuint index
Definition: glext.h:6031
COLORREF MFDRV_SetBkColor(PHYSDEV dev, COLORREF color) DECLSPEC_HIDDEN
Definition: dc.c:43
BOOL MFDRV_FlattenPath(PHYSDEV dev) DECLSPEC_HIDDEN
Definition: dc.c:173
BOOL MFDRV_SelectClipPath(PHYSDEV dev, INT iMode) DECLSPEC_HIDDEN
Definition: dc.c:178
COLORREF MFDRV_SetDCBrushColor(PHYSDEV dev, COLORREF color) DECLSPEC_HIDDEN
Definition: dc.c:198
eMaj lines
Definition: tritemp.h:206
BOOL MFDRV_BeginPath(PHYSDEV dev) DECLSPEC_HIDDEN
Definition: dc.c:153
BOOL MFDRV_ExtFloodFill(PHYSDEV dev, INT x, INT y, COLORREF color, UINT fillType) DECLSPEC_HIDDEN
Definition: graphics.c:244
GLsizeiptr size
Definition: glext.h:5919
HBRUSH MFDRV_SelectBrush(PHYSDEV dev, HBRUSH hbrush, const struct brush_pattern *pattern) DECLSPEC_HIDDEN
Definition: objects.c:236
Definition: id3.c:18
BOOL MFDRV_CloseFigure(PHYSDEV dev) DECLSPEC_HIDDEN
Definition: dc.c:158
DWORD COLORREF
Definition: windef.h:285
INT MFDRV_SetMapMode(PHYSDEV dev, INT mode) DECLSPEC_HIDDEN
Definition: dc.c:88
COLORREF MFDRV_SetPixel(PHYSDEV dev, INT x, INT y, COLORREF color) DECLSPEC_HIDDEN
Definition: graphics.c:111
unsigned long DWORD
Definition: ntddk_ex.h:95
HPEN MFDRV_SelectPen(PHYSDEV dev, HPEN handle, const struct brush_pattern *pattern) DECLSPEC_HIDDEN
Definition: objects.c:331
GLint left
Definition: glext.h:7726
BOOL MFDRV_SetWindowExtEx(PHYSDEV dev, INT x, INT y, SIZE *size) DECLSPEC_HIDDEN
Definition: dc.c:103
BOOL MFDRV_AbortPath(PHYSDEV dev) DECLSPEC_HIDDEN
Definition: dc.c:148
GLdouble GLdouble right
Definition: glext.h:10859
GLbitfield flags
Definition: glext.h:7161
BOOL MFDRV_RestoreDC(PHYSDEV dev, INT level) DECLSPEC_HIDDEN
Definition: dc.c:28
INT MFDRV_ExcludeClipRect(PHYSDEV dev, INT left, INT top, INT right, INT bottom) DECLSPEC_HIDDEN
Definition: dc.c:78
BOOL MFDRV_PolyBezier(PHYSDEV dev, const POINT *pt, DWORD count) DECLSPEC_HIDDEN
Definition: graphics.c:428
INT MFDRV_SetBkMode(PHYSDEV dev, INT mode) DECLSPEC_HIDDEN
Definition: dc.c:38
static HRGN hrgn
Definition: win.c:55
BOOL MFDRV_Arc(PHYSDEV dev, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend) DECLSPEC_HIDDEN
Definition: graphics.c:53
BOOL MFDRV_Pie(PHYSDEV dev, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend) DECLSPEC_HIDDEN
Definition: graphics.c:64
GLenum src
Definition: glext.h:6340
BOOL MFDRV_MetaParam8(PHYSDEV dev, short func, short param1, short param2, short param3, short param4, short param5, short param6, short param7, short param8) DECLSPEC_HIDDEN
Definition: init.c:608
BOOL MFDRV_FrameRgn(PHYSDEV dev, HRGN hrgn, HBRUSH hbrush, INT x, INT y) DECLSPEC_HIDDEN
Definition: graphics.c:391
GLenum mode
Definition: glext.h:6217
BOOL MFDRV_RoundRect(PHYSDEV dev, INT left, INT top, INT right, INT bottom, INT ell_width, INT ell_height) DECLSPEC_HIDDEN
Definition: graphics.c:101
BOOL MFDRV_MoveTo(PHYSDEV dev, INT x, INT y) DECLSPEC_HIDDEN
Definition: graphics.c:36
BOOL MFDRV_MetaParam0(PHYSDEV dev, short func) DECLSPEC_HIDDEN
Definition: init.c:517
INT MFDRV_SaveDC(PHYSDEV dev) DECLSPEC_HIDDEN
Definition: dc.c:23
BOOL MFDRV_StrokePath(PHYSDEV dev) DECLSPEC_HIDDEN
Definition: dc.c:188
#define DECLSPEC_HIDDEN
Definition: precomp.h:8
BOOL MFDRV_MetaParam4(PHYSDEV dev, short func, short param1, short param2, short param3, short param4) DECLSPEC_HIDDEN
Definition: init.c:565
BOOL MFDRV_Chord(PHYSDEV dev, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend) DECLSPEC_HIDDEN
Definition: graphics.c:75
BOOL MFDRV_SetViewportExtEx(PHYSDEV dev, INT x, INT y, SIZE *size) DECLSPEC_HIDDEN
Definition: dc.c:93
GLenum GLenum dst
Definition: glext.h:6340
BOOL MFDRV_PaintRgn(PHYSDEV dev, HRGN hrgn) DECLSPEC_HIDDEN
Definition: graphics.c:350
unsigned int UINT
Definition: ndis.h:50
INT MFDRV_SetROP2(PHYSDEV dev, INT rop) DECLSPEC_HIDDEN
Definition: dc.c:53
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
BOOL MFDRV_PolyPolygon(PHYSDEV dev, const POINT *pt, const INT *counts, UINT polygons) DECLSPEC_HIDDEN
Definition: graphics.c:190
BOOL MFDRV_WidenPath(PHYSDEV dev) DECLSPEC_HIDDEN
Definition: dc.c:193
BOOL MFDRV_InvertRgn(PHYSDEV dev, HRGN hrgn) DECLSPEC_HIDDEN
Definition: graphics.c:363
BOOL MFDRV_FillPath(PHYSDEV dev) DECLSPEC_HIDDEN
Definition: dc.c:168
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
BOOL MFDRV_EndPath(PHYSDEV dev) DECLSPEC_HIDDEN
Definition: dc.c:163
CONST void * LPCVOID
Definition: windef.h:191
_Out_opt_ int * cx
Definition: commctrl.h:570
BOOL MFDRV_MetaParam2(PHYSDEV dev, short func, short param1, short param2) DECLSPEC_HIDDEN
Definition: init.c:547
INT MFDRV_StretchDIBits(PHYSDEV dev, INT xDst, INT yDst, INT widthDst, INT heightDst, INT xSrc, INT ySrc, INT widthSrc, INT heightSrc, const void *bits, BITMAPINFO *info, UINT wUsage, DWORD dwRop) DECLSPEC_HIDDEN
Definition: bitblt.c:132
INT MFDRV_OffsetClipRgn(PHYSDEV dev, INT x, INT y) DECLSPEC_HIDDEN
Definition: dc.c:83
INT MFDRV_SetPolyFillMode(PHYSDEV dev, INT mode) DECLSPEC_HIDDEN
Definition: dc.c:63
static HBITMAP
Definition: button.c:44
GLdouble GLdouble GLdouble GLdouble top
Definition: glext.h:10859
BOOL MFDRV_FillRgn(PHYSDEV dev, HRGN hrgn, HBRUSH hbrush) DECLSPEC_HIDDEN
Definition: graphics.c:376
METAHEADER * mh
Definition: metafiledrv.h:36
BOOL MFDRV_Ellipse(PHYSDEV dev, INT left, INT top, INT right, INT bottom) DECLSPEC_HIDDEN
Definition: graphics.c:85
UINT MFDRV_SetTextAlign(PHYSDEV dev, UINT align) DECLSPEC_HIDDEN
Definition: dc.c:33
BOOL MFDRV_ScaleViewportExtEx(PHYSDEV dev, INT xNum, INT xDenom, INT yNum, INT yDenom, SIZE *size) DECLSPEC_HIDDEN
Definition: dc.c:123
GLubyte * pattern
Definition: glext.h:7787
UINT MFDRV_RealizePalette(PHYSDEV dev, HPALETTE hPalette, BOOL primary) DECLSPEC_HIDDEN
Definition: objects.c:449
COLORREF MFDRV_SetTextColor(PHYSDEV dev, COLORREF color) DECLSPEC_HIDDEN
Definition: dc.c:48
BOOL MFDRV_PatBlt(PHYSDEV dev, struct bitblt_coords *dst, DWORD rop) DECLSPEC_HIDDEN
Definition: bitblt.c:31
signed short INT16