ReactOS 0.4.15-dev-8236-g99f0937
gdi32p.h
Go to the documentation of this file.
1/*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS System Libraries
4 * FILE: win32ss/gdi/gdi32/include/gdi32p.h
5 * PURPOSE: User-Mode Win32 GDI Library Private Header
6 * PROGRAMMER: Alex Ionescu (alex@relsoft.net)
7 */
8
9#pragma once
10
11/* DATA **********************************************************************/
12
15extern HANDLE hProcessHeap;
18extern PDEVCAPS GdiDevCaps;
19extern BOOL gbLpk; // Global bool LanguagePack
20extern HANDLE ghSpooler;
22
23typedef INT
25 HDC hdc,
26 INT iFunction,
27 HANDLE hPageQuery
28);
29
30typedef BOOL
31(WINAPI* LPKETO)(
32 HDC hdc,
33 int x,
34 int y,
35 UINT fuOptions,
36 const RECT *lprc,
37 LPCWSTR lpString,
38 UINT uCount,
39 const INT *lpDx,
41);
42
43typedef DWORD
44(WINAPI* LPKGCP)(
45 HDC hdc,
46 LPCWSTR lpString,
47 INT uCount,
48 INT nMaxExtent,
49 LPGCP_RESULTSW lpResults,
51 DWORD dwUnused
52);
53
54typedef BOOL
56 HDC hdc,
57 LPCWSTR lpString,
58 INT cString,
59 INT nMaxExtent,
60 LPINT lpnFit,
61 LPINT lpnDx,
62 LPSIZE lpSize,
63 DWORD dwUnused,
64 int unknown
65);
66
67extern HINSTANCE hLpk;
71
72/* DEFINES *******************************************************************/
73
74#define HANDLE_LIST_INC 20
75
76#define METAFILE_MEMORY 1
77#define METAFILE_DISK 2
78
79#define SAPCALLBACKDELAY 244
80
81#define LPK_INIT 1
82#define LPK_ETO 2
83#define LPK_GCP 3
84#define LPK_GTEP 4
85
86/* MACRO ********************************************************************/
87
88#define ROP_USES_SOURCE(Rop) (((Rop) << 2 ^ Rop) & 0xCC0000)
89#define RCAST(_Type, _Value) (*((_Type*)&_Value))
90
91
92/* TYPES *********************************************************************/
93
94// Based on wmfapi.h and Wine.
95typedef struct tagMETAFILEDC
96{
104 HPEN hPen;
105 HBRUSH hBrush;
108 HPALETTE hPalette;
117 HCOLORSPACE hColorSpace;
120
121// Metafile Entry handle
122typedef struct tagMF_ENTRY
123{
125 HGDIOBJ hmDC; // Handle return from NtGdiCreateClientObj.
128
129typedef struct tagENHMETAFILE
130{
132 HANDLE hFile; /* Handle for disk based MetaFile */
147
148
149#define PDEV_UMPD_ID 0xFEDCBA98
150// UMPDEV flags
151#define UMPDEV_NO_ESCAPE 0x0002
152#define UMPDEV_SUPPORT_ESCAPE 0x0004
153typedef struct _UMPDEV
154{
155 DWORD_PTR Sig; // Init with PDEV_UMPD_ID
161 DWORD dwConfigVersion; // Number of times the configuration
162 // file for this driver has been upgraded
163 // or downgraded since the last spooler restart.
164 DWORD dwDriverCount; // After init should be 2
168 PVOID apfn[INDEX_LAST]; // Print Driver pfn
170
171#define LOCALFONT_COUNT 10
172typedef struct _LOCALFONT
173{
176
177// sdk/winspool.h
195// ddk/winsplp.h
198// Same as ddk/winsplp.h DriverUnloadComplete?
200// Driver support:
201// DrvDocumentEvent api/winddiui.h not W2k8 DocumentEventAW
203// DrvQueryColorProfile
205// Unknown:
208
211
212/* FUNCTIONS *****************************************************************/
213
214PVOID
216
219 LPWSTR* ppszW,
220 LPCSTR lpszA
221);
222
223VOID
225
226VOID
229 const TEXTMETRICW *ptmW,
230 LPTEXTMETRICA ptmA
231);
232
233VOID
236 NEWTEXTMETRICA *tma,
237 NEWTEXTMETRICW *tmw
238);
239
240VOID
243 NEWTEXTMETRICEXA *tma,
245);
246
247BOOL
250
251BOOL
252WINAPI
254
255BOOL
257 HGDIOBJ hGdiObj,
260);
261
262PLDC
265
266BOOL
268GdiSetLDC(HDC hdc, PVOID pvLDC);
269
271WINAPI
273
274BOOL
275WINAPI
277 CONST BITMAPINFOHEADER *BitmapInfoHeader,
278 UINT *ColorSpec,
279 UINT *ColorTableSize
280);
281
283WINAPI
285 CONST BITMAPINFO *BitmapInfo,
286 UINT ColorSpec,
287 UINT *BitmapInfoSize,
288 BOOL FollowedByData
289);
290
291DWORD
292WINAPI
294 _In_ HDC hdc,
295 _In_ UINT u,
297 _In_ ULONG ulMFId,
298 _In_ USHORT usMF16Id,
299 _In_ DWORD dwError);
300
301DWORD
302WINAPI
304 _In_ HDC hdc,
305 _In_ UINT u,
306 _In_ DWORD dwError);
307
309WINAPI
311
312VOID
313NTAPI
315 LPLOGFONTW pW,
316 CONST LOGFONTA *pA
317);
318
319VOID
320NTAPI
322 LPLOGFONTA pA,
323 CONST LOGFONTW *pW
324);
325
326VOID
327WINAPI
329 LPENUMLOGFONTEXA fontA,
331
332BOOL
333WINAPI
334LoadLPK(
335 INT LpkFunctionID
336);
337
338VOID
339WINAPI
341 _In_ DWORD InitParam);
342
343VOID
344WINAPI
346 _In_ FARPROC *hookfuncs);
347
348BOOL
349WINAPI
351 EXTTEXTMETRIC *petm);
352
353/* FIXME: Put in some public header */
354UINT
355WINAPI
357
358int
359WINAPI
361
362VOID
363WINAPI
364GdiSetLastError( DWORD dwErrCode );
365
367
368int
369WINAPI
371
374
378
380PVOID
382 HDC hdc,
383 USHORT Cmd)
384{
385 PTEB pTeb;
387 PGDIBATCHHDR pHdr;
388
389 /* Get a pointer to the TEB */
390 pTeb = NtCurrentTeb();
391
392 /* Check if we have a valid environment */
393 if (!pTeb || !pTeb->Win32ThreadInfo) return NULL;
394
395 /* Get the size of the entry */
396 if (Cmd == GdiBCPatBlt) cjSize = sizeof(GDIBSPATBLT);
397 else if (Cmd == GdiBCPolyPatBlt) cjSize = sizeof(GDIBSPPATBLT);
398 else if (Cmd == GdiBCTextOut) cjSize = sizeof(GDIBSTEXTOUT);
399 else if (Cmd == GdiBCExtTextOut) cjSize = sizeof(GDIBSEXTTEXTOUT);
400 else if (Cmd == GdiBCSetBrushOrg) cjSize = sizeof(GDIBSSETBRHORG);
401 else if (Cmd == GdiBCExtSelClipRgn) cjSize = sizeof(GDIBSEXTSELCLPRGN);
402 else if (Cmd == GdiBCSelObj) cjSize = sizeof(GDIBSOBJECT);
403 else if (Cmd == GdiBCDelRgn) cjSize = sizeof(GDIBSOBJECT);
404 else if (Cmd == GdiBCDelObj) cjSize = sizeof(GDIBSOBJECT);
405 else cjSize = 0;
406
407 /* Unsupported operation */
408 if (cjSize == 0) return NULL;
409
410 /* Do we use a DC? */
411 if (hdc)
412 {
413 /* If the batch DC is NULL, we set this one as the new one */
414 if (!pTeb->GdiTebBatch.HDC) pTeb->GdiTebBatch.HDC = hdc;
415
416 /* If not, check if the batch DC equal to our DC */
417 else if (pTeb->GdiTebBatch.HDC != hdc) return NULL;
418 }
419
420 /* Check if the buffer is full */
421 if ((pTeb->GdiBatchCount >= GDI_BatchLimit) ||
423 {
424 /* Call win32k, the kernel will call NtGdiFlushUserBatch to flush
425 the current batch */
426 NtGdiFlush();
427
428 // If Flushed, lose the hDC for this batch job! See CORE-15839.
429 if (hdc)
430 {
431 if (!pTeb->GdiTebBatch.HDC) pTeb->GdiTebBatch.HDC = hdc;
432 }
433 }
434
435 /* Get the head of the entry */
436 pHdr = (PVOID)((PUCHAR)pTeb->GdiTebBatch.Buffer + pTeb->GdiTebBatch.Offset);
437
438 /* Update Offset and batch count */
439 pTeb->GdiTebBatch.Offset += cjSize;
440 pTeb->GdiBatchCount++;
441
442 /* Fill in the core fields */
443 pHdr->Cmd = Cmd;
444 pHdr->Size = cjSize;
445
446 return pHdr;
447}
448
452{
453 GDILOOBJTYPE eDcObjType;
454 PDC_ATTR pdcattr;
455
456 /* Check DC object type */
457 eDcObjType = GDI_HANDLE_GET_TYPE(hdc);
458 if ((eDcObjType != GDILoObjType_LO_DC_TYPE) &&
459 (eDcObjType != GDILoObjType_LO_ALTDC_TYPE))
460 {
461 return NULL;
462 }
463
464 /* Get the DC attribute */
465 if (!GdiGetHandleUserData((HGDIOBJ)hdc, eDcObjType, (PVOID*)&pdcattr))
466 {
467 return NULL;
468 }
469
470 return pdcattr;
471}
472
476{
477 PRGN_ATTR prgnattr;
478
479 /* Get the region attribute */
481 {
482 return NULL;
483 }
484
485 return prgnattr;
486}
487
488#ifdef _M_IX86
490#define FOtoF(pfo) EFtoF((EFLOAT_S*)pfo)
491#else
492#define FOtoF(pfo) (*(pfo))
493#endif
494
495/* This is an inlined version of lrintf. */
497int
498_lrintf(float f)
499{
500#if defined(_M_IX86) && defined(__GNUC__)
501 int result;
502 __asm__ __volatile__ ("fistpl %0" : "=m" (result) : "t" (f) : "st");
503 return result;
504#elif defined(_M_IX86) && defined(_MSC_VER)
505 int result;
506 __asm
507 {
508 fld f;
509 fistp result;
510 }
511#else
512 /* slow, but portable */
513 return (int)(f >= 0 ? f+0.5 : f-0.5);
514#endif
515}
516
517HBRUSH
518WINAPI
520 _In_ HDC hdc,
521 _In_ HBRUSH hbr);
522
523HPEN
524WINAPI
526 _In_ HDC hdc,
527 _In_ HPEN hpen);
528
529HFONT
530WINAPI
532 _In_ HDC hdc,
534
536WINAPI
538 _In_ PVOID pvObject,
539 _In_ GDILOOBJTYPE eObjType);
540
541PVOID
542WINAPI
544 _In_ HGDIOBJ hobj);
545
546BOOL
547WINAPI
549 _In_ HGDIOBJ hobj,
550 _In_ PVOID pvObject);
551
552PVOID
553WINAPI
555 _In_ HGDIOBJ hobj);
556
557PVOID
558WINAPI
560 _In_ HGDIOBJ hobj);
561
562extern ULONG gcClientObj;
563
564VOID
565WINAPI
567
568BOOL
569WINAPI
571 _In_ HDC hdc);
572
574
575BOOL
576WINAPI
578 HDC hdc,
579 INT x,
580 INT y,
581 UINT fuOptions,
582 const RECT *lprc,
583 LPCWSTR lpString,
584 UINT cchString,
585 const INT *lpDx);
586
587
588/* The following METADC_* functions follow this pattern: */
589#define HANDLE_METADC(_RetType, _Func, dwError, hdc, ...) \
590 if (GDI_HANDLE_GET_TYPE(hdc) != GDILoObjType_LO_DC_TYPE) \
591 { \
592 if (GDI_HANDLE_GET_TYPE(hdc) == GDILoObjType_LO_METADC16_TYPE) \
593 { \
594 return (_RetType)METADC_##_Func(hdc, __VA_ARGS__); \
595 } \
596 else \
597 { \
598 PLDC pLDC = GdiGetLDC(hdc); \
599 _RetType _Ret = dwError; \
600 if ( !pLDC ) \
601 { \
602 SetLastError(ERROR_INVALID_HANDLE); \
603 return (_RetType)_Ret; \
604 } \
605 if ( pLDC->iType == LDC_EMFLDC && !(EMFDC_##_Func(pLDC, __VA_ARGS__)) ) \
606 { \
607 return (_RetType)_Ret; \
608 } \
609 /* Fall through to support information DC's.*/ \
610 } \
611 }
612
613#define HANDLE_METADC16(_RetType, _Func, dwError, hdc, ...) \
614 if (GDI_HANDLE_GET_TYPE(hdc) != GDILoObjType_LO_DC_TYPE) \
615 { \
616 if (GDI_HANDLE_GET_TYPE(hdc) == GDILoObjType_LO_METADC16_TYPE) \
617 { \
618 return METADC_##_Func(hdc, __VA_ARGS__); \
619 } \
620 }
621
622#define HANDLE_METADC0P(_RetType, _Func, dwError, hdc, ...) \
623 if (GDI_HANDLE_GET_TYPE(hdc) != GDILoObjType_LO_DC_TYPE) \
624 { \
625 PLDC pLDC = NULL; \
626 _RetType _Ret = dwError; \
627 if (GDI_HANDLE_GET_TYPE(hdc) == GDILoObjType_LO_METADC16_TYPE) \
628 { \
629 return (_RetType)_Ret; \
630 } \
631 pLDC = GdiGetLDC(hdc); \
632 if ( !pLDC ) \
633 { \
634 SetLastError(ERROR_INVALID_HANDLE); \
635 return (_RetType)_Ret; \
636 } \
637 if ( pLDC->iType == LDC_EMFLDC && !(EMFDC_##_Func(pLDC)) ) \
638 { \
639 return (_RetType)_Ret; \
640 } \
641 /* Fall through to support information DC's.*/ \
642 }
643
644#define HANDLE_EMETAFDC(_RetType, _Func, dwError, hdc, ...) \
645 if (GDI_HANDLE_GET_TYPE(hdc) != GDILoObjType_LO_DC_TYPE) \
646 { \
647 PLDC pLDC = NULL; \
648 _RetType _Ret = dwError; \
649 if (GDI_HANDLE_GET_TYPE(hdc) == GDILoObjType_LO_METADC16_TYPE) \
650 { \
651 return (_RetType)_Ret; \
652 } \
653 pLDC = GdiGetLDC(hdc); \
654 if ( !pLDC ) \
655 { \
656 SetLastError(ERROR_INVALID_HANDLE); \
657 return (_RetType)_Ret; \
658 } \
659 if ( pLDC->iType == LDC_EMFLDC && !(EMFDC_##_Func(pLDC, __VA_ARGS__)) ) \
660 { \
661 return (_RetType)_Ret; \
662 } \
663 /* Fall through to support information DC's.*/ \
664 }
665
666#define HANDLE_METADC1P(_RetType, _Func, dwError, hdc, ...) \
667 if (GDI_HANDLE_GET_TYPE(hdc) != GDILoObjType_LO_DC_TYPE) \
668 { \
669 if (GDI_HANDLE_GET_TYPE(hdc) == GDILoObjType_LO_METADC16_TYPE) \
670 { \
671 return (_RetType)METADC_##_Func(hdc); \
672 } \
673 else \
674 { \
675 PLDC pLDC = GdiGetLDC(hdc); \
676 _RetType _Ret = dwError; \
677 if ( !pLDC ) \
678 { \
679 SetLastError(ERROR_INVALID_HANDLE); \
680 return (_RetType)_Ret; \
681 } \
682 if ( pLDC->iType == LDC_EMFLDC && !(EMFDC_##_Func(pLDC)) ) \
683 { \
684 return (_RetType)_Ret; \
685 } \
686 /* Fall through to support information DC's.*/ \
687 } \
688 }
689
690
693
695
697
698/* meta dc files */
700 INT xstart, INT ystart, INT xend, INT yend ) DECLSPEC_HIDDEN;
701extern BOOL METADC_BitBlt( HDC hdc_dst, INT x_dst, INT y_dst, INT width, INT height,
702 HDC hdc_src, INT x_src, INT y_src, DWORD rop );
703extern BOOL METADC_Chord( HDC hdc, INT left, INT top, INT right, INT bottom, INT xstart,
704 INT ystart, INT xend, INT yend ) DECLSPEC_HIDDEN;
708extern BOOL METADC_ExtEscape( HDC hdc, INT escape, INT input_size, LPCSTR input, INT output_size, LPVOID output ) DECLSPEC_HIDDEN;
710 UINT fill_type ) DECLSPEC_HIDDEN;
712extern BOOL METADC_ExtTextOut( HDC hdc, INT x, INT y, UINT flags, const RECT *rect,
713 const WCHAR *str, UINT count, const INT *dx ) DECLSPEC_HIDDEN;
714extern BOOL METADC_FillRgn( HDC hdc, HRGN hrgn, HBRUSH hbrush ) DECLSPEC_HIDDEN;
715extern BOOL METADC_FrameRgn( HDC hdc, HRGN hrgn, HBRUSH hbrush, INT x, INT y ) DECLSPEC_HIDDEN;
728 INT xstart, INT ystart, INT xend, INT yend ) DECLSPEC_HIDDEN;
729extern BOOL METADC_PolyPolygon( HDC hdc, const POINT *points, const INT *counts,
730 UINT polygons ) DECLSPEC_HIDDEN;
737 INT ell_width, INT ell_height ) DECLSPEC_HIDDEN;
739extern BOOL METADC_ScaleViewportExtEx( HDC hdc, INT x_num, INT x_denom, INT y_num,
740 INT y_denom ) DECLSPEC_HIDDEN;
741extern BOOL METADC_ScaleWindowExtEx( HDC hdc, INT x_num, INT x_denom, INT y_num,
742 INT y_denom ) DECLSPEC_HIDDEN;
747extern INT METADC_SetDIBitsToDevice( HDC hdc, INT x_dest, INT y_dest, DWORD width, DWORD height,
748 INT x_src, INT y_src, UINT startscan, UINT lines,
749 const void *bits, const BITMAPINFO *info,
750 UINT coloruse ) DECLSPEC_HIDDEN;
767extern BOOL METADC_StretchBlt( HDC hdc_dst, INT x_dst, INT y_dst, INT width_dst, INT height_dst,
768 HDC hdc_src, INT x_src, INT y_src, INT width_src, INT height_src,
769 DWORD rop );
770extern BOOL METADC_StretchDIBits( HDC hdc, INT x_dst, INT y_dst, INT width_dst, INT height_dst,
771 INT x_src, INT y_src, INT width_src, INT height_src,
772 const void *bits, const BITMAPINFO *info, UINT coloruse,
774/* enhanced metafiles */
776extern BOOL EMFDC_AlphaBlend( LDC *dc_attr, INT x_dst, INT y_dst, INT width_dst, INT height_dst,
777 HDC hdc_src, INT x_src, INT y_src, INT width_src, INT height_src,
778 BLENDFUNCTION blend_function );
779extern BOOL EMFDC_AngleArc( LDC *dc_attr, INT x, INT y, DWORD radius, FLOAT start,
780 FLOAT sweep ) DECLSPEC_HIDDEN;
782 INT bottom, INT xstart, INT ystart, INT xend,
785extern BOOL EMFDC_BitBlt( LDC *dc_attr, INT x_dst, INT y_dst, INT width, INT height,
786 HDC hdc_src, INT x_src, INT y_src, DWORD rop );
795 UINT fill_type ) DECLSPEC_HIDDEN;
797extern BOOL EMFDC_ExtTextOut( LDC *dc_attr, INT x, INT y, UINT flags, const RECT *rect,
798 const WCHAR *str, UINT count, const INT *dx ) DECLSPEC_HIDDEN;
800extern BOOL EMFDC_FillRgn( LDC *dc_attr, HRGN hrgn, HBRUSH hbrush ) DECLSPEC_HIDDEN;
802extern BOOL EMFDC_FrameRgn( LDC *dc_attr, HRGN hrgn, HBRUSH hbrush, INT width,
804extern BOOL EMFDC_GradientFill( LDC *dc_attr, TRIVERTEX *vert_array, ULONG nvert,
805 void *grad_array, ULONG ngrad, ULONG mode ) DECLSPEC_HIDDEN;
808extern BOOL EMFDC_InvertRgn( LDC *dc_attr, HRGN hrgn ) DECLSPEC_HIDDEN;
810extern BOOL EMFDC_ModifyWorldTransform( LDC *dc_attr, const XFORM *xform,
814extern BOOL EMFDC_PaintRgn( LDC *dc_attr, HRGN hrgn ) DECLSPEC_HIDDEN;
818extern BOOL EMFDC_PolyDraw( LDC *dc_attr, const POINT *points, const BYTE *types,
820extern BOOL EMFDC_PolyPolyline( LDC *dc_attr, const POINT *points, const DWORD *counts,
821 DWORD polys ) DECLSPEC_HIDDEN;
822extern BOOL EMFDC_PolyPolygon( LDC *dc_attr, const POINT *points, const INT *counts,
823 UINT polys ) DECLSPEC_HIDDEN;
831 INT ell_width, INT ell_height ) DECLSPEC_HIDDEN;
833extern BOOL EMFDC_ScaleViewportExtEx( LDC *dc_attr, INT x_num, INT x_denom, INT y_num,
834 INT y_denom ) DECLSPEC_HIDDEN;
835extern BOOL EMFDC_ScaleWindowExtEx( LDC *dc_attr, INT x_num, INT x_denom, INT y_num,
836 INT y_denom ) DECLSPEC_HIDDEN;
845extern BOOL EMFDC_SetDIBitsToDevice( LDC *dc_attr, INT x_dest, INT y_dest, DWORD width,
846 DWORD height, INT x_src, INT y_src, UINT startscan,
847 UINT lines, const void *bits, const BITMAPINFO *info,
848 UINT coloruse ) DECLSPEC_HIDDEN;
863extern BOOL EMFDC_SetWorldTransform( LDC *dc_attr, const XFORM *xform ) DECLSPEC_HIDDEN;
864extern BOOL EMFDC_StretchBlt( LDC *dc_attr, INT x_dst, INT y_dst, INT width_dst, INT height_dst,
865 HDC hdc_src, INT x_src, INT y_src, INT width_src, INT height_src,
866 DWORD rop );
867extern BOOL EMFDC_StretchDIBits( LDC *dc_attr, INT x_dst, INT y_dst, INT width_dst,
868 INT height_dst, INT x_src, INT y_src, INT width_src,
869 INT height_src, const void *bits, const BITMAPINFO *info,
870 UINT coloruse, DWORD rop ) DECLSPEC_HIDDEN;
874
875
876BOOL EMFDC_MaskBlt( LDC *dc_attr, INT xDest, INT yDest, INT cx, INT cy, HDC hdcSrc, INT xSrc, INT ySrc, HBITMAP hbmMask, INT xMask, INT yMask, DWORD dwRop);
877BOOL EMFDC_PlgBlt( LDC *dc_attr, const POINT * ppt, HDC hdcSrc, INT xSrc, INT ySrc, INT cx, INT cy, HBITMAP hbmMask, INT xMask, INT yMask);
878BOOL EMFDC_TransparentBlt( LDC *dc_attr, INT xDst, INT yDst, INT cxDst, INT cyDst, HDC hdcSrc, INT xSrc, INT ySrc, INT cxSrc, INT cySrc, UINT crTransparent);
881BOOL EMFDC_WriteNamedEscape( LDC *dc_attr, PWCHAR pDriver, INT nEscape, INT cbInput, LPCSTR lpszInData);
882BOOL EMFDC_WriteEscape( LDC *dc_attr, INT nEscape, INT cbInput, LPSTR lpszInData, DWORD emrType);
883
884
885FORCEINLINE BOOL EMFDC_Arc( PLDC dc_attr, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend )
886{
887 return EMFDC_ArcChordPie( dc_attr, left, top, right, bottom, xstart, ystart, xend, yend, EMR_ARC );
888}
889
890FORCEINLINE BOOL EMFDC_ArcTo( PLDC dc_attr, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend )
891{
892return EMFDC_ArcChordPie( dc_attr, left, top, right, bottom, xstart, ystart, xend, yend, EMR_ARCTO );
893}
894FORCEINLINE BOOL EMFDC_Chord( PLDC dc_attr, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend )
895{
896return EMFDC_ArcChordPie( dc_attr, left, top, right, bottom, xstart, ystart, xend, yend, EMR_CHORD );
897}
898
899FORCEINLINE BOOL EMFDC_Pie( PLDC dc_attr, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend )
900{
901return EMFDC_ArcChordPie( dc_attr, left, top, right, bottom, xstart, ystart, xend, yend, EMR_PIE );
902}
903
905
906/* EOF */
static HDC hDC
Definition: 3dtext.c:33
static HFONT hfont
static HRGN hrgn
static HBRUSH hbrush
static HPEN hpen
static unsigned char bytes[4]
Definition: adnsresfilter.c:74
unsigned int dir
Definition: maze.c:112
LONG NTSTATUS
Definition: precomp.h:26
#define NULL
Definition: types.h:112
#define DECLSPEC_HIDDEN
Definition: precomp.h:8
static WCHAR unknown[MAX_STRING_RESOURCE_LEN]
Definition: object.c:1605
int(* FARPROC)()
Definition: compat.h:36
HANDLE HWND
Definition: compat.h:19
#define MAX_PATH
Definition: compat.h:34
#define CALLBACK
Definition: compat.h:35
static const WCHAR fontW[]
Definition: editor.c:78
__kernel_size_t size_t
Definition: linux.h:237
int align(int length, int align)
Definition: dsound8.c:36
FLOATL FASTCALL EFtoF(EFLOAT_S *efp)
Definition: efloat.c:20
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned short WORD
Definition: ntddk_ex.h:93
FxDriver * pDriver
LARGE_INTEGER li
Definition: fxtimerapi.cpp:235
BOOL EMFDC_FillRgn(LDC *dc_attr, HRGN hrgn, HBRUSH hbrush) DECLSPEC_HIDDEN
VOID WINAPI EnumLogFontExW2A(LPENUMLOGFONTEXA fontA, CONST ENUMLOGFONTEXW *fontW)
Definition: utils.c:402
HDC WINAPI GdiConvertAndCheckDC(HDC hdc)
Definition: dc.c:403
BOOL METADC_LineTo(HDC hdc, INT x, INT y) DECLSPEC_HIDDEN
Definition: metadc.c:336
FORCEINLINE PVOID GdiAllocBatchCommand(HDC hdc, USHORT Cmd)
Definition: gdi32p.h:381
OPENPRINTERW fpOpenPrinterW
Definition: printdrv.c:55
BOOL EMFDC_SetMetaRgn(LDC *dc_attr)
BOOL EMFDC_StretchDIBits(LDC *dc_attr, 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, const BITMAPINFO *info, UINT coloruse, DWORD rop) DECLSPEC_HIDDEN
BOOL(WINAPI * OPENPRINTERW)(LPWSTR, PHANDLE, LPPRINTER_DEFAULTSW)
Definition: gdi32p.h:189
BOOL EMFDC_PolyDraw(LDC *dc_attr, const POINT *points, const BYTE *types, DWORD count) DECLSPEC_HIDDEN
BOOL WINAPI CalculateColorTableSize(CONST BITMAPINFOHEADER *BitmapInfoHeader, UINT *ColorSpec, UINT *ColorTableSize)
Definition: utils.c:32
BOOL(WINAPI * QUERYCOLORPROFILE)(HANDLE, PDEVMODEW, ULONG, VOID *, ULONG, FLONG)
Definition: gdi32p.h:204
VOID FASTCALL NewTextMetricExW2A(NEWTEXTMETRICEXA *tma, NEWTEXTMETRICEXW *tmw)
Definition: font.c:201
PGDI_TABLE_ENTRY GdiHandleTable
Definition: gdihv.c:26
BOOL WINAPI GdiValidateHandle(HGDIOBJ)
Definition: misc.c:712
VOID NTAPI LogFontA2W(LPLOGFONTW pW, CONST LOGFONTA *pA)
Definition: utils.c:348
BOOL METADC_BitBlt(HDC hdc_dst, INT x_dst, INT y_dst, INT width, INT height, HDC hdc_src, INT x_src, INT y_src, DWORD rop)
Definition: metadc.c:800
BOOL METADC_OffsetClipRgn(HDC hdc, INT x, INT y) DECLSPEC_HIDDEN
Definition: metadc.c:261
BOOL METADC_SetViewportExtEx(HDC hdc, INT x, INT y) DECLSPEC_HIDDEN
Definition: metadc.c:276
BOOL METADC_SetTextJustification(HDC hdc, INT extra, INT breaks) DECLSPEC_HIDDEN
Definition: metadc.c:316
BOOL EMFDC_SetBkMode(LDC *dc_attr, INT mode) DECLSPEC_HIDDEN
BOOL METADC_SetPixel(HDC hdc, INT x, INT y, COLORREF color) DECLSPEC_HIDDEN
Definition: metadc.c:379
BOOL METADC_FrameRgn(HDC hdc, HRGN hrgn, HBRUSH hbrush, INT x, INT y) DECLSPEC_HIDDEN
Definition: metadc.c:724
HBRUSH WINAPI GdiSelectBrush(_In_ HDC hdc, _In_ HBRUSH hbr)
Definition: dc.c:1428
BOOL EMFDC_SetStretchBltMode(LDC *dc_attr, INT mode) DECLSPEC_HIDDEN
BOOL WINAPI GetETM(HDC hdc, EXTTEXTMETRIC *petm)
BOOL(WINAPI * GETPRINTERDRIVERW)(HANDLE, LPWSTR, DWORD, LPBYTE, DWORD, LPDWORD)
Definition: gdi32p.h:186
struct tagENHMETAFILE * PENHMETAFILE
BOOL METADC_Rectangle(HDC hdc, INT left, INT top, INT right, INT bottom) DECLSPEC_HIDDEN
Definition: metadc.c:367
BOOL EMFDC_MaskBlt(LDC *dc_attr, INT xDest, INT yDest, INT cx, INT cy, HDC hdcSrc, INT xSrc, INT ySrc, HBITMAP hbmMask, INT xMask, INT yMask, DWORD dwRop)
HGDIOBJ WINAPI GdiFixUpHandle(HGDIOBJ hGO)
Definition: misc.c:734
BOOL METADC_ExtSelectClipRgn(HDC hdc, HRGN hrgn, INT mode) DECLSPEC_HIDDEN
Definition: metadc.c:988
BOOL WINAPI EMFDC_SetD(_In_ PLDC pldc, _In_ DWORD dwIn, _In_ ULONG ulMFId)
Definition: rosglue.c:331
BOOL EMFDC_CloseFigure(LDC *dc_attr) DECLSPEC_HIDDEN
BOOL EMFDC_SetWindowExtEx(LDC *dc_attr, INT x, INT y) DECLSPEC_HIDDEN
BOOL(WINAPI * LPKETO)(HDC hdc, int x, int y, UINT fuOptions, const RECT *lprc, LPCWSTR lpString, UINT uCount, const INT *lpDx, INT unknown)
Definition: gdi32p.h:31
struct _LOCALFONT LOCALFONT
FORCEINLINE int _lrintf(float f)
Definition: gdi32p.h:498
BOOL EMFDC_SetBrushOrg(LDC *dc_attr, INT x, INT y)
BOOL METADC_SetROP2(HDC hdc, INT rop) DECLSPEC_HIDDEN
Definition: metadc.c:231
BOOL EMFDC_PatBlt(LDC *dc_attr, INT left, INT top, INT width, INT height, DWORD rop)
BOOL EMFDC_DeleteDC(LDC *dc_attr) DECLSPEC_HIDDEN
BOOL EMFDC_PlgBlt(LDC *dc_attr, const POINT *ppt, HDC hdcSrc, INT xSrc, INT ySrc, INT cx, INT cy, HBITMAP hbmMask, INT xMask, INT yMask)
PVOID HEAP_alloc(DWORD len)
Definition: heap.c:35
VOID GdiSAPCallback(PLDC pldc)
Definition: misc.c:819
HGDIOBJ WINAPI GdiCreateClientObj(_In_ PVOID pvObject, _In_ GDILOOBJTYPE eObjType)
Definition: clientobj.c:148
HFONT WINAPI GdiSelectFont(_In_ HDC hdc, _In_ HFONT hfont)
Definition: dc.c:1488
VOID FASTCALL NewTextMetricW2A(NEWTEXTMETRICA *tma, NEWTEXTMETRICW *tmw)
Definition: font.c:191
BOOL EMFDC_ScaleWindowExtEx(LDC *dc_attr, INT x_num, INT x_denom, INT y_num, INT y_denom) DECLSPEC_HIDDEN
BOOL EMFDC_RestoreDC(LDC *dc_attr, INT level) DECLSPEC_HIDDEN
BOOL EMFDC_ExcludeClipRect(LDC *dc_attr, INT left, INT top, INT right, INT bottom) DECLSPEC_HIDDEN
BOOL gbLpk
Definition: dllmain.c:12
BOOL EMFDC_FillPath(LDC *dc_attr) DECLSPEC_HIDDEN
BOOL METADC_SetMapMode(HDC hdc, INT mode) DECLSPEC_HIDDEN
Definition: metadc.c:271
HINSTANCE hLpk
Definition: utils.c:4
BOOL EMFDC_ExtSelectClipRgn(LDC *dc_attr, HRGN hrgn, INT mode) DECLSPEC_HIDDEN
LPKGCP LpkGetCharacterPlacement
Definition: utils.c:6
INT METADC_SetDIBitsToDevice(HDC hdc, INT x_dest, INT y_dest, DWORD width, DWORD height, INT x_src, INT y_src, UINT startscan, UINT lines, const void *bits, const BITMAPINFO *info, UINT coloruse) DECLSPEC_HIDDEN
Definition: metadc.c:846
BOOL EMFDC_PolyBezier(LDC *dc_attr, const POINT *points, DWORD count) DECLSPEC_HIDDEN
RTL_CRITICAL_SECTION semLocal
Definition: dllmain.c:13
BOOL EMFDC_IntersectClipRect(LDC *dc_attr, INT left, INT top, INT right, INT bottom) DECLSPEC_HIDDEN
BOOL EMFDC_PolylineTo(LDC *dc_attr, const POINT *points, INT count) DECLSPEC_HIDDEN
BOOL EMFDC_WriteNamedEscape(LDC *dc_attr, PWCHAR pDriver, INT nEscape, INT cbInput, LPCSTR lpszInData)
BOOL EMFDC_SaveDC(LDC *dc_attr) DECLSPEC_HIDDEN
BOOL EMFDC_ScaleViewportExtEx(LDC *dc_attr, INT x_num, INT x_denom, INT y_num, INT y_denom) DECLSPEC_HIDDEN
VOID NTAPI LogFontW2A(LPLOGFONTA pA, CONST LOGFONTW *pW)
Definition: utils.c:375
INT METADC_GetDeviceCaps(HDC hdc, INT cap)
Definition: metadc.c:1289
BOOL FASTCALL EndPagePrinterEx(PVOID, HANDLE)
Definition: printdrv.c:178
BOOL WINAPI METADC_ExtTextOutW(HDC hdc, INT x, INT y, UINT fuOptions, const RECT *lprc, LPCWSTR lpString, UINT cchString, const INT *lpDx)
#define LOCALFONT_COUNT
Definition: gdi32p.h:171
DWORD(WINAPI * STARTDOCPRINTERW)(HANDLE, DWORD, PBYTE)
Definition: gdi32p.h:193
ULONG gcClientObj
Definition: clientobj.c:11
BOOL EMFDC_LineTo(LDC *dc_attr, INT x, INT y) DECLSPEC_HIDDEN
BOOL(WINAPI * RESETPRINTERW)(HANDLE, LPPRINTER_DEFAULTSW)
Definition: gdi32p.h:191
BOOL METADC_MoveTo(HDC hdc, INT x, INT y) DECLSPEC_HIDDEN
Definition: metadc.c:331
BOOL METADC_StretchDIBits(HDC hdc, 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, const BITMAPINFO *info, UINT coloruse, DWORD rop) DECLSPEC_HIDDEN
Definition: metadc.c:815
BOOL WINAPI METADC_RosGlueDeleteDC(_In_ HDC hdc)
Definition: rosglue.c:392
BOOL GdiGetHandleUserData(HGDIOBJ hGdiObj, DWORD ObjectType, PVOID *UserData)
Definition: misc.c:761
BOOL METADC_SetStretchBltMode(HDC hdc, INT mode) DECLSPEC_HIDDEN
Definition: metadc.c:246
BOOL EMFDC_SetBkColor(LDC *dc_attr, COLORREF color) DECLSPEC_HIDDEN
BOOL EMFDC_MoveTo(LDC *dc_attr, INT x, INT y) DECLSPEC_HIDDEN
BOOL EMFDC_Polygon(LDC *dc_attr, const POINT *points, INT count) DECLSPEC_HIDDEN
BOOL METADC_ExtFloodFill(HDC hdc, INT x, INT y, COLORREF color, UINT fill_type) DECLSPEC_HIDDEN
Definition: metadc.c:492
BOOL METADC_Pie(HDC hdc, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend) DECLSPEC_HIDDEN
Definition: metadc.c:348
BOOL FASTCALL GdiSetLDC(HDC hdc, PVOID pvLDC)
Definition: misc.c:802
BOOL WINAPI GdiCreateClientObjLink(_In_ HGDIOBJ hobj, _In_ PVOID pvObject)
Definition: clientobj.c:24
BOOL(WINAPI * SPLREADPRINTER)(HANDLE, LPBYTE *, DWORD)
Definition: gdi32p.h:197
NTSTATUS HEAP_strdupA2W(LPWSTR *ppszW, LPCSTR lpszA)
Definition: heap.c:43
BOOL METADC_RoundRect(HDC hdc, INT left, INT top, INT right, INT bottom, INT ell_width, INT ell_height) DECLSPEC_HIDDEN
Definition: metadc.c:372
struct _UMPDEV * PUMPDEV
BOOL METADC_ExtEscape(HDC hdc, INT escape, INT input_size, LPCSTR input, INT output_size, LPVOID output) DECLSPEC_HIDDEN
Definition: metadc.c:1269
CLOSEPRINTER fpClosePrinter
Definition: printdrv.c:43
BOOL METADC_SetTextColor(HDC hdc, COLORREF color) DECLSPEC_HIDDEN
Definition: metadc.c:226
struct tagMF_ENTRY MF_ENTRY
BOOL EMFDC_SetWindowOrgEx(LDC *dc_attr, INT x, INT y) DECLSPEC_HIDDEN
BOOL EMFDC_SelectClipPath(LDC *dc_attr, INT mode) DECLSPEC_HIDDEN
BOOL EMFDC_WriteEscape(LDC *dc_attr, INT nEscape, INT cbInput, LPSTR lpszInData, DWORD emrType)
BOOL EMFDC_ModifyWorldTransform(LDC *dc_attr, const XFORM *xform, DWORD mode) DECLSPEC_HIDDEN
BOOL EMFDC_StrokePath(LDC *dc_attr) DECLSPEC_HIDDEN
BOOL EMFDC_BeginPath(LDC *dc_attr) DECLSPEC_HIDDEN
BOOL METADC_StretchBlt(HDC hdc_dst, INT x_dst, INT y_dst, INT width_dst, INT height_dst, HDC hdc_src, INT x_src, INT y_src, INT width_src, INT height_src, DWORD rop)
Definition: metadc.c:807
BOOL EMFDC_FrameRgn(LDC *dc_attr, HRGN hrgn, HBRUSH hbrush, INT width, INT height) DECLSPEC_HIDDEN
BOOL METADC_FillRgn(HDC hdc, HRGN hrgn, HBRUSH hbrush) DECLSPEC_HIDDEN
Definition: metadc.c:710
BOOL EMFDC_AlphaBlend(LDC *dc_attr, INT x_dst, INT y_dst, INT width_dst, INT height_dst, HDC hdc_src, INT x_src, INT y_src, INT width_src, INT height_src, BLENDFUNCTION blend_function)
BOOL WINAPI EMFDC_GdiComment(HDC hdc, UINT bytes, const BYTE *buffer)
Definition: emfdc.c:2326
struct tagENHMETAFILE ENHMETAFILE
LONG(WINAPI * DOCUMENTPROPERTIESW)(HWND, HANDLE, LPWSTR, PDEVMODEW, PDEVMODEW, DWORD)
Definition: gdi32p.h:182
BOOL EMFDC_EndPath(LDC *dc_attr) DECLSPEC_HIDDEN
BOOL WINAPI METADC_SetD(_In_ HDC hdc, _In_ DWORD dwIn, _In_ USHORT usMF16Id)
Definition: rosglue.c:312
DWORD WINAPI GetDCDWord(_In_ HDC hdc, _In_ UINT u, _In_ DWORD dwError)
Definition: dc.c:787
BOOL EMFDC_Rectangle(LDC *dc_attr, INT left, INT top, INT right, INT bottom) DECLSPEC_HIDDEN
BOOL EMFDC_GradientFill(LDC *dc_attr, TRIVERTEX *vert_array, ULONG nvert, void *grad_array, ULONG ngrad, ULONG mode) DECLSPEC_HIDDEN
HANDLE CurrentProcessId
Definition: misc.c:35
VOID WINAPI METADC_RosGlueDeleteObject(HGDIOBJ hobj)
Definition: rosglue.c:352
DWORD WINAPI GetAndSetDCDWord(_In_ HDC hdc, _In_ UINT u, _In_ DWORD dwIn, _In_ ULONG ulMFId, _In_ USHORT usMF16Id, _In_ DWORD dwError)
Definition: dc.c:746
PVOID WINAPI GdiGetClientObjLink(_In_ HGDIOBJ hobj)
Definition: clientobj.c:61
BOOL(WINAPI * ENDPAGEPRINTER)(HANDLE)
Definition: gdi32p.h:184
struct tagMETAFILEDC METAFILEDC
BOOL EMFDC_PolyBezierTo(LDC *dc_attr, const POINT *points, DWORD count) DECLSPEC_HIDDEN
VOID FASTCALL FONT_TextMetricWToA(const TEXTMETRICW *ptmW, LPTEXTMETRICA ptmA)
Definition: font.c:79
BOOL METADC_SetLayout(HDC hdc, DWORD layout) DECLSPEC_HIDDEN
Definition: metadc.c:266
BOOL EMFDC_ArcChordPie(LDC *dc_attr, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend, DWORD type) DECLSPEC_HIDDEN
BOOL EMFDC_SelectPalette(LDC *dc_attr, HPALETTE palette) DECLSPEC_HIDDEN
BOOL METADC_SetBkColor(HDC hdc, COLORREF color) DECLSPEC_HIDDEN
Definition: metadc.c:221
BOOL EMFDC_SetROP2(LDC *dc_attr, INT rop) DECLSPEC_HIDDEN
VOID WINAPI InitializeLpkHooks(_In_ FARPROC *hookfuncs)
VOID WINAPI GdiInitializeLanguagePack(_In_ DWORD InitParam)
BOOL EMFDC_TransparentBlt(LDC *dc_attr, INT xDst, INT yDst, INT cxDst, INT cyDst, HDC hdcSrc, INT xSrc, INT ySrc, INT cxSrc, INT cySrc, UINT crTransparent)
BOOL EMFDC_BitBlt(LDC *dc_attr, INT x_dst, INT y_dst, INT width, INT height, HDC hdc_src, INT x_src, INT y_src, DWORD rop)
BOOL EMFDC_OffsetClipRgn(LDC *dc_attr, INT x, INT y) DECLSPEC_HIDDEN
HANDLE(WINAPI * GETSPOOLFILEHANDLE)(HANDLE)
Definition: gdi32p.h:187
INT(WINAPI * DOCUMENTEVENT)(HANDLE, HDC, INT, ULONG, PVOID, ULONG, PVOID)
Definition: gdi32p.h:202
BOOL METADC_Arc(HDC hdc, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend) DECLSPEC_HIDDEN
Definition: metadc.c:341
PGDI_SHARED_HANDLE_TABLE GdiSharedHandleTable
Definition: misc.c:34
BOOL EMFDC_SetMapMode(LDC *dc_attr, INT mode) DECLSPEC_HIDDEN
BOOL EMFDC_FlattenPath(LDC *dc_attr) DECLSPEC_HIDDEN
BOOL METADC_Polyline(HDC hdc, const POINT *points, INT count) DECLSPEC_HIDDEN
Definition: metadc.c:403
BOOL EMFDC_InvertRgn(LDC *dc_attr, HRGN hrgn) DECLSPEC_HIDDEN
BOOL METADC_SetBkMode(HDC hdc, INT mode) DECLSPEC_HIDDEN
Definition: metadc.c:216
int WINAPI GdiGetBitmapBitsSize(BITMAPINFO *lpbmi)
Definition: bitmap.c:209
BOOL EMFDC_SelectObject(LDC *dc_attr, HGDIOBJ obj) DECLSPEC_HIDDEN
BOOL METADC_RealizePalette(HDC hdc) DECLSPEC_HIDDEN
Definition: metadc.c:1247
struct tagMF_ENTRY * PMF_ENTRY
BOOL EMFDC_AngleArc(LDC *dc_attr, INT x, INT y, DWORD radius, FLOAT start, FLOAT sweep) DECLSPEC_HIDDEN
BOOL(WINAPI * SPLDRIVERUNLOADCOMPLETE)(LPWSTR)
Definition: gdi32p.h:199
BOOL(WINAPI * SEEKPRINTER)(HANDLE, LARGE_INTEGER, PLARGE_INTEGER, DWORD, BOOL)
Definition: gdi32p.h:196
DWORD(WINAPI * QUERYREMOTEFONTS)(DWORD, DWORD, DWORD)
Definition: gdi32p.h:207
BOOL EMFDC_SetTextJustification(LDC *dc_attr, INT extra, INT breaks) DECLSPEC_HIDDEN
BOOL WINAPI LoadLPK(INT LpkFunctionID)
Definition: utils.c:423
BOOL METADC_SetWindowExtEx(HDC hdc, INT x, INT y) DECLSPEC_HIDDEN
Definition: metadc.c:286
int FASTCALL DocumentEventEx(PVOID, HANDLE, HDC, int, ULONG, PVOID, ULONG, PVOID)
Definition: printdrv.c:152
BOOL EMFDC_ExtTextOut(LDC *dc_attr, INT x, INT y, UINT flags, const RECT *rect, const WCHAR *str, UINT count, const INT *dx) DECLSPEC_HIDDEN
BOOL EMFDC_SetPolyFillMode(LDC *dc_attr, INT mode) DECLSPEC_HIDDEN
BOOL METADC_SetMapperFlags(HDC hdc, DWORD flags) DECLSPEC_HIDDEN
Definition: metadc.c:326
int WINAPI GdiAddFontResourceW(LPCWSTR lpszFilename, FLONG fl, DESIGNVECTOR *pdv)
Definition: font.c:2404
LPKETO LpkExtTextOut
Definition: utils.c:5
HENHMETAFILE WINAPI SetEnhMetaFileBitsAlt(PDWORD pdw, LPWSTR FilePart, HANDLE hFile, LARGE_INTEGER li)
BOOL EMFDC_SetMapperFlags(LDC *dc_attr, DWORD flags) DECLSPEC_HIDDEN
BOOL EMFDC_PolyPolyline(LDC *dc_attr, const POINT *points, const DWORD *counts, DWORD polys) DECLSPEC_HIDDEN
BOOL EMFDC_Polyline(LDC *dc_attr, const POINT *points, INT count) DECLSPEC_HIDDEN
BOOL EMFDC_SetWorldTransform(LDC *dc_attr, const XFORM *xform) DECLSPEC_HIDDEN
LPBITMAPINFO WINAPI ConvertBitmapInfo(CONST BITMAPINFO *BitmapInfo, UINT ColorSpec, UINT *BitmapInfoSize, BOOL FollowedByData)
Definition: utils.c:178
DWORD WINAPI GdiGetCodePage(HDC)
BOOL METADC_SetPolyFillMode(HDC hdc, INT mode) DECLSPEC_HIDDEN
Definition: metadc.c:241
BOOL EMFDC_AbortPath(LDC *dc_attr) DECLSPEC_HIDDEN
BOOL METADC_PatBlt(HDC hdc, INT left, INT top, INT width, INT height, DWORD rop)
Definition: metadc.c:737
INT(CALLBACK * EMFPLAYPROC)(HDC hdc, INT iFunction, HANDLE hPageQuery)
Definition: gdi32p.h:24
HPEN WINAPI GdiSelectPen(_In_ HDC hdc, _In_ HPEN hpen)
Definition: dc.c:1458
BOOL EMFDC_PaintRgn(LDC *dc_attr, HRGN hrgn) DECLSPEC_HIDDEN
BOOL(WINAPI * LPKGTEP)(HDC hdc, LPCWSTR lpString, INT cString, INT nMaxExtent, LPINT lpnFit, LPINT lpnDx, LPSIZE lpSize, DWORD dwUnused, int unknown)
Definition: gdi32p.h:55
BOOL METADC_ExtTextOut(HDC hdc, INT x, INT y, UINT flags, const RECT *rect, const WCHAR *str, UINT count, const INT *dx) DECLSPEC_HIDDEN
Definition: metadc.c:904
BOOL EMFDC_SetArcDirection(LDC *dc_attr, INT dir) DECLSPEC_HIDDEN
BOOL METADC_Polygon(HDC hdc, const POINT *points, INT count) DECLSPEC_HIDDEN
Definition: metadc.c:422
BOOL METADC_ScaleWindowExtEx(HDC hdc, INT x_num, INT x_denom, INT y_num, INT y_denom) DECLSPEC_HIDDEN
Definition: metadc.c:311
PDEVCAPS GdiDevCaps
Definition: dllmain.c:10
LPWSTR(WINAPI * STARTDOCDLGW)(HANDLE, DOCINFOW *)
Definition: gdi32p.h:192
BOOL EMFDC_StrokeAndFillPath(LDC *dc_attr) DECLSPEC_HIDDEN
BOOL(WINAPI * READPRINTER)(HANDLE, PVOID, DWORD, PDWORD)
Definition: gdi32p.h:190
BOOL EMFDC_SetTextColor(LDC *dc_attr, COLORREF color) DECLSPEC_HIDDEN
HGDIOBJ WINAPI GetDCObject(HDC, INT)
BOOL EMFDC_RoundRect(LDC *dc_attr, INT left, INT top, INT right, INT bottom, INT ell_width, INT ell_height) DECLSPEC_HIDDEN
FORCEINLINE BOOL EMFDC_Arc(PLDC dc_attr, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend)
Definition: gdi32p.h:885
BOOL METADC_DeleteDC(HDC hdc)
Definition: metadc.c:1318
BOOL METADC_SetViewportOrgEx(HDC hdc, INT x, INT y) DECLSPEC_HIDDEN
Definition: metadc.c:281
PVOID WINAPI GdiDeleteClientObj(_In_ HGDIOBJ hobj)
Definition: clientobj.c:173
FORCEINLINE BOOL EMFDC_Chord(PLDC dc_attr, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend)
Definition: gdi32p.h:894
BOOL(WINAPI * ABORTPRINTER)(HANDLE)
Definition: gdi32p.h:178
BOOL(WINAPI * STARTPAGEPRINTER)(HANDLE)
Definition: gdi32p.h:194
BOOL EMFDC_SetLayout(LDC *dc_attr, DWORD layout) DECLSPEC_HIDDEN
FORCEINLINE BOOL EMFDC_ArcTo(PLDC dc_attr, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend)
Definition: gdi32p.h:890
BOOL METADC_InvertRgn(HDC hdc, HRGN hrgn) DECLSPEC_HIDDEN
Definition: metadc.c:700
BOOL METADC_ExcludeClipRect(HDC hdc, INT left, INT top, INT right, INT bottom) DECLSPEC_HIDDEN
Definition: metadc.c:256
VOID HEAP_free(LPVOID memory)
Definition: heap.c:63
DWORD GDI_BatchLimit
Definition: misc.c:36
VOID WINAPI GdiSetLastError(DWORD dwErrCode)
Definition: misc.c:873
HGDIOBJ METADC_SelectObject(HDC hdc, HGDIOBJ obj) DECLSPEC_HIDDEN
Definition: metadc.c:1252
FORCEINLINE BOOL EMFDC_Pie(PLDC dc_attr, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend)
Definition: gdi32p.h:899
BOOL EMFDC_SetDCPenColor(LDC *dc_attr, COLORREF color) DECLSPEC_HIDDEN
BOOL METADC_SetTextAlign(HDC hdc, UINT align) DECLSPEC_HIDDEN
Definition: metadc.c:211
BOOL FASTCALL DeleteRegion(HRGN)
BOOL METADC_PaintRgn(HDC hdc, HRGN hrgn) DECLSPEC_HIDDEN
Definition: metadc.c:690
BOOL METADC_OffsetWindowOrgEx(HDC hdc, INT x, INT y) DECLSPEC_HIDDEN
Definition: metadc.c:301
BOOL EMFDC_StretchBlt(LDC *dc_attr, INT x_dst, INT y_dst, INT width_dst, INT height_dst, HDC hdc_src, INT x_src, INT y_src, INT width_src, INT height_src, DWORD rop)
BOOL METADC_PolyPolygon(HDC hdc, const POINT *points, const INT *counts, UINT polygons) DECLSPEC_HIDDEN
Definition: metadc.c:441
BOOL(WINAPI * GETPRINTERW)(HANDLE, DWORD, LPBYTE, DWORD, LPDWORD)
Definition: gdi32p.h:185
struct _LOCALFONT * PLOCALFONT
DWORD(WINAPI * LPKGCP)(HDC hdc, LPCWSTR lpString, INT uCount, INT nMaxExtent, LPGCP_RESULTSW lpResults, DWORD dwFlags, DWORD dwUnused)
Definition: gdi32p.h:44
LPKGTEP LpkGetTextExtentExPoint
Definition: utils.c:7
BOOL METADC_SaveDC(HDC hdc) DECLSPEC_HIDDEN
Definition: metadc.c:201
FORCEINLINE PRGN_ATTR GdiGetRgnAttr(HRGN hrgn)
Definition: gdi32p.h:475
HGDIOBJ FASTCALL hGetPEBHandle(HANDLECACHETYPE, COLORREF)
Definition: misc.c:880
DWORD(WINAPI * QUERYSPOOLMODE)(HANDLE, DWORD, DWORD)
Definition: gdi32p.h:206
BOOL METADC_SetWindowOrgEx(HDC, INT x, INT y) DECLSPEC_HIDDEN
Definition: metadc.c:291
HANDLE ghSpooler
Definition: printdrv.c:40
FORCEINLINE PDC_ATTR GdiGetDcAttr(HDC hdc)
Definition: gdi32p.h:451
BOOL EMFDC_SetViewportExtEx(LDC *dc_attr, INT x, INT y) DECLSPEC_HIDDEN
HANDLE hProcessHeap
Definition: kbswitch.c:37
BOOL METADC_SetTextCharacterExtra(HDC hdc, INT extra) DECLSPEC_HIDDEN
Definition: metadc.c:321
BOOL METADC_IntersectClipRect(HDC hdc, INT left, INT top, INT right, INT bottom) DECLSPEC_HIDDEN
Definition: metadc.c:251
BOOL METADC_Chord(HDC hdc, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend) DECLSPEC_HIDDEN
Definition: metadc.c:355
struct _UMPDEV UMPDEV
BOOL(WINAPI * CLOSESPOOLFILEHANDLE)(HANDLE, HANDLE)
Definition: gdi32p.h:180
BOOL EMFDC_SetDIBitsToDevice(LDC *dc_attr, INT x_dest, INT y_dest, DWORD width, DWORD height, INT x_src, INT y_src, UINT startscan, UINT lines, const void *bits, const BITMAPINFO *info, UINT coloruse) DECLSPEC_HIDDEN
BOOL EMFDC_SetPixel(LDC *dc_attr, INT x, INT y, COLORREF color) DECLSPEC_HIDDEN
BOOL METADC_Ellipse(HDC hdc, INT left, INT top, INT right, INT bottom) DECLSPEC_HIDDEN
Definition: metadc.c:362
BOOL(WINAPI * ISVALIDDEVMODEW)(PDEVMODEW, size_t)
Definition: gdi32p.h:188
BOOL EMFDC_PolyPolygon(LDC *dc_attr, const POINT *points, const INT *counts, UINT polys) DECLSPEC_HIDDEN
struct tagMETAFILEDC * PMETAFILEDC
BOOL METADC_SelectPalette(HDC hdc, HPALETTE palette) DECLSPEC_HIDDEN
Definition: metadc.c:1220
BOOL METADC_ScaleViewportExtEx(HDC hdc, INT x_num, INT x_denom, INT y_num, INT y_denom) DECLSPEC_HIDDEN
Definition: metadc.c:306
BOOL EMFDC_SetDCBrushColor(LDC *dc_attr, COLORREF color) DECLSPEC_HIDDEN
BOOL METADC_SetRelAbs(HDC hdc, INT mode) DECLSPEC_HIDDEN
Definition: metadc.c:236
BOOL(WINAPI * ENDDOCPRINTER)(HANDLE)
Definition: gdi32p.h:183
BOOL METADC_OffsetViewportOrgEx(HDC hdc, INT x, INT y) DECLSPEC_HIDDEN
Definition: metadc.c:296
HANDLE(WINAPI * COMMITSPOOLDATA)(HANDLE, HANDLE, DWORD)
Definition: gdi32p.h:181
PLDC FASTCALL GdiGetLDC(HDC hDC)
Definition: misc.c:785
UINT WINAPI UserRealizePalette(HDC hDC)
Definition: painting.c:2345
BOOL EMFDC_SetTextAlign(LDC *dc_attr, UINT align) DECLSPEC_HIDDEN
BOOL METADC_RestoreDC(HDC hdc, INT level) DECLSPEC_HIDDEN
Definition: metadc.c:206
BOOL(WINAPI * CLOSEPRINTER)(HANDLE)
Definition: gdi32p.h:179
BOOL EMFDC_ExtFloodFill(LDC *dc_attr, INT x, INT y, COLORREF color, UINT fill_type) DECLSPEC_HIDDEN
BOOL FASTCALL LoadTheSpoolerDrv(VOID)
Definition: printdrv.c:188
PVOID WINAPI GdiRemoveClientObjLink(_In_ HGDIOBJ hobj)
Definition: clientobj.c:98
BOOL EMFDC_Ellipse(LDC *dc_attr, INT left, INT top, INT right, INT bottom) DECLSPEC_HIDDEN
BOOL EMFDC_SetViewportOrgEx(LDC *dc_attr, INT x, INT y) DECLSPEC_HIDDEN
BOOL EMFDC_WidenPath(LDC *dc_attr) DECLSPEC_HIDDEN
#define GDI_HANDLE_GET_TYPE(h)
Definition: gdi.h:31
@ GDILoObjType_LO_REGION_TYPE
Definition: gdi_private.h:38
@ GDILoObjType_LO_DC_TYPE
Definition: gdi_private.h:34
@ GDILoObjType_LO_ALTDC_TYPE
Definition: gdi_private.h:43
enum GDILoObjType GDILOOBJTYPE
GLuint start
Definition: gl.h:1545
GLint level
Definition: gl.h:1546
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
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
GLfloat f
Definition: glext.h:7540
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
GLenum GLsizei len
Definition: glext.h:6722
GLenum GLenum GLenum input
Definition: glext.h:9031
GLuint64EXT * result
Definition: glext.h:11304
GLenum cap
Definition: glext.h:9639
GLsizei const GLfloat * points
Definition: glext.h:8112
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
@ extra
Definition: id3.c:95
#define NtCurrentTeb
#define f
Definition: ke_i.h:83
GLint dx
Definition: linetemp.h:97
HDC hdc
Definition: main.c:9
static HBITMAP
Definition: button.c:44
static HDC
Definition: imagelist.c:92
static DWORD layout
Definition: bitmap.c:46
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
ObjectType
Definition: metafile.c:81
static char memory[1024 *256]
Definition: process.c:116
static HPALETTE palette
Definition: clipboard.c:1345
static WCHAR escape[]
Definition: url.c:36
#define _In_
Definition: ms_sal.h:308
_In_ HANDLE hFile
Definition: mswsock.h:90
static int rop(int rop, int src, int dst)
Definition: nanoxwin.c:124
unsigned int UINT
Definition: ndis.h:50
#define BOOL
Definition: nt_native.h:43
#define LPDWORD
Definition: nt_native.h:46
#define FASTCALL
Definition: nt_native.h:50
#define DWORD
Definition: nt_native.h:44
unsigned long FLONG
Definition: ntbasedef.h:366
__kernel_entry W32KAPI NTSTATUS APIENTRY NtGdiFlush(VOID)
Definition: gdibatch.c:471
_In_ UINT _In_ DWORD dwIn
Definition: ntgdi.h:249
struct _GDIBSTEXTOUT GDIBSTEXTOUT
#define GDIBATCHBUFSIZE
Definition: ntgdityp.h:200
enum _HANDLECACHETYPE HANDLECACHETYPE
struct _GDIBSEXTTEXTOUT GDIBSEXTTEXTOUT
struct _GDIBSOBJECT GDIBSOBJECT
struct _GDIBSEXTSELCLPRGN GDIBSEXTSELCLPRGN
struct _GDIBSPPATBLT GDIBSPPATBLT
struct _GDIBSSETBRHORG GDIBSSETBRHORG
struct _GDIBSPATBLT GDIBSPATBLT
@ GdiBCSelObj
Definition: ntgdityp.h:92
@ GdiBCPatBlt
Definition: ntgdityp.h:86
@ GdiBCDelRgn
Definition: ntgdityp.h:94
@ GdiBCDelObj
Definition: ntgdityp.h:93
@ GdiBCSetBrushOrg
Definition: ntgdityp.h:90
@ GdiBCPolyPatBlt
Definition: ntgdityp.h:87
@ GdiBCExtSelClipRgn
Definition: ntgdityp.h:91
@ GdiBCTextOut
Definition: ntgdityp.h:88
@ GdiBCExtTextOut
Definition: ntgdityp.h:89
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:455
#define CONST
Definition: pedump.c:81
BYTE * PBYTE
Definition: pedump.c:66
DWORD * PDWORD
Definition: pedump.c:68
long LONG
Definition: pedump.c:60
unsigned short USHORT
Definition: pedump.c:61
#define INT
Definition: polytest.cpp:20
_Out_opt_ int _Out_opt_ int * cy
Definition: commctrl.h:586
_Out_opt_ int * cx
Definition: commctrl.h:585
__asm__(".p2align 4, 0x90\n" ".seh_proc __seh2_global_filter_func\n" "__seh2_global_filter_func:\n" "\tsub %rbp, %rax\n" "\tpush %rbp\n" "\t.seh_pushreg %rbp\n" "\tsub $32, %rsp\n" "\t.seh_stackalloc 32\n" "\t.seh_endprologue\n" "\tsub %rax, %rdx\n" "\tmov %rdx, %rbp\n" "\tjmp *%r8\n" "__seh2_global_filter_func_exit:\n" "\t.p2align 4\n" "\tadd $32, %rsp\n" "\tpop %rbp\n" "\tret\n" "\t.seh_endproc")
const WCHAR * str
@ Cmd
Definition: sacdrv.h:278
& rect
Definition: startmenu.cpp:1413
SHORT Size
Definition: ntgdityp.h:458
SHORT Cmd
Definition: ntgdityp.h:459
Definition: gdi.h:2
ULONG Buffer[GDI_BATCH_BUFFER_SIZE]
Definition: compat.h:833
HANDLE HDC
Definition: compat.h:832
ULONG Offset
Definition: compat.h:831
Definition: ntgdihdl.h:263
Definition: typedefs.h:120
FONT_ATTR lfa[LOCALFONT_COUNT]
Definition: gdi32p.h:174
Definition: compat.h:836
PVOID Win32ThreadInfo
Definition: compat.h:846
GDI_TEB_BATCH GdiTebBatch
Definition: compat.h:857
ULONG GdiBatchCount
Definition: compat.h:887
DWORD dwDriverAttributes
Definition: gdi32p.h:160
DWORD dwDriverCount
Definition: gdi32p.h:164
DWORD_PTR Sig
Definition: gdi32p.h:155
DWORD WOW64_hMod
Definition: gdi32p.h:166
PVOID apfn[INDEX_LAST]
Definition: gdi32p.h:168
DWORD dwConfigVersion
Definition: gdi32p.h:161
DWORD WOW64_UMPDev
Definition: gdi32p.h:165
struct _UMPDEV * pumpdNext
Definition: gdi32p.h:156
PDRIVER_INFO_5W pdi5Info
Definition: gdi32p.h:157
DWORD dwFlags
Definition: gdi32p.h:159
HMODULE hModule
Definition: gdi32p.h:158
DWORD Unknown
Definition: gdi32p.h:167
HGDIOBJ * handles
Definition: gdi32p.h:137
UINT handles_size
Definition: gdi32p.h:136
INT logpixelsx
Definition: gdi32p.h:140
INT logpixelsy
Definition: gdi32p.h:140
INT rastercaps
Definition: gdi32p.h:143
PVOID pvMetaBuffer
Definition: gdi32p.h:131
INT technology
Definition: gdi32p.h:144
HANDLE hFile
Definition: gdi32p.h:132
PENHMETAHEADER emf
Definition: gdi32p.h:135
INT bitspixel
Definition: gdi32p.h:141
INT horzsize
Definition: gdi32p.h:139
INT textcaps
Definition: gdi32p.h:142
INT vertsize
Definition: gdi32p.h:139
DWORD Size
Definition: gdi32p.h:133
UINT cur_handles
Definition: gdi32p.h:136
HGDIOBJ hEnhMetaFile
Definition: gdi32p.h:116
DWORD Size
Definition: gdi32p.h:99
HBRUSH hBrush
Definition: gdi32p.h:105
HGDIOBJ hMetaDc
Definition: gdi32p.h:107
HCOLORSPACE hColorSpace
Definition: gdi32p.h:117
HGDIOBJ hMetafile
Definition: gdi32p.h:112
HPEN hExtPen
Definition: gdi32p.h:114
HBITMAP hBitmap
Definition: gdi32p.h:110
WORD reserved
Definition: gdi32p.h:102
HGDIOBJ hMemDc
Definition: gdi32p.h:113
PVOID pvMetaBuffer
Definition: gdi32p.h:97
DWORD dwWritten
Definition: gdi32p.h:100
HPEN hPen
Definition: gdi32p.h:104
WCHAR Filename[MAX_PATH+2]
Definition: gdi32p.h:118
HANDLE hFile
Definition: gdi32p.h:98
HFONT hFont
Definition: gdi32p.h:109
HGDIOBJ hEnhMetaDc
Definition: gdi32p.h:115
HPALETTE hPalette
Definition: gdi32p.h:108
HRGN hRegion
Definition: gdi32p.h:111
METAHEADER mh
Definition: gdi32p.h:101
HLOCAL MFObjList
Definition: gdi32p.h:103
Definition: gdi32p.h:123
PMETAFILEDC pmfDC
Definition: gdi32p.h:126
LIST_ENTRY List
Definition: gdi32p.h:124
HGDIOBJ hmDC
Definition: gdi32p.h:125
Definition: cmds.c:130
eMaj lines
Definition: tritemp.h:206
uint32_t DWORD_PTR
Definition: typedefs.h:65
unsigned char * LPBYTE
Definition: typedefs.h:53
float FLOAT
Definition: typedefs.h:69
#define NTAPI
Definition: typedefs.h:36
union _LARGE_INTEGER LARGE_INTEGER
void * PVOID
Definition: typedefs.h:50
PVOID HANDLE
Definition: typedefs.h:73
int32_t INT
Definition: typedefs.h:58
union _LARGE_INTEGER * PLARGE_INTEGER
Definition: file.c:85
uint16_t * PWCHAR
Definition: typedefs.h:56
unsigned char * PUCHAR
Definition: typedefs.h:53
uint32_t ULONG
Definition: typedefs.h:59
#define FORCEINLINE
Definition: wdftypes.h:67
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1176
_In_ FLONG fl
Definition: winddi.h:1279
FLOAT FLOATL
Definition: winddi.h:114
#define INDEX_LAST
Definition: winddi.h:521
_In_ ULONG_PTR _In_opt_ DESIGNVECTOR * pdv
Definition: winddi.h:3723
_In_ ULONG cjSize
Definition: winddi.h:3634
int * LPINT
Definition: windef.h:178
DWORD COLORREF
Definition: windef.h:300
#define WINAPI
Definition: msvc.h:6
#define EMR_PIE
Definition: wingdi.h:121
struct _devicemodeW * PDEVMODEW
#define EMR_ARCTO
Definition: wingdi.h:129
#define EMR_CHORD
Definition: wingdi.h:120
#define EMR_ARC
Definition: wingdi.h:119
struct _PRINTER_DEFAULTSW * LPPRINTER_DEFAULTSW
_In_ int _Inout_ LPRECT lprc
Definition: winuser.h:4466
static HDC hdcSrc
Definition: xlate.c:32
const char * LPCSTR
Definition: xmlstorage.h:183
char * LPSTR
Definition: xmlstorage.h:182
__wchar_t WCHAR
Definition: xmlstorage.h:180
WCHAR * LPWSTR
Definition: xmlstorage.h:184
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
unsigned char BYTE
Definition: xxhash.c:193