ReactOS 0.4.15-dev-8428-g6910fa6
gdi_private.h
Go to the documentation of this file.
1/*
2 * GDI definitions
3 *
4 * Copyright 1993 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_GDI_PRIVATE_H
22#define __WINE_GDI_PRIVATE_H
23
24#include <limits.h>
25#include <math.h>
26#include "windef.h"
27#include "winbase.h"
28#include "wingdi.h"
29
30#ifndef _NTGDITYP_
31typedef enum GDILoObjType
32{
51#endif
52
53#define GDI_HANDLE_TYPE_MASK 0x007f0000
54#define GDI_HANDLE_GET_TYPE(h) \
55 (((ULONG_PTR)(h)) & GDI_HANDLE_TYPE_MASK)
56
59#define GdiWorldSpaceToDeviceSpace 0x204
61/* Get/SetBounds/Rect support. */
62#define DCB_WINDOWMGR 0x8000 /* Queries the Windows bounding rectangle instead of the application's */
65
69
70/* Metafile defines */
71#define META_EOF 0x0000
72/* values of mtType in METAHEADER. Note however that the disk image of a disk
73 based metafile has mtType == 1 */
74#define METAFILE_MEMORY 1
75#define METAFILE_DISK 2
76#define MFHEADERSIZE (sizeof(METAHEADER))
77#define MFVERSION 0x300
78
79typedef struct {
84
85typedef struct tagEMRESCAPE {
91
93
95{
101};
102
103/* DC_ATTR LCD Types */
104#define LDC_LDC 0x00000001
105#define LDC_EMFLDC 0x00000002
106
107typedef struct emf *PEMF;
108
109typedef struct tagWINEDC
110{
114 PEMF emf; /* Pointer to ENHMETAFILE structure */
128 HBRUSH hBrush;
129 HPEN hPen;
134
135static inline BOOL is_meta_dc( HDC hdc )
136{
138}
139
140
141/* brush.c */
143
144/* dc.c */
149
150/* dib.c */
151extern int bitmap_info_size( const BITMAPINFO * info, WORD coloruse ) DECLSPEC_HIDDEN;
152
153/* enhmetafile.c */
154extern HENHMETAFILE EMF_Create_HENHMETAFILE(ENHMETAHEADER *emh, DWORD filesize, BOOL on_disk ) DECLSPEC_HIDDEN;
155
156/* gdiobj.c */
164
165/* metafile.c */
168
169/* Format of comment record added by GetWinMetaFileBits */
170#include <pshpack2.h>
171typedef struct
172{
173 DWORD magic; /* WMFC */
174 DWORD comment_type; /* Always 0x00000001 */
175 DWORD version; /* Always 0x00010000 */
177 DWORD flags; /* Always 0 */
182 BYTE emf_data[1];
184#include <poppack.h>
185
186#define WMFC_MAGIC 0x43464d57
187/* palette.c */
188extern HPALETTE WINAPI GDISelectPalette( HDC hdc, HPALETTE hpal, WORD wBkg) DECLSPEC_HIDDEN;
190
192
193#define EMR_SETLINKEDUFI 119
194
195/* Undocumented value for DIB's iUsage: Indicates a mono DIB w/o pal entries */
196#define DIB_PAL_MONO 2
197
198BOOL WINAPI SetVirtualResolution(HDC hdc, DWORD horz_res, DWORD vert_res, DWORD horz_size, DWORD vert_size);
199
200static inline int get_dib_stride( int width, int bpp )
201{
202 return ((width * bpp + 31) >> 3) & ~3;
203}
204
205static inline int get_dib_image_size( const BITMAPINFO *info )
206{
207 return get_dib_stride( info->bmiHeader.biWidth, info->bmiHeader.biBitCount )
208 * abs( info->bmiHeader.biHeight );
209}
210
211/* only for use on sanitized BITMAPINFO structures */
212static inline int get_dib_info_size( const BITMAPINFO *info, UINT coloruse )
213{
214 if (info->bmiHeader.biCompression == BI_BITFIELDS)
215 return sizeof(BITMAPINFOHEADER) + 3 * sizeof(DWORD);
216 if (coloruse == DIB_PAL_COLORS)
217 return sizeof(BITMAPINFOHEADER) + info->bmiHeader.biClrUsed * sizeof(WORD);
218 return FIELD_OFFSET( BITMAPINFO, bmiColors[info->bmiHeader.biClrUsed] );
219}
220
221#define GdiWorldSpaceToDeviceSpace 0x204
223
224/* Special sauce for reactos */
225#define GDIRealizePalette RealizePalette
226#define GDISelectPalette SelectPalette
227
229#define get_full_gdi_handle GdiFixUpHandle
230
231#if 0
232BOOL WINAPI SetWorldTransformForMetafile(HDC hdc, const XFORM *pxform);
233#define SetWorldTransform SetWorldTransformForMetafile
234#endif
235#ifdef _M_ARM
236#define DbgRaiseAssertionFailure() __emit(0xdefc)
237#else
238#define DbgRaiseAssertionFailure() __int2c()
239#endif // _M_ARM
240
241#undef ASSERT
242#define ASSERT(x) if (!(x)) DbgRaiseAssertionFailure()
243
245BOOL EMFDRV_RoundRect( WINEDC *dc, INT left, INT top, INT right, INT bottom, INT ell_width, INT ell_height );
246BOOL EMFDRV_ArcChordPie( WINEDC *dc, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend, DWORD type );
247BOOL EMFDRV_Arc( WINEDC *dc, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend );
248BOOL EMFDRV_ArcTo( WINEDC *dc, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend );
249BOOL EMFDRV_Pie( WINEDC *dc, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend );
250BOOL EMFDRV_Chord( WINEDC *dc, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend );
257BOOL EMFDRV_PolyPolyline( WINEDC *dc, const POINT *pt, const DWORD *counts, UINT polys );
258BOOL EMFDRV_PolyPolygon( WINEDC *dc, const POINT *pt, const INT *counts, UINT polys );
259BOOL EMFDRV_PolyDraw( WINEDC *dc, const POINT *pts, const BYTE *types, DWORD count );
260BOOL EMFDRV_FillRgn( WINEDC *dc, HRGN hrgn, HBRUSH hbrush );
263BOOL EMFDRV_ExtTextOut( WINEDC *dc, INT x, INT y, UINT flags, const RECT *lprect,LPCWSTR str, UINT count, const INT *lpDx );
264BOOL EMFDRV_GradientFill( WINEDC *dc, TRIVERTEX *vert_array, ULONG nvert, void *grad_array, ULONG ngrad, ULONG mode );
268BOOL EMFDRV_AlphaBlend( WINEDC *dc_dst, INT x_dst, INT y_dst, INT width_dst, INT height_dst,HDC dc_src, INT x_src, INT y_src, INT width_src, INT height_src, BLENDFUNCTION func );
270INT EMFDRV_StretchDIBits( WINEDC *dc, INT x_dst, INT y_dst, INT width_dst,INT height_dst, INT x_src, INT y_src, INT width_src, INT height_src, const void *bits, BITMAPINFO *info, UINT wUsage, DWORD dwRop );
271INT EMFDRV_SetDIBitsToDevice( WINEDC *dc, INT x_dst, INT y_dst, DWORD width, DWORD height, INT x_src, INT y_src, UINT startscan, UINT lines, const void *bits, BITMAPINFO *info, UINT usage );
273
274
275#endif /* __WINE_GDI_PRIVATE_H */
276
static HRGN hrgn
static HBRUSH hbrush
static HBITMAP hbitmap
DWORD bpp
Definition: surface.c:185
#define APIENTRY
Definition: api.h:79
#define DECLSPEC_HIDDEN
Definition: precomp.h:8
#define pt(x, y)
Definition: drawing.c:79
#define abs(i)
Definition: fconv.c:206
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned short WORD
Definition: ntddk_ex.h:93
BOOL WINAPI SetVirtualResolution(HDC hdc, DWORD horz_res, DWORD vert_res, DWORD horz_size, DWORD vert_size)
Definition: rosglue.c:278
HENHMETAFILE EMF_Create_HENHMETAFILE(ENHMETAHEADER *emh, DWORD filesize, BOOL on_disk) DECLSPEC_HIDDEN
Definition: enhmetafile.c:259
struct tagEMRESCAPE * PEMRESCAPE
struct tagEMRESCAPE * PEMRNAMEDESCAPE
HBITMAP EMFDRV_SelectBitmap(WINEDC *dc, HBITMAP hbitmap)
Definition: emfdrv.c:426
struct tagEMRESCAPE EMRNAMEDESCAPE
static int get_dib_stride(int width, int bpp)
Definition: gdi_private.h:200
HRGN APIENTRY NtGdiPathToRegion(_In_ HDC hdc)
BOOL EMFDRV_PatBlt(WINEDC *dc, INT left, INT top, INT width, INT height, DWORD rop)
Definition: emfdrv.c:402
HGDIOBJ WINAPI GdiCreateClientObj(_In_ PVOID pvObject, _In_ GDILOOBJTYPE eObjType)
Definition: clientobj.c:148
BOOL EMFDRV_FrameRgn(WINEDC *dc, HRGN hrgn, HBRUSH hbrush, INT width, INT height)
Definition: emfdrv.c:350
BOOL EMFDRV_PolyBezier(WINEDC *dc, const POINT *pts, DWORD count)
Definition: emfdrv.c:311
BOOL EMFDRV_InvertRgn(WINEDC *dc, HRGN hrgn)
Definition: emfdrv.c:356
METAHEADER * MF_CreateMetaHeaderDisk(METAHEADER *mr, LPCVOID filename, BOOL unicode) DECLSPEC_HIDDEN
Definition: metafile.c:271
struct tagWINEDC WINEDC
BOOL EMFDRV_Ellipse(WINEDC *dc, INT left, INT top, INT right, INT bottom)
Definition: emfdrv.c:255
HGDIOBJ WINAPI GdiFixUpHandle(HGDIOBJ hGdiObj)
Definition: misc.c:734
BOOL EMFDRV_StrokeAndFillPath(WINEDC *dc)
Definition: emfdrv.c:382
#define GDIRealizePalette
Definition: gdi_private.h:225
BOOL WINAPI GetBoundsRectAlt(HDC hdc, LPRECT prc, UINT flags)
Definition: misc.c:1068
#define GDI_HANDLE_GET_TYPE(h)
Definition: gdi_private.h:54
#define GDISelectPalette
Definition: gdi_private.h:226
BOOL EMFDRV_AlphaBlend(WINEDC *dc_dst, INT x_dst, INT y_dst, INT width_dst, INT height_dst, HDC dc_src, INT x_src, INT y_src, INT width_src, INT height_src, BLENDFUNCTION func)
Definition: emfdrv.c:394
BOOL EMFDRV_Pie(WINEDC *dc, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend)
Definition: emfdrv.c:241
BOOL EMFDRV_Arc(WINEDC *dc, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend)
Definition: emfdrv.c:227
BOOL EMFDRV_ArcTo(WINEDC *dc, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend)
Definition: emfdrv.c:234
struct tagWINEDC DC
BOOL EMFDRV_Rectangle(WINEDC *dc, INT left, INT top, INT right, INT bottom)
Definition: emfdrv.c:275
BOOL EMFDRV_FillRgn(WINEDC *dc, HRGN hrgn, HBRUSH hbrush)
Definition: emfdrv.c:344
#define get_full_gdi_handle
Definition: gdi_private.h:229
void GDI_hdc_using_object(HGDIOBJ obj, HDC hdc) DECLSPEC_HIDDEN
Definition: rosglue.c:166
BOOL EMFDRV_LineTo(WINEDC *dc, INT x, INT y)
Definition: emfdrv.c:83
struct tagEMRESCAPE EMRESCAPE
COLORREF EMFDRV_SetPixel(WINEDC *dc, INT x, INT y, COLORREF color)
Definition: emfdrv.c:295
void GDI_hdc_not_using_object(HGDIOBJ obj, HDC hdc) DECLSPEC_HIDDEN
Definition: rosglue.c:182
BOOL WINAPI SetBoundsRectAlt(HDC hdc, LPRECT prc, UINT flags)
Definition: misc.c:1075
DWORD WINAPI GetDCDWord(_In_ HDC hdc, _In_ UINT u, _In_ DWORD dwError)
Definition: dc.c:787
PVOID WINAPI GdiGetClientObjLink(_In_ HGDIOBJ hobj)
Definition: clientobj.c:61
void release_dc_ptr(DC *dc) DECLSPEC_HIDDEN
DC * alloc_dc_ptr(WORD magic) DECLSPEC_HIDDEN
Definition: rosglue.c:106
enum GDILoObjType * PGDILOOBJTYPE
struct EMRSETTEXTJUSTIFICATION * PEMRSETTEXTJUSTIFICATION
BOOL EMFDRV_GradientFill(WINEDC *dc, TRIVERTEX *vert_array, ULONG nvert, void *grad_array, ULONG ngrad, ULONG mode)
Definition: emfdrv.c:369
void * free_gdi_handle(HGDIOBJ handle) DECLSPEC_HIDDEN
Definition: rosglue.c:59
BOOL EMFDRV_PolylineTo(WINEDC *dc, const POINT *pt, INT count)
Definition: emfdrv.c:305
BOOL APIENTRY NtGdiGetTransform(_In_ HDC hdc, _In_ DWORD iXform, _Out_ LPXFORM pxf)
static int get_dib_info_size(const BITMAPINFO *info, UINT coloruse)
Definition: gdi_private.h:212
int bitmap_info_size(const BITMAPINFO *info, WORD coloruse) DECLSPEC_HIDDEN
Definition: rosglue.c:199
HMETAFILE MF_Create_HMETAFILE(METAHEADER *mh) DECLSPEC_HIDDEN
Definition: metafile.c:107
GDILoObjType
Definition: gdi_private.h:32
@ GDILoObjType_LO_FONT_TYPE
Definition: gdi_private.h:37
@ GDILoObjType_LO_PALETTE_TYPE
Definition: gdi_private.h:36
@ GDILoObjType_LO_UMPD_TYPE
Definition: gdi_private.h:41
@ GDILoObjType_LO_CLIENTOBJ_TYPE
Definition: gdi_private.h:40
@ GDILoObjType_LO_BRUSH_TYPE
Definition: gdi_private.h:33
@ GDILoObjType_LO_BITMAP_TYPE
Definition: gdi_private.h:35
@ GDILoObjType_LO_METAFILE_TYPE
Definition: gdi_private.h:48
@ GDILoObjType_LO_METADC16_TYPE
Definition: gdi_private.h:49
@ GDILoObjType_LO_REGION_TYPE
Definition: gdi_private.h:38
@ GDILoObjType_LO_EXTPEN_TYPE
Definition: gdi_private.h:45
@ GDILoObjType_LO_METAFILE16_TYPE
Definition: gdi_private.h:47
@ GDILoObjType_LO_ICMLCS_TYPE
Definition: gdi_private.h:39
@ GDILoObjType_LO_DC_TYPE
Definition: gdi_private.h:34
@ GDILoObjType_LO_PEN_TYPE
Definition: gdi_private.h:44
@ GDILoObjType_LO_META_TYPE
Definition: gdi_private.h:42
@ GDILoObjType_LO_ALTDC_TYPE
Definition: gdi_private.h:43
@ GDILoObjType_LO_DIBSECTION_TYPE
Definition: gdi_private.h:46
BOOL EMFDRV_StrokePath(WINEDC *dc)
Definition: emfdrv.c:388
BOOL EMFDRV_PolyPolygon(WINEDC *dc, const POINT *pt, const INT *counts, UINT polys)
Definition: emfdrv.c:330
INT EMFDRV_StretchDIBits(WINEDC *dc, INT x_dst, INT y_dst, INT width_dst, INT height_dst, INT x_src, INT y_src, INT width_src, INT height_src, const void *bits, BITMAPINFO *info, UINT wUsage, DWORD dwRop)
Definition: emfdrv.c:408
static BOOL is_meta_dc(HDC hdc)
Definition: gdi_private.h:135
BOOL EMFDRV_PolyBezierTo(WINEDC *dc, const POINT *pts, DWORD count)
Definition: emfdrv.c:317
void GDI_ReleaseObj(HGDIOBJ) DECLSPEC_HIDDEN
Definition: rosglue.c:100
BOOL EMFDRV_ArcChordPie(WINEDC *dc, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend, DWORD type)
Definition: emfdrv.c:120
INT EMFDRV_SetDIBitsToDevice(WINEDC *dc, INT x_dst, INT y_dst, DWORD width, DWORD height, INT x_src, INT y_src, UINT startscan, UINT lines, const void *bits, BITMAPINFO *info, UINT usage)
Definition: emfdrv.c:417
void free_dc_ptr(DC *dc) DECLSPEC_HIDDEN
PVOID WINAPI GdiDeleteClientObj(_In_ HGDIOBJ hobj)
Definition: clientobj.c:173
BOOL EMFDRV_Chord(WINEDC *dc, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend)
Definition: emfdrv.c:248
HGDIOBJ alloc_gdi_handle(void *obj, WORD type, const struct gdi_obj_funcs *funcs) DECLSPEC_HIDDEN
INT WINAPI NamedEscape(HDC, PWCHAR, INT, INT, LPSTR, INT, LPSTR)
Definition: misc.c:229
enum GDILoObjType GDILOOBJTYPE
BOOL get_brush_bitmap_info(HBRUSH handle, BITMAPINFO *info, void *bits, UINT *usage) DECLSPEC_HIDDEN
void * GDI_GetObjPtr(HGDIOBJ, WORD) DECLSPEC_HIDDEN
Definition: rosglue.c:66
HDC APIENTRY NtGdiCreateMetafileDC(_In_ HDC hdc)
BOOL EMFDRV_PolyDraw(WINEDC *dc, const POINT *pts, const BYTE *types, DWORD count)
Definition: emfdrv.c:337
DC * get_dc_ptr(HDC hdc) DECLSPEC_HIDDEN
Definition: rosglue.c:147
BOOL EMFDRV_ExtTextOut(WINEDC *dc, INT x, INT y, UINT flags, const RECT *lprect, LPCWSTR str, UINT count, const INT *lpDx)
Definition: emfdrv.c:362
static int get_dib_image_size(const BITMAPINFO *info)
Definition: gdi_private.h:205
struct emf * PEMF
Definition: gdi_private.h:107
BOOL EMFDRV_FillPath(WINEDC *dc)
Definition: emfdrv.c:376
BOOL EMFDRV_RoundRect(WINEDC *dc, INT left, INT top, INT right, INT bottom, INT ell_width, INT ell_height)
Definition: emfdrv.c:99
BOOL EMFDRV_PolyPolyline(WINEDC *dc, const POINT *pt, const DWORD *counts, UINT polys)
Definition: emfdrv.c:323
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLint GLint GLsizei GLsizei height
Definition: gl.h:1546
GLint GLint GLsizei width
Definition: gl.h:1546
GLenum func
Definition: glext.h:6028
GLuint buffer
Definition: glext.h:5915
GLuint color
Definition: glext.h:6243
GLdouble GLdouble GLdouble GLdouble top
Definition: glext.h:10859
GLdouble GLdouble right
Definition: glext.h:10859
GLenum mode
Definition: glext.h:6217
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
Definition: glext.h:10929
GLint left
Definition: glext.h:7726
GLbitfield flags
Definition: glext.h:7161
GLint GLint bottom
Definition: glext.h:7726
GLsizeiptr const GLvoid GLenum usage
Definition: glext.h:5919
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 * u
Definition: glfuncs.h:240
const char * filename
Definition: ioapi.h:137
static const WCHAR dc[]
#define BI_BITFIELDS
Definition: mmreg.h:507
HDC hdc
Definition: main.c:9
static HBITMAP
Definition: button.c:44
static HDC
Definition: imagelist.c:92
#define _Out_
Definition: ms_sal.h:345
#define _In_
Definition: ms_sal.h:308
static int rop(int rop, int src, int dst)
Definition: nanoxwin.c:124
unsigned int UINT
Definition: ndis.h:50
u32_t magic(void)
#define BOOL
Definition: nt_native.h:43
_Out_ LPRECT prc
Definition: ntgdi.h:1658
_In_ DWORD _Out_ LPXFORM pxf
Definition: ntgdi.h:2252
_In_ DWORD iXform
Definition: ntgdi.h:2251
#define INT
Definition: polytest.cpp:20
const WCHAR * str
static struct __wine_debug_functions funcs
Definition: debug.c:59
Definition: polytest.cpp:41
Definition: typedefs.h:120
Definition: emfdc.c:45
BOOL(* pDeleteObject)(HGDIOBJ handle)
Definition: gdi_private.h:100
BOOL(* pUnrealizeObject)(HGDIOBJ handle)
Definition: gdi_private.h:99
INT(* pGetObjectA)(HGDIOBJ handle, INT count, LPVOID buffer)
Definition: gdi_private.h:97
HGDIOBJ(* pSelectObject)(HGDIOBJ handle, HDC hdc)
Definition: gdi_private.h:96
INT(* pGetObjectW)(HGDIOBJ handle, INT count, LPVOID buffer)
Definition: gdi_private.h:98
ULONG cjSize
Definition: gdi_private.h:125
PVOID pUMPDev
Definition: gdi_private.h:120
ABORTPROC pAbortProc
Definition: gdi_private.h:116
LPWSTR pwszPort
Definition: gdi_private.h:115
INT save_level
Definition: gdi_private.h:131
ULONG DevCaps[36]
Definition: gdi_private.h:127
PVOID pUMdhpdev
Definition: gdi_private.h:121
PVOID UFIHashTable[3]
Definition: gdi_private.h:122
ULONG Flags
Definition: gdi_private.h:112
ULONG ufi[2]
Definition: gdi_private.h:123
LIST_ENTRY leRecords
Definition: gdi_private.h:126
HBRUSH hBrush
Definition: gdi_private.h:128
PVOID pvEMFSpoolData
Definition: gdi_private.h:124
PDEVMODEW pdm
Definition: gdi_private.h:119
DWORD CallBackTick
Definition: gdi_private.h:117
RECTL emf_bounds
Definition: gdi_private.h:132
HANDLE hPrinter
Definition: gdi_private.h:118
Definition: cmds.c:130
eMaj lines
Definition: tritemp.h:206
#define FIELD_OFFSET(t, f)
Definition: typedefs.h:255
int32_t INT
Definition: typedefs.h:58
uint16_t * PWCHAR
Definition: typedefs.h:56
uint32_t ULONG
Definition: typedefs.h:59
void * HGDIOBJ
Definition: windef.h:252
DWORD COLORREF
Definition: windef.h:300
CONST void * LPCVOID
Definition: windef.h:191
#define WINAPI
Definition: msvc.h:6
BOOL(CALLBACK * ABORTPROC)(HDC, int)
Definition: wingdi.h:2911
#define DIB_PAL_COLORS
Definition: wingdi.h:366
char * LPSTR
Definition: xmlstorage.h:182
WCHAR * LPWSTR
Definition: xmlstorage.h:184
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
unsigned char BYTE
Definition: xxhash.c:193