ReactOS 0.4.16-dev-979-g79f281e
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
212
213/* FUNCTIONS *****************************************************************/
214
215static inline
219HEAP_alloc(_In_ SIZE_T len)
220{
222 return RtlAllocateHeap(hProcessHeap, 0, len);
223}
224
225static inline VOID FASTCALL
227{
230}
231
233HEAP_strdupA2W(_Outptr_ PWSTR* ppszW, _In_ PCSTR lpszA);
234
235/* Buffered string conversion (quicker) */
238 _In_ PCSTR lpszA,
239 _In_ PWSTR pszStaticBuff,
240 _In_ SIZE_T cchStaticBuff);
241
242/* Free memory allocated by HEAP_strdupA2W_buf */
243static inline VOID FASTCALL
245 _In_opt_ PWSTR pszDynamicBuff,
246 _In_ PWSTR pszStaticBuff)
247{
248 if (pszDynamicBuff && pszDynamicBuff != pszStaticBuff)
249 HEAP_free(pszDynamicBuff);
250}
251
252VOID
255 const TEXTMETRICW *ptmW,
256 LPTEXTMETRICA ptmA
257);
258
259VOID
262 NEWTEXTMETRICA *tma,
263 NEWTEXTMETRICW *tmw
264);
265
266VOID
269 NEWTEXTMETRICEXA *tma,
271);
272
273BOOL
276
277BOOL
278WINAPI
280
281BOOL
283 HGDIOBJ hGdiObj,
286);
287
288PLDC
291
292BOOL
294GdiSetLDC(HDC hdc, PVOID pvLDC);
295
297WINAPI
299
300BOOL
301WINAPI
304 UINT *ColorSpec,
305 UINT *ColorTableSize
306);
307
309WINAPI
311 CONST BITMAPINFO *BitmapInfo,
312 UINT ColorSpec,
313 UINT *BitmapInfoSize,
314 BOOL FollowedByData
315);
316
317DWORD
318WINAPI
320 _In_ HDC hdc,
321 _In_ UINT u,
323 _In_ ULONG ulMFId,
324 _In_ USHORT usMF16Id,
325 _In_ DWORD dwError);
326
327DWORD
328WINAPI
330 _In_ HDC hdc,
331 _In_ UINT u,
332 _In_ DWORD dwError);
333
335WINAPI
337
338VOID
339NTAPI
341 LPLOGFONTW pW,
342 CONST LOGFONTA *pA
343);
344
345VOID
346NTAPI
348 LPLOGFONTA pA,
349 CONST LOGFONTW *pW
350);
351
352VOID
353WINAPI
355 LPENUMLOGFONTEXA fontA,
357
358BOOL
359WINAPI
360LoadLPK(
361 INT LpkFunctionID
362);
363
364VOID
365WINAPI
367 _In_ DWORD InitParam);
368
369VOID
370WINAPI
372 _In_ FARPROC *hookfuncs);
373
374BOOL
375WINAPI
377 EXTTEXTMETRIC *petm);
378
379/* FIXME: Put in some public header */
380UINT
381WINAPI
383
384int
385WINAPI
387
388VOID
389WINAPI
390GdiSetLastError( DWORD dwErrCode );
391
393
394int
395WINAPI
397
400
404
406PVOID
408 HDC hdc,
409 USHORT Cmd)
410{
411 PTEB pTeb;
413 PGDIBATCHHDR pHdr;
414
415 /* Get a pointer to the TEB */
416 pTeb = NtCurrentTeb();
417
418 /* Check if we have a valid environment */
419 if (!pTeb || !pTeb->Win32ThreadInfo) return NULL;
420
421 /* Get the size of the entry */
422 if (Cmd == GdiBCPatBlt) cjSize = sizeof(GDIBSPATBLT);
423 else if (Cmd == GdiBCPolyPatBlt) cjSize = sizeof(GDIBSPPATBLT);
424 else if (Cmd == GdiBCTextOut) cjSize = sizeof(GDIBSTEXTOUT);
425 else if (Cmd == GdiBCExtTextOut) cjSize = sizeof(GDIBSEXTTEXTOUT);
426 else if (Cmd == GdiBCSetBrushOrg) cjSize = sizeof(GDIBSSETBRHORG);
427 else if (Cmd == GdiBCExtSelClipRgn) cjSize = sizeof(GDIBSEXTSELCLPRGN);
428 else if (Cmd == GdiBCSelObj) cjSize = sizeof(GDIBSOBJECT);
429 else if (Cmd == GdiBCDelRgn) cjSize = sizeof(GDIBSOBJECT);
430 else if (Cmd == GdiBCDelObj) cjSize = sizeof(GDIBSOBJECT);
431 else cjSize = 0;
432
433 /* Unsupported operation */
434 if (cjSize == 0) return NULL;
435
436 /* Do we use a DC? */
437 if (hdc)
438 {
439 /* If the batch DC is NULL, we set this one as the new one */
440 if (!pTeb->GdiTebBatch.HDC) pTeb->GdiTebBatch.HDC = hdc;
441
442 /* If not, check if the batch DC equal to our DC */
443 else if (pTeb->GdiTebBatch.HDC != hdc) return NULL;
444 }
445
446 /* Check if the buffer is full */
447 if ((pTeb->GdiBatchCount >= GDI_BatchLimit) ||
449 {
450 /* Call win32k, the kernel will call NtGdiFlushUserBatch to flush
451 the current batch */
452 NtGdiFlush();
453
454 // If Flushed, lose the hDC for this batch job! See CORE-15839.
455 if (hdc)
456 {
457 if (!pTeb->GdiTebBatch.HDC) pTeb->GdiTebBatch.HDC = hdc;
458 }
459 }
460
461 /* Get the head of the entry */
462 pHdr = (PVOID)((PUCHAR)pTeb->GdiTebBatch.Buffer + pTeb->GdiTebBatch.Offset);
463
464 /* Update Offset and batch count */
465 pTeb->GdiTebBatch.Offset += cjSize;
466 pTeb->GdiBatchCount++;
467
468 /* Fill in the core fields */
469 pHdr->Cmd = Cmd;
470 pHdr->Size = cjSize;
471
472 return pHdr;
473}
474
478{
479 GDILOOBJTYPE eDcObjType;
480 PDC_ATTR pdcattr;
481
482 /* Check DC object type */
483 eDcObjType = GDI_HANDLE_GET_TYPE(hdc);
484 if ((eDcObjType != GDILoObjType_LO_DC_TYPE) &&
485 (eDcObjType != GDILoObjType_LO_ALTDC_TYPE))
486 {
487 return NULL;
488 }
489
490 /* Get the DC attribute */
491 if (!GdiGetHandleUserData((HGDIOBJ)hdc, eDcObjType, (PVOID*)&pdcattr))
492 {
493 return NULL;
494 }
495
496 return pdcattr;
497}
498
502{
503 PRGN_ATTR prgnattr;
504
505 /* Get the region attribute */
507 {
508 return NULL;
509 }
510
511 return prgnattr;
512}
513
514#ifdef _M_IX86
516#define FOtoF(pfo) EFtoF((EFLOAT_S*)pfo)
517#else
518#define FOtoF(pfo) (*(pfo))
519#endif
520
521/* This is an inlined version of lrintf. */
523int
524_lrintf(float f)
525{
526#if defined(_M_IX86) && defined(__GNUC__)
527 int result;
528 __asm__ __volatile__ ("fistpl %0" : "=m" (result) : "t" (f) : "st");
529 return result;
530#elif defined(_M_IX86) && defined(_MSC_VER)
531 int result;
532 __asm
533 {
534 fld f;
535 fistp result;
536 }
537#else
538 /* slow, but portable */
539 return (int)(f >= 0 ? f+0.5 : f-0.5);
540#endif
541}
542
543HBRUSH
544WINAPI
546 _In_ HDC hdc,
547 _In_ HBRUSH hbr);
548
549HPEN
550WINAPI
552 _In_ HDC hdc,
553 _In_ HPEN hpen);
554
555HFONT
556WINAPI
558 _In_ HDC hdc,
560
562WINAPI
564 _In_ PVOID pvObject,
565 _In_ GDILOOBJTYPE eObjType);
566
567PVOID
568WINAPI
570 _In_ HGDIOBJ hobj);
571
572BOOL
573WINAPI
575 _In_ HGDIOBJ hobj,
576 _In_ PVOID pvObject);
577
578PVOID
579WINAPI
581 _In_ HGDIOBJ hobj);
582
583PVOID
584WINAPI
586 _In_ HGDIOBJ hobj);
587
588extern ULONG gcClientObj;
589
590VOID
591WINAPI
593
594BOOL
595WINAPI
597 _In_ HDC hdc);
598
600
601BOOL
602WINAPI
604 HDC hdc,
605 INT x,
606 INT y,
607 UINT fuOptions,
608 const RECT *lprc,
609 LPCWSTR lpString,
610 UINT cchString,
611 const INT *lpDx);
612
613
614/* The following METADC_* functions follow this pattern: */
615#define HANDLE_METADC(_RetType, _Func, dwError, hdc, ...) \
616 if (GDI_HANDLE_GET_TYPE(hdc) != GDILoObjType_LO_DC_TYPE) \
617 { \
618 if (GDI_HANDLE_GET_TYPE(hdc) == GDILoObjType_LO_METADC16_TYPE) \
619 { \
620 return (_RetType)METADC_##_Func(hdc, __VA_ARGS__); \
621 } \
622 else \
623 { \
624 PLDC pLDC = GdiGetLDC(hdc); \
625 _RetType _Ret = dwError; \
626 if ( !pLDC ) \
627 { \
628 SetLastError(ERROR_INVALID_HANDLE); \
629 return (_RetType)_Ret; \
630 } \
631 if ( pLDC->iType == LDC_EMFLDC && !(EMFDC_##_Func(pLDC, __VA_ARGS__)) ) \
632 { \
633 return (_RetType)_Ret; \
634 } \
635 /* Fall through to support information DC's.*/ \
636 } \
637 }
638
639#define HANDLE_METADC16(_RetType, _Func, dwError, hdc, ...) \
640 if (GDI_HANDLE_GET_TYPE(hdc) != GDILoObjType_LO_DC_TYPE) \
641 { \
642 if (GDI_HANDLE_GET_TYPE(hdc) == GDILoObjType_LO_METADC16_TYPE) \
643 { \
644 return METADC_##_Func(hdc, __VA_ARGS__); \
645 } \
646 }
647
648#define HANDLE_METADC0P(_RetType, _Func, dwError, hdc, ...) \
649 if (GDI_HANDLE_GET_TYPE(hdc) != GDILoObjType_LO_DC_TYPE) \
650 { \
651 PLDC pLDC = NULL; \
652 _RetType _Ret = dwError; \
653 if (GDI_HANDLE_GET_TYPE(hdc) == GDILoObjType_LO_METADC16_TYPE) \
654 { \
655 return (_RetType)_Ret; \
656 } \
657 pLDC = GdiGetLDC(hdc); \
658 if ( !pLDC ) \
659 { \
660 SetLastError(ERROR_INVALID_HANDLE); \
661 return (_RetType)_Ret; \
662 } \
663 if ( pLDC->iType == LDC_EMFLDC && !(EMFDC_##_Func(pLDC)) ) \
664 { \
665 return (_RetType)_Ret; \
666 } \
667 /* Fall through to support information DC's.*/ \
668 }
669
670#define HANDLE_EMETAFDC(_RetType, _Func, dwError, hdc, ...) \
671 if (GDI_HANDLE_GET_TYPE(hdc) != GDILoObjType_LO_DC_TYPE) \
672 { \
673 PLDC pLDC = NULL; \
674 _RetType _Ret = dwError; \
675 if (GDI_HANDLE_GET_TYPE(hdc) == GDILoObjType_LO_METADC16_TYPE) \
676 { \
677 return (_RetType)_Ret; \
678 } \
679 pLDC = GdiGetLDC(hdc); \
680 if ( !pLDC ) \
681 { \
682 SetLastError(ERROR_INVALID_HANDLE); \
683 return (_RetType)_Ret; \
684 } \
685 if ( pLDC->iType == LDC_EMFLDC && !(EMFDC_##_Func(pLDC, __VA_ARGS__)) ) \
686 { \
687 return (_RetType)_Ret; \
688 } \
689 /* Fall through to support information DC's.*/ \
690 }
691
692#define HANDLE_METADC1P(_RetType, _Func, dwError, hdc, ...) \
693 if (GDI_HANDLE_GET_TYPE(hdc) != GDILoObjType_LO_DC_TYPE) \
694 { \
695 if (GDI_HANDLE_GET_TYPE(hdc) == GDILoObjType_LO_METADC16_TYPE) \
696 { \
697 return (_RetType)METADC_##_Func(hdc); \
698 } \
699 else \
700 { \
701 PLDC pLDC = GdiGetLDC(hdc); \
702 _RetType _Ret = dwError; \
703 if ( !pLDC ) \
704 { \
705 SetLastError(ERROR_INVALID_HANDLE); \
706 return (_RetType)_Ret; \
707 } \
708 if ( pLDC->iType == LDC_EMFLDC && !(EMFDC_##_Func(pLDC)) ) \
709 { \
710 return (_RetType)_Ret; \
711 } \
712 /* Fall through to support information DC's.*/ \
713 } \
714 }
715
716
719
721
723
724/* meta dc files */
726 INT xstart, INT ystart, INT xend, INT yend ) DECLSPEC_HIDDEN;
727extern BOOL METADC_BitBlt( HDC hdc_dst, INT x_dst, INT y_dst, INT width, INT height,
728 HDC hdc_src, INT x_src, INT y_src, DWORD rop );
729extern BOOL METADC_Chord( HDC hdc, INT left, INT top, INT right, INT bottom, INT xstart,
730 INT ystart, INT xend, INT yend ) DECLSPEC_HIDDEN;
734extern BOOL METADC_ExtEscape( HDC hdc, INT escape, INT input_size, LPCSTR input, INT output_size, LPVOID output ) DECLSPEC_HIDDEN;
736 UINT fill_type ) DECLSPEC_HIDDEN;
738extern BOOL METADC_ExtTextOut( HDC hdc, INT x, INT y, UINT flags, const RECT *rect,
739 const WCHAR *str, UINT count, const INT *dx ) DECLSPEC_HIDDEN;
740extern BOOL METADC_FillRgn( HDC hdc, HRGN hrgn, HBRUSH hbrush ) DECLSPEC_HIDDEN;
741extern BOOL METADC_FrameRgn( HDC hdc, HRGN hrgn, HBRUSH hbrush, INT x, INT y ) DECLSPEC_HIDDEN;
754 INT xstart, INT ystart, INT xend, INT yend ) DECLSPEC_HIDDEN;
755extern BOOL METADC_PolyPolygon( HDC hdc, const POINT *points, const INT *counts,
756 UINT polygons ) DECLSPEC_HIDDEN;
763 INT ell_width, INT ell_height ) DECLSPEC_HIDDEN;
765extern BOOL METADC_ScaleViewportExtEx( HDC hdc, INT x_num, INT x_denom, INT y_num,
766 INT y_denom ) DECLSPEC_HIDDEN;
767extern BOOL METADC_ScaleWindowExtEx( HDC hdc, INT x_num, INT x_denom, INT y_num,
768 INT y_denom ) DECLSPEC_HIDDEN;
773extern INT METADC_SetDIBitsToDevice( HDC hdc, INT x_dest, INT y_dest, DWORD width, DWORD height,
774 INT x_src, INT y_src, UINT startscan, UINT lines,
775 const void *bits, const BITMAPINFO *info,
776 UINT coloruse ) DECLSPEC_HIDDEN;
793extern BOOL METADC_StretchBlt( HDC hdc_dst, INT x_dst, INT y_dst, INT width_dst, INT height_dst,
794 HDC hdc_src, INT x_src, INT y_src, INT width_src, INT height_src,
795 DWORD rop );
796extern BOOL METADC_StretchDIBits( HDC hdc, INT x_dst, INT y_dst, INT width_dst, INT height_dst,
797 INT x_src, INT y_src, INT width_src, INT height_src,
798 const void *bits, const BITMAPINFO *info, UINT coloruse,
800/* enhanced metafiles */
802extern BOOL EMFDC_AlphaBlend( LDC *dc_attr, INT x_dst, INT y_dst, INT width_dst, INT height_dst,
803 HDC hdc_src, INT x_src, INT y_src, INT width_src, INT height_src,
804 BLENDFUNCTION blend_function );
805extern BOOL EMFDC_AngleArc( LDC *dc_attr, INT x, INT y, DWORD radius, FLOAT start,
806 FLOAT sweep ) DECLSPEC_HIDDEN;
808 INT bottom, INT xstart, INT ystart, INT xend,
811extern BOOL EMFDC_BitBlt( LDC *dc_attr, INT x_dst, INT y_dst, INT width, INT height,
812 HDC hdc_src, INT x_src, INT y_src, DWORD rop );
821 UINT fill_type ) DECLSPEC_HIDDEN;
823extern BOOL EMFDC_ExtTextOut( LDC *dc_attr, INT x, INT y, UINT flags, const RECT *rect,
824 const WCHAR *str, UINT count, const INT *dx ) DECLSPEC_HIDDEN;
826extern BOOL EMFDC_FillRgn( LDC *dc_attr, HRGN hrgn, HBRUSH hbrush ) DECLSPEC_HIDDEN;
828extern BOOL EMFDC_FrameRgn( LDC *dc_attr, HRGN hrgn, HBRUSH hbrush, INT width,
830extern BOOL EMFDC_GradientFill( LDC *dc_attr, TRIVERTEX *vert_array, ULONG nvert,
831 void *grad_array, ULONG ngrad, ULONG mode ) DECLSPEC_HIDDEN;
834extern BOOL EMFDC_InvertRgn( LDC *dc_attr, HRGN hrgn ) DECLSPEC_HIDDEN;
836extern BOOL EMFDC_ModifyWorldTransform( LDC *dc_attr, const XFORM *xform,
840extern BOOL EMFDC_PaintRgn( LDC *dc_attr, HRGN hrgn ) DECLSPEC_HIDDEN;
844extern BOOL EMFDC_PolyDraw( LDC *dc_attr, const POINT *points, const BYTE *types,
846extern BOOL EMFDC_PolyPolyline( LDC *dc_attr, const POINT *points, const DWORD *counts,
847 DWORD polys ) DECLSPEC_HIDDEN;
848extern BOOL EMFDC_PolyPolygon( LDC *dc_attr, const POINT *points, const INT *counts,
849 UINT polys ) DECLSPEC_HIDDEN;
857 INT ell_width, INT ell_height ) DECLSPEC_HIDDEN;
859extern BOOL EMFDC_ScaleViewportExtEx( LDC *dc_attr, INT x_num, INT x_denom, INT y_num,
860 INT y_denom ) DECLSPEC_HIDDEN;
861extern BOOL EMFDC_ScaleWindowExtEx( LDC *dc_attr, INT x_num, INT x_denom, INT y_num,
862 INT y_denom ) DECLSPEC_HIDDEN;
871extern BOOL EMFDC_SetDIBitsToDevice( LDC *dc_attr, INT x_dest, INT y_dest, DWORD width,
872 DWORD height, INT x_src, INT y_src, UINT startscan,
873 UINT lines, const void *bits, const BITMAPINFO *info,
874 UINT coloruse ) DECLSPEC_HIDDEN;
889extern BOOL EMFDC_SetWorldTransform( LDC *dc_attr, const XFORM *xform ) DECLSPEC_HIDDEN;
890extern BOOL EMFDC_StretchBlt( LDC *dc_attr, INT x_dst, INT y_dst, INT width_dst, INT height_dst,
891 HDC hdc_src, INT x_src, INT y_src, INT width_src, INT height_src,
892 DWORD rop );
893extern BOOL EMFDC_StretchDIBits( LDC *dc_attr, INT x_dst, INT y_dst, INT width_dst,
894 INT height_dst, INT x_src, INT y_src, INT width_src,
895 INT height_src, const void *bits, const BITMAPINFO *info,
896 UINT coloruse, DWORD rop ) DECLSPEC_HIDDEN;
900
901
902BOOL 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);
903BOOL EMFDC_PlgBlt( LDC *dc_attr, const POINT * ppt, HDC hdcSrc, INT xSrc, INT ySrc, INT cx, INT cy, HBITMAP hbmMask, INT xMask, INT yMask);
904BOOL 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);
907BOOL EMFDC_WriteNamedEscape( LDC *dc_attr, PWCHAR pDriver, INT nEscape, INT cbInput, LPCSTR lpszInData);
908BOOL EMFDC_WriteEscape( LDC *dc_attr, INT nEscape, INT cbInput, LPSTR lpszInData, DWORD emrType);
909
910
911FORCEINLINE BOOL EMFDC_Arc( PLDC dc_attr, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend )
912{
913 return EMFDC_ArcChordPie( dc_attr, left, top, right, bottom, xstart, ystart, xend, yend, EMR_ARC );
914}
915
916FORCEINLINE BOOL EMFDC_ArcTo( PLDC dc_attr, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend )
917{
918return EMFDC_ArcChordPie( dc_attr, left, top, right, bottom, xstart, ystart, xend, yend, EMR_ARCTO );
919}
920FORCEINLINE BOOL EMFDC_Chord( PLDC dc_attr, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend )
921{
922return EMFDC_ArcChordPie( dc_attr, left, top, right, bottom, xstart, ystart, xend, yend, EMR_CHORD );
923}
924
925FORCEINLINE BOOL EMFDC_Pie( PLDC dc_attr, INT left, INT top, INT right, INT bottom, INT xstart, INT ystart, INT xend, INT yend )
926{
927return EMFDC_ArcChordPie( dc_attr, left, top, right, bottom, xstart, ystart, xend, yend, EMR_PIE );
928}
929
931
932/* 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
PVOID NTAPI RtlAllocateHeap(IN PVOID HeapHandle, IN ULONG Flags, IN SIZE_T Size)
Definition: heap.c:616
BOOLEAN NTAPI RtlFreeHeap(IN PVOID HeapHandle, IN ULONG Flags, IN PVOID HeapBase)
Definition: heap.c:634
#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
#define __drv_freesMem(kind)
Definition: driverspecs.h:272
#define __drv_allocatesMem(kind)
Definition: driverspecs.h:257
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:407
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:203
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:1435
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:524
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)
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:1495
VOID FASTCALL NewTextMetricW2A(NEWTEXTMETRICA *tma, NEWTEXTMETRICW *tmw)
Definition: font.c:193
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
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)
PWSTR FASTCALL HEAP_strdupA2W_buf(_In_ PCSTR lpszA, _In_ PWSTR pszStaticBuff, _In_ SIZE_T cchStaticBuff)
Definition: heap.c:53
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:81
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:2550
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:1465
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
static VOID FASTCALL HEAP_free(_In_ __drv_freesMem(Mem) PVOID memory)
Definition: gdi32p.h:226
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:911
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:920
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:916
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
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:925
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:501
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:477
BOOL EMFDC_SetViewportExtEx(LDC *dc_attr, INT x, INT y) DECLSPEC_HIDDEN
HANDLE hProcessHeap
Definition: gdi32p.h:211
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
NTSTATUS FASTCALL HEAP_strdupA2W(_Outptr_ PWSTR *ppszW, _In_ PCSTR lpszA)
Definition: heap.c:34
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
static VOID FASTCALL HEAP_strdupA2W_buf_free(_In_opt_ PWSTR pszDynamicBuff, _In_ PWSTR pszStaticBuff)
Definition: gdi32p.h:244
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:2346
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 count
Definition: gl.h:1545
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
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
GLuint64EXT * result
Definition: glext.h:11304
GLenum GLsizei len
Definition: glext.h:6722
GLenum GLenum GLenum input
Definition: glext.h:9031
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
#define ASSERT(a)
Definition: mode.c:44
HDC hdc
Definition: main.c:9
static HBITMAP
Definition: button.c:44
static HDC
Definition: imagelist.c:88
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
_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 _Ret_maybenull_
Definition: no_sal2.h:328
#define _Outptr_
Definition: no_sal2.h:262
#define _In_
Definition: no_sal2.h:158
#define _In_opt_
Definition: no_sal2.h:212
#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:374
__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
uint16_t * PWSTR
Definition: typedefs.h:56
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
ULONG_PTR SIZE_T
Definition: typedefs.h:80
int32_t INT
Definition: typedefs.h:58
const char * PCSTR
Definition: typedefs.h:52
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:4477
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