ReactOS 0.4.15-dev-6068-g8061a6f
drvdbg.c
Go to the documentation of this file.
1/*
2 * PROJECT: Win32 subsystem
3 * LICENSE: GNU GPL, see COPYING in the top level directory
4 * FILE: win32ss/gdi/eng/drvdbg.c
5 * PURPOSE: Debug hooks for display driver callbacks
6 * PROGRAMMERS: Timo Kreuzer
7 */
8
9#include <win32k.h>
11
15
16VOID
18{
20}
21
25 _In_ DEVMODEW *pdm,
27 ULONG cPat,
28 _In_opt_ HSURF *phsurfPatterns,
30 _Out_ ULONG *pdevcaps,
33 HDEV hdev,
36{
37 PPDEVOBJ ppdev = (PPDEVOBJ)hdev;
38
39 ASSERT(pdm);
40 ASSERT(hdev);
41
42 return ppdev->pldev->pfn.EnablePDEV(pdm,
44 cPat,
45 phsurfPatterns,
46 cjCaps,
47 pdevcaps,
49 pdi,
50 hdev,
52 hDriver);
53}
54
55VOID
58 DHPDEV dhpdev,
59 HDEV hdev)
60{
61 PPDEVOBJ ppdev = (PPDEVOBJ)hdev;
62
63 ASSERT(ppdev);
64
65 ppdev->pldev->pfn.CompletePDEV(dhpdev, hdev);
66}
67
68VOID
71 DHPDEV dhpdev)
72{
73 PPDEVOBJ ppdev = DbgLookupDHPDEV(dhpdev);
74
75 ASSERT(ppdev);
76
77 ppdev->pldev->pfn.DisablePDEV(dhpdev);
78}
79
83 DHPDEV dhpdev)
84{
85 PPDEVOBJ ppdev = DbgLookupDHPDEV(dhpdev);
86
87 ASSERT(ppdev);
88
89 return ppdev->pldev->pfn.EnableSurface(dhpdev);
90}
91
92VOID
95 DHPDEV dhpdev)
96{
97 PPDEVOBJ ppdev = DbgLookupDHPDEV(dhpdev);
98
99 ASSERT(ppdev);
100
101 ppdev->pldev->pfn.DisableSurface(dhpdev);
102}
103
104BOOL
107 _In_ DHPDEV dhpdev,
109{
110 PPDEVOBJ ppdev = DbgLookupDHPDEV(dhpdev);
111
112 ASSERT(ppdev);
113
114 return ppdev->pldev->pfn.AssertMode(dhpdev, bEnable);
115}
116
117BOOL
120 SURFOBJ* pso,
121 LONG x1,
122 LONG x2,
123 FLONG fl)
124{
125 PPDEVOBJ ppdev = (PPDEVOBJ)pso->hdev;
126
127 ASSERT(FALSE);
128 return 0;
129}
130
131ULONG
134 DHPDEV dhpdev,
136{
137 PPDEVOBJ ppdev = DbgLookupDHPDEV(dhpdev);
138
139 ASSERT(ppdev);
140
141 return ppdev->pldev->pfn.ResetDevice(dhpdev, Reserved);
142}
143
144VOID
147{
148 ASSERT(FALSE);
149}
150
154 DHPDEV dhpdev,
155 SIZEL sizl,
157{
158 PPDEVOBJ ppdev = DbgLookupDHPDEV(dhpdev);
159
160 ASSERT(ppdev);
161
162 return ppdev->pldev->pfn.CreateDeviceBitmap(dhpdev, sizl, iFormat);
163}
164
165VOID
168 DHSURF dhsurf)
169{
170 ASSERT(FALSE);
171}
172
173BOOL
182{
183 PPDEVOBJ ppdev = (PPDEVOBJ)psoTarget->hdev;
184 ASSERT(FALSE);
185 return 0;
186}
187
188ULONG
191 _In_ DHPDEV dhpdev,
193 _In_ ULONG rgb,
194 _Inout_ ULONG *pul)
195{
196 PPDEVOBJ ppdev = DbgLookupDHPDEV(dhpdev);
197
198 ASSERT(ppdev);
199
200 return ppdev->pldev->pfn.DitherColor(dhpdev, iMode, rgb, pul);
201}
202
203BOOL
213 _In_ MIX mix)
214{
215 PPDEVOBJ ppdev = (PPDEVOBJ)pso->hdev;
216 ASSERT(FALSE);
217 return 0;
218}
219
220BOOL
228 _In_ MIX mix,
230{
231 PPDEVOBJ ppdev = (PPDEVOBJ)pso->hdev;
232 ASSERT(FALSE);
233 return 0;
234}
235
236BOOL
249{
250 PPDEVOBJ ppdev = (PPDEVOBJ)pso->hdev;
251 ASSERT(FALSE);
252 return 0;
253}
254
255BOOL
258 IN SURFOBJ *pso,
259 IN CLIPOBJ *pco,
260 IN BRUSHOBJ *pbo,
262 IN MIX mix)
263{
264 PPDEVOBJ ppdev = (PPDEVOBJ)pso->hdev;
265 return 0;
266}
267
268BOOL
271 _Inout_ SURFOBJ *psoTrg,
281 _In_ ROP4 rop4)
282{
283 PSURFACE psurfTrg = CONTAINING_RECORD(psoTrg, SURFACE, SurfObj);
284 PSURFACE psurfSrc = CONTAINING_RECORD(psoSrc, SURFACE, SurfObj);
285 PPDEVOBJ ppdev;
286
287 /* Get the right BitBlt function */
288 if (psurfTrg->flags & HOOK_BITBLT)
289 {
290 ppdev = (PPDEVOBJ)psoTrg->hdev;
291 }
292 else
293 {
295 ASSERT(psurfSrc->flags & HOOK_BITBLT);
296 ppdev = (PPDEVOBJ)psoSrc->hdev;
297 }
298
299 /* Sanity checks */
301 ASSERT(psoTrg);
302 ASSERT(psoTrg->iBitmapFormat >= BMF_1BPP);
303 ASSERT(psoTrg->iBitmapFormat <= BMF_32BPP);
305 ASSERT(prclTrg->left >= 0);
306 ASSERT(prclTrg->top >= 0);
307 ASSERT(prclTrg->right <= psoTrg->sizlBitmap.cx);
308 ASSERT(prclTrg->bottom <= psoTrg->sizlBitmap.cy);
310 ASSERT(pco);
311 ASSERT(pco->iDComplexity != DC_RECT);
312
314 {
315 ASSERT(psoSrc);
316 ASSERT(psoSrc->iBitmapFormat >= BMF_1BPP);
317 ASSERT(psoSrc->iBitmapFormat <= BMF_8RLE);
319 ASSERT(pptlSrc->x >= 0);
320 ASSERT(pptlSrc->y >= 0);
321 ASSERT(pptlSrc->x <= psoTrg->sizlBitmap.cx);
322 ASSERT(pptlSrc->y <= psoTrg->sizlBitmap.cy);
323 }
324
325 if (ROP4_USES_MASK(rop4))
326 {
328 ASSERT(psoMask->iBitmapFormat == BMF_1BPP);
330 ASSERT(pptlMask->x >= 0);
331 ASSERT(pptlMask->y >= 0);
332 ASSERT(pptlMask->x <= psoMask->sizlBitmap.cx);
333 ASSERT(pptlMask->y <= psoMask->sizlBitmap.cy);
334
335 }
336
338 {
339 ASSERT(pbo);
341 }
342
343
344 return ppdev->pldev->pfn.BitBlt(psoTrg,
345 psoSrc,
346 psoMask,
347 pco,
348 pxlo,
349 prclTrg,
350 pptlSrc,
351 pptlMask,
352 pbo,
353 pptlBrush,
354 rop4);
355}
356
357BOOL
360 SURFOBJ *psoTrg,
362 CLIPOBJ *pco,
363 XLATEOBJ *pxlo,
364 RECTL *prclTrg,
366{
367 PSURFACE psurfTrg = CONTAINING_RECORD(psoTrg, SURFACE, SurfObj);
368 PSURFACE psurfSrc = CONTAINING_RECORD(psoSrc, SURFACE, SurfObj);
369 PPDEVOBJ ppdev;
370
371 /* Get the right BitBlt function */
372 if (psurfTrg->flags & HOOK_COPYBITS)
373 {
374 ppdev = (PPDEVOBJ)psoTrg->hdev;
375 }
376 else
377 {
378 ASSERT(psurfSrc->flags & HOOK_COPYBITS);
379 ppdev = (PPDEVOBJ)psoSrc->hdev;
380 }
381
382 return ppdev->pldev->pfn.CopyBits(psoTrg,
383 psoSrc,
384 pco,
385 pxlo,
386 prclTrg,
387 pptlSrc);
388
389}
390
391BOOL
394 _Inout_ SURFOBJ *psoTrg,
405{
406 PSURFACE psurfTrg = CONTAINING_RECORD(psoTrg, SURFACE, SurfObj);
407 PSURFACE psurfSrc = CONTAINING_RECORD(psoSrc, SURFACE, SurfObj);
408
409 return 0;
410}
411
412BOOL
415 DHPDEV dhpdev,
416 PALOBJ *ppalo,
417 FLONG fl,
419 ULONG cColors)
420{
421 PPDEVOBJ ppdev = DbgLookupDHPDEV(dhpdev);
422
423 ASSERT(ppdev);
424
425 return ppdev->pldev->pfn.SetPalette(dhpdev, ppalo, fl, iStart, cColors);
426}
427
428BOOL
431 SURFOBJ *pso,
432 STROBJ *pstro,
433 FONTOBJ *pfo,
434 CLIPOBJ *pco,
440 MIX mix)
441{
442 PPDEVOBJ ppdev = (PPDEVOBJ)pso->hdev;
443 return 0;
444}
445
446ULONG
452 _In_ PVOID pvIn,
454 _Out_ PVOID pvOut)
455{
456 PPDEVOBJ ppdev = (PPDEVOBJ)pso->hdev;
457 return 0;
458}
459
460ULONG
466 _In_ RECTL *prcl,
468 _In_ PVOID pvIn)
469{
470 PPDEVOBJ ppdev = (PPDEVOBJ)pso->hdev;
471 return 0;
472}
473
477 DHPDEV dhpdev,
479 ULONG iFace,
480 ULONG_PTR *pid)
481{
482 PPDEVOBJ ppdev = DbgLookupDHPDEV(dhpdev);
483
484 ASSERT(ppdev);
485
486 return ppdev->pldev->pfn.QueryFont(dhpdev, iFile, iFace, pid);
487}
488
489PVOID
492 DHPDEV dhpdev,
494 ULONG iFace,
495 ULONG iMode,
496 ULONG_PTR *pid)
497{
498 return 0;
499}
500
501LONG
504 DHPDEV dhpdev,
505 FONTOBJ *pfo,
506 ULONG iMode,
507 HGLYPH hg,
508 GLYPHDATA *pgd,
509 _Out_ PVOID pv,
511{
512 PPDEVOBJ ppdev = DbgLookupDHPDEV(dhpdev);
513
514 ASSERT(ppdev);
515
516 return ppdev->pldev->pfn.QueryFontData(dhpdev, pfo, iMode, hg, pgd, pv, cjSize);
517}
518
519ULONG
526 _In_ LONG xHot,
527 _In_ LONG yHot,
528 _In_ LONG x,
529 _In_ LONG y,
530 _In_ RECTL *prcl,
531 _In_ FLONG fl)
532{
533 PPDEVOBJ ppdev = (PPDEVOBJ)pso->hdev;
534 return 0;
535}
536
537VOID
541 _In_ LONG x,
542 _In_ LONG y,
543 _In_ RECTL *prcl)
544{
545 PPDEVOBJ ppdev = (PPDEVOBJ)pso->hdev;
546}
547
548BOOL
551 SURFOBJ *pso,
552 CLIPOBJ *pco,
553 BRUSHOBJ *pbo,
554 LONG x1,
555 LONG y1,
556 LONG x2,
557 LONG y2,
559 MIX mix)
560{
561 PPDEVOBJ ppdev = (PPDEVOBJ)pso->hdev;
562 return 0;
563}
564
565BOOL
569{
570 PPDEVOBJ ppdev = (PPDEVOBJ)pso->hdev;
571 return 0;
572}
573
574BOOL
578{
579 PPDEVOBJ ppdev = (PPDEVOBJ)pso->hdev;
580 return 0;
581}
582
583BOOL
587 _In_ FLONG fl)
588{
589 PPDEVOBJ ppdev = (PPDEVOBJ)pso->hdev;
590 return 0;
591}
592
593BOOL
599{
600 PPDEVOBJ ppdev = (PPDEVOBJ)pso->hdev;
601 return 0;
602}
603
604ULONG
607 _In_ DHPDEV dhpdev,
609{
610 PPDEVOBJ ppdev = DbgLookupDHPDEV(dhpdev);
611
612 ASSERT(ppdev);
613
614 return ppdev->pldev->pfn.GetGlyphMode(dhpdev, pfo);
615}
616
617VOID
620 DHPDEV dhpdev,
621 RECTL *prcl)
622{
623 PPDEVOBJ ppdev = DbgLookupDHPDEV(dhpdev);
624
625 ASSERT(ppdev);
626
627 ppdev->pldev->pfn.Synchronize(dhpdev, prcl);
628}
629
633 SURFOBJ *pso,
634 ULONG iMode,
636 RECTL *prcl)
637{
638 PPDEVOBJ ppdev = (PPDEVOBJ)pso->hdev;
639 return 0;
640}
641
642ULONG
647 _Out_opt_ DEVMODEW *pdm)
648{
649 return 0;
650}
651
652VOID
655 PVOID pv,
656 ULONG_PTR id)
657{
658}
659
660VOID
663 FONTOBJ *pfo)
664{
665}
666
667LONG
670 ULONG culCaps,
671 ULONG *pulCaps)
672{
673 return 0;
674}
675
679 ULONG cFiles,
681 PVOID *ppvView,
682 ULONG *pcjView,
686{
687 return 0;
688}
689
690BOOL
694{
695 return 0;
696}
697
698ULONG
705 _In_ PVOID pvIn,
707 _Out_ PVOID pvOut)
708{
709 return 0;
710}
711
712LONG
717 ULONG ulTag,
719 ULONG cjBuf,
720 BYTE *pjBuf,
723{
724 return 0;
725}
726
727LONG
730 DHPDEV dhpdev,
731 FONTOBJ *pfo,
735 ULONG cjBuf,
736 TTPOLYGONHEADER *ppoly)
737{
738 PPDEVOBJ ppdev = DbgLookupDHPDEV(dhpdev);
739 return 0;
740}
741
742PVOID
746 ULONG *pcj)
747{
748 return 0;
749}
750
751LONG
756 ULONG cjBuf,
757 ULONG *pulBuf)
758{
759 return 0;
760}
761
762VOID
765 LONG x,
766 LONG y,
767 FLONG fl)
768{
769 ERR("Obsolete driver function %s called!\n", __FUNCTION__);
770 ASSERT(FALSE);
771}
772
773BOOL
776 DHPDEV dhpdev,
777 FONTOBJ *pfo,
778 ULONG iMode,
779 _In_ HGLYPH *phg,
780 _Out_ PVOID pvWidths,
782{
783 PPDEVOBJ ppdev = DbgLookupDHPDEV(dhpdev);
784 return 0;
785}
786
787BOOL
790 SURFOBJ *pso,
792 HWND hwnd)
793{
794 PPDEVOBJ ppdev = (PPDEVOBJ)pso->hdev;
795 return 0;
796}
797
798LONG
801 DHPDEV dhpdev,
803 ULONG cjpfd,
805{
806 PPDEVOBJ ppdev = DbgLookupDHPDEV(dhpdev);
807
808 ASSERT(ppdev);
809
810 return ppdev->pldev->pfn.DescribePixelFormat(dhpdev, iPixelFormat, cjpfd, ppfd);
811}
812
813BOOL
816 SURFOBJ *pso,
817 WNDOBJ *pwo)
818{
819 PPDEVOBJ ppdev = (PPDEVOBJ)pso->hdev;
820 return 0;
821}
822
823BOOL
828{
829 PPDEVOBJ ppdev = (PPDEVOBJ)pso->hdev;
830 return 0;
831}
832
833BOOL
838{
839 PPDEVOBJ ppdev = (PPDEVOBJ)pso->hdev;
840 return 0;
841}
842
843BOOL
846 DHPDEV dhpdev,
852{
853 PPDEVOBJ ppdev = DbgLookupDHPDEV(dhpdev);
854
855 ASSERT(ppdev);
856
857 return ppdev->pldev->pfn.GetDirectDrawInfo(dhpdev,
858 pHalInfo,
860 pvmList,
862 pdwFourCC);
863}
864
865BOOL
868 DHPDEV dhpdev,
872{
873 PPDEVOBJ ppdev = DbgLookupDHPDEV(dhpdev);
874
875 ASSERT(ppdev);
876
877 return ppdev->pldev->pfn.EnableDirectDraw(dhpdev,
881}
882
883VOID
886 DHPDEV dhpdev)
887{
888 PPDEVOBJ ppdev = DbgLookupDHPDEV(dhpdev);
889
890 ASSERT(ppdev);
891
892 ppdev->pldev->pfn.DisableDirectDraw(dhpdev);
893}
894
895BOOL
898{
899 ERR("Obsolete driver function %s called!\n", __FUNCTION__);
900 ASSERT(FALSE);
901 return 0;
902}
903
904HANDLE
907 _In_ DHPDEV dhpdev,
909 _In_opt_ PVOID pvSourceProfile,
911 _In_ PVOID pvDestProfile,
913 _In_opt_ PVOID pvTargetProfile,
916{
917 PPDEVOBJ ppdev = DbgLookupDHPDEV(dhpdev);
918
919 ASSERT(ppdev);
920
921 return ppdev->pldev->pfn.IcmCreateColorTransform(dhpdev,
923 pvSourceProfile,
925 pvDestProfile,
927 pvTargetProfile,
929 dwReserved);
930}
931
932BOOL
935 _In_ DHPDEV dhpdev,
937{
938 PPDEVOBJ ppdev = DbgLookupDHPDEV(dhpdev);
939
940 ASSERT(ppdev);
941
942 return ppdev->pldev->pfn.IcmDeleteColorTransform(dhpdev, hcmXform);
943}
944
945BOOL
948 DHPDEV dhpdev,
950 SURFOBJ *pso,
951 PBYTE paResults)
952{
953 PPDEVOBJ ppdev = DbgLookupDHPDEV(dhpdev);
954
955 ASSERT(ppdev);
956
957 return ppdev->pldev->pfn.IcmCheckBitmapBits(dhpdev,
959 pso,
960 paResults);
961}
962
963BOOL
966 DHPDEV dhpdev,
968 LPVOID lpRamp)
969{
970 PPDEVOBJ ppdev = DbgLookupDHPDEV(dhpdev);
971
972 ASSERT(ppdev);
973
974 return ppdev->pldev->pfn.IcmSetDeviceGammaRamp(dhpdev, iFormat, lpRamp);
975}
976
977BOOL
980 _Inout_ SURFOBJ *psoTrg,
990{
991 PPDEVOBJ ppdev = (PPDEVOBJ)psoTrg->hdev;
992 return 0;
993}
994
995BOOL
998 _Inout_ SURFOBJ *psoTrg,
1001 _In_ CLIPOBJ *pco,
1009 _In_ BRUSHOBJ *pbo,
1010 _In_ DWORD rop4)
1011{
1012 PPDEVOBJ ppdev = (PPDEVOBJ)psoTrg->hdev;
1013 return 0;
1014}
1015
1016BOOL
1019 _Inout_ SURFOBJ *psoTrg,
1022 _In_ CLIPOBJ *pco,
1027 _In_ RECTL *prcl,
1030{
1031 PPDEVOBJ ppdev = (PPDEVOBJ)psoTrg->hdev;
1032 return 0;
1033}
1034
1035BOOL
1038 _Inout_ SURFOBJ *psoDest,
1040 _In_ CLIPOBJ *pco,
1045{
1046 return 0;
1047}
1048
1049VOID
1052{
1053 ASSERT(FALSE);
1054}
1055
1056VOID
1059{
1060 ASSERT(FALSE);
1061}
1062
1063BOOL
1066 _Inout_ SURFOBJ *psoTrg,
1068 _In_ CLIPOBJ *pco,
1074{
1075 PPDEVOBJ ppdev = (PPDEVOBJ)psoTrg->hdev;
1076 return 0;
1077}
1078
1079ULONG
1082 _In_ SURFOBJ *pso,
1084{
1085 PPDEVOBJ ppdev = (PPDEVOBJ)pso->hdev;
1086 return 0;
1087}
1088
1089BOOL
1092 SURFOBJ *pso,
1093 XLATEOBJ *pxlo,
1094 XFORMOBJ *pxo,
1095 ULONG iType,
1096 ULONG cjIn,
1097 _In_ PVOID pvIn,
1098 ULONG cjOut,
1099 _Out_ PVOID pvOut)
1100{
1101 PPDEVOBJ ppdev = (PPDEVOBJ)pso->hdev;
1102 ASSERT(ppdev);
1103
1104 return ppdev->pldev->pfn.QueryDeviceSupport(pso,
1105 pxlo,
1106 (PVOID)pxo, // FIXME!!!
1107 iType,
1108 cjIn,
1109 pvIn,
1110 cjOut,
1111 pvOut);
1112}
1113
1114HBITMAP
1117 DD_DIRECTDRAW_GLOBAL *pDirectDraw,
1119{
1120 return 0;
1121}
1122
1126 _In_ FONTOBJ *pfo,
1128{
1129 return 0;
1130}
1131
1132VOID
1135 SURFOBJ *pso,
1136 ULONG iType,
1137 PVOID pvData)
1138{
1139 PPDEVOBJ ppdev = (PPDEVOBJ)pso->hdev;
1140 ASSERT(ppdev);
1141
1142 ppdev->pldev->pfn.Notify(pso, iType, pvData);
1143}
1144
1145VOID
1148 SURFOBJ *pso,
1149 RECTL *prcl,
1150 FLONG fl)
1151{
1152 PPDEVOBJ ppdev = (PPDEVOBJ)pso->hdev;
1153 ASSERT(ppdev);
1154
1155 ppdev->pldev->pfn.SynchronizeSurface(pso, prcl, fl);
1156}
1157
1158ULONG
1161 DHPDEV dhpdev,
1163{
1164 PPDEVOBJ ppdev = DbgLookupDHPDEV(dhpdev);
1165 ASSERT(ppdev);
1166
1167 return ppdev->pldev->pfn.ResetDevice(dhpdev, Reserved);
1168}
1169
1170PVOID
1172{
1181 NULL, //DbgDrvDisableDriver,
1182 DbgDrvReserved, // Unknown1
1184 NULL, //DbgDrvDeleteDeviceBitmap,
1192 NULL, //DbgDrvCopyBits,
1193 NULL, //DbgDrvStretchBlt,
1196 NULL, //DbgDrvTextOut,
1197 NULL, //DbgDrvEscape,
1198 NULL, //DbgDrvDrawEscape,
1200 NULL, //DbgDrvQueryFontTree,
1202 NULL, //DbgDrvSetPointerShape,
1203 NULL, //DbgDrvMovePointer,
1204 NULL, //DbgDrvLineTo,
1205 NULL, //DbgDrvSendPage,
1206 NULL, //DbgDrvStartPage,
1207 NULL, //DbgDrvEndDoc,
1208 NULL, //DbgDrvStartDoc,
1213 NULL, //DbgDrvSaveScreenBits,
1214 NULL, //DbgDrvGetModes,
1215 NULL, //DbgDrvFree,
1216 NULL, //DbgDrvDestroyFont,
1217 NULL, //DbgDrvQueryFontCaps,
1218 NULL, //DbgDrvLoadFontFile,
1219 NULL, //DbgDrvUnloadFontFile,
1220 NULL, //DbgDrvFontManagement,
1221 NULL, //DbgDrvQueryTrueTypeTable,
1222 NULL, //DbgDrvQueryTrueTypeOutline,
1223 NULL, //DbgDrvGetTrueTypeFile,
1224 NULL, //DbgDrvQueryFontFile,
1226 NULL, //DbgDrvQueryAdvanceWidths,
1227 NULL, //DbgDrvSetPixelFormat,
1229 NULL, //DbgDrvSwapBuffers,
1230 NULL, //DbgDrvStartBanding,
1231 NULL, //DbgDrvNextBand,
1241 NULL, //DbgDrvGradientFill,
1242 NULL, //DbgDrvStretchBltROP,
1243 NULL, //DbgDrvPlgBlt,
1244 NULL, //DbgDrvAlphaBlend,
1245 NULL, //DbgSynthesizeFont,
1246 NULL, //DbgGetSynthesizedFontFiles,
1247 NULL, //DbgDrvTransparentBlt,
1248 NULL, //DbgDrvQueryPerBandInfo,
1258 NULL, //DbgDrvDeriveSurface,
1259 NULL, //DbgDrvQueryGlyphAttrs,
1266};
#define ERR(fmt,...)
Definition: debug.h:110
#define DBG_DEFAULT_CHANNEL(ch)
Definition: debug.h:103
#define NULL
Definition: types.h:112
#define FALSE
Definition: types.h:117
#define APIENTRY
Definition: api.h:79
#define __FUNCTION__
Definition: types.h:116
VOID APIENTRY DbgDrvMovePointer(_In_ SURFOBJ *pso, _In_ LONG x, _In_ LONG y, _In_ RECTL *prcl)
Definition: drvdbg.c:539
BOOL APIENTRY DbgDrvPaint(IN SURFOBJ *pso, IN CLIPOBJ *pco, IN BRUSHOBJ *pbo, IN POINTL *pptlBrushOrg, IN MIX mix)
Definition: drvdbg.c:257
LONG APIENTRY DbgDrvQueryFontFile(ULONG_PTR iFile, ULONG ulMode, ULONG cjBuf, ULONG *pulBuf)
Definition: drvdbg.c:753
VOID APIENTRY DbgDrvDisablePDEV(DHPDEV dhpdev)
Definition: drvdbg.c:70
VOID APIENTRY DbgDrvSynchronizeSurface(SURFOBJ *pso, RECTL *prcl, FLONG fl)
Definition: drvdbg.c:1147
VOID APIENTRY DbgDrvCompletePDEV(DHPDEV dhpdev, HDEV hdev)
Definition: drvdbg.c:57
LONG APIENTRY DbgDrvQueryFontCaps(ULONG culCaps, ULONG *pulCaps)
Definition: drvdbg.c:669
PFD_GLYPHATTR APIENTRY DbgDrvQueryGlyphAttrs(_In_ FONTOBJ *pfo, _In_ ULONG iMode)
Definition: drvdbg.c:1125
ULONG APIENTRY DbgDrvGetModes(_In_ HANDLE hDriver, ULONG cjSize, _Out_opt_ DEVMODEW *pdm)
Definition: drvdbg.c:644
BOOL APIENTRY DbgDrvCopyBits(SURFOBJ *psoTrg, SURFOBJ *psoSrc, CLIPOBJ *pco, XLATEOBJ *pxlo, RECTL *prclTrg, POINTL *pptlSrc)
Definition: drvdbg.c:359
ULONG APIENTRY DbgDrvGetGlyphMode(_In_ DHPDEV dhpdev, _In_ FONTOBJ *pfo)
Definition: drvdbg.c:606
BOOL APIENTRY DbgDrvIcmDeleteColorTransform(_In_ DHPDEV dhpdev, _In_ HANDLE hcmXform)
Definition: drvdbg.c:934
VOID APIENTRY DbgDrvNotify(SURFOBJ *pso, ULONG iType, PVOID pvData)
Definition: drvdbg.c:1134
VOID APIENTRY DbgDrvDisableDriver(void)
Definition: drvdbg.c:146
ULONG_PTR APIENTRY DbgDrvLoadFontFile(ULONG cFiles, ULONG_PTR *piFile, PVOID *ppvView, ULONG *pcjView, DESIGNVECTOR *pdv, ULONG ulLangID, ULONG ulFastCheckSum)
Definition: drvdbg.c:678
BOOL APIENTRY DbgDrvIcmCheckBitmapBits(DHPDEV dhpdev, HANDLE hColorTransform, SURFOBJ *pso, PBYTE paResults)
Definition: drvdbg.c:947
BOOL APIENTRY DbgDrvRealizeBrush(_In_ BRUSHOBJ *pbo, _Inout_ SURFOBJ *psoTarget, _In_ SURFOBJ *psoPattern, _In_opt_ SURFOBJ *psoMask, _In_ XLATEOBJ *pxlo, _In_ ULONG iHatch)
Definition: drvdbg.c:175
BOOL APIENTRY DbgDrvLineTo(SURFOBJ *pso, CLIPOBJ *pco, BRUSHOBJ *pbo, LONG x1, LONG y1, LONG x2, LONG y2, RECTL *prclBounds, MIX mix)
Definition: drvdbg.c:550
BOOL APIENTRY DbgDrvTextOut(SURFOBJ *pso, STROBJ *pstro, FONTOBJ *pfo, CLIPOBJ *pco, RECTL *prclExtra, RECTL *prclOpaque, BRUSHOBJ *pboFore, BRUSHOBJ *pboOpaque, POINTL *pptlOrg, MIX mix)
Definition: drvdbg.c:430
ULONG APIENTRY DbgDrvResetPDEV(DHPDEV dhpdev, PVOID Reserved)
Definition: drvdbg.c:133
PVOID APIENTRY DbgDrvQueryFontTree(DHPDEV dhpdev, ULONG_PTR iFile, ULONG iFace, ULONG iMode, ULONG_PTR *pid)
Definition: drvdbg.c:491
BOOL APIENTRY DbgDrvAlphaBlend(_Inout_ SURFOBJ *psoDest, _In_ SURFOBJ *psoSrc, _In_ CLIPOBJ *pco, _In_opt_ XLATEOBJ *pxlo, _In_ RECTL *prclDest, _In_ RECTL *prclSrc, _In_ BLENDOBJ *pBlendObj)
Definition: drvdbg.c:1037
HSURF APIENTRY DbgDrvEnableSurface(DHPDEV dhpdev)
Definition: drvdbg.c:82
ULONG APIENTRY DbgDrvEscape(_In_ SURFOBJ *pso, _In_ ULONG iEsc, _In_ ULONG cjIn, _In_ PVOID pvIn, _In_ ULONG cjOut, _Out_ PVOID pvOut)
Definition: drvdbg.c:448
BOOL APIENTRY DbgDrvEndDoc(_In_ SURFOBJ *pso, _In_ FLONG fl)
Definition: drvdbg.c:585
VOID APIENTRY DbgDrvSynchronize(DHPDEV dhpdev, RECTL *prcl)
Definition: drvdbg.c:619
BOOL APIENTRY DbgDrvStrokeAndFillPath(_Inout_ SURFOBJ *pso, _Inout_ PATHOBJ *ppo, _In_ CLIPOBJ *pco, _In_opt_ XFORMOBJ *pxo, _In_ BRUSHOBJ *pboStroke, _In_ LINEATTRS *plineattrs, _In_ BRUSHOBJ *pboFill, _In_ POINTL *pptlBrushOrg, _In_ MIX mixFill, _In_ FLONG flOptions)
Definition: drvdbg.c:238
BOOL APIENTRY DbgDrvSendPage(_In_ SURFOBJ *pso)
Definition: drvdbg.c:567
VOID APIENTRY DbgDrvMovePanning(LONG x, LONG y, FLONG fl)
Definition: drvdbg.c:764
BOOL APIENTRY DbgDrvQueryDeviceSupport(SURFOBJ *pso, XLATEOBJ *pxlo, XFORMOBJ *pxo, ULONG iType, ULONG cjIn, _In_ PVOID pvIn, ULONG cjOut, _Out_ PVOID pvOut)
Definition: drvdbg.c:1091
ULONG APIENTRY DbgDrvResetDevice(DHPDEV dhpdev, PVOID Reserved)
Definition: drvdbg.c:1160
BOOL APIENTRY DbgDrvQueryAdvanceWidths(DHPDEV dhpdev, FONTOBJ *pfo, ULONG iMode, _In_ HGLYPH *phg, _Out_ PVOID pvWidths, ULONG cGlyphs)
Definition: drvdbg.c:775
BOOL APIENTRY DbgDrvSwapBuffers(SURFOBJ *pso, WNDOBJ *pwo)
Definition: drvdbg.c:815
LONG APIENTRY DbgDrvQueryTrueTypeOutline(DHPDEV dhpdev, FONTOBJ *pfo, HGLYPH hglyph, BOOL bMetricsOnly, GLYPHDATA *pgldt, ULONG cjBuf, TTPOLYGONHEADER *ppoly)
Definition: drvdbg.c:729
LONG APIENTRY DbgDrvDescribePixelFormat(DHPDEV dhpdev, LONG iPixelFormat, ULONG cjpfd, PIXELFORMATDESCRIPTOR *ppfd)
Definition: drvdbg.c:800
BOOL APIENTRY DbgDrvGetDirectDrawInfo(DHPDEV dhpdev, DD_HALINFO *pHalInfo, DWORD *pdwNumHeaps, VIDEOMEMORY *pvmList, DWORD *pdwNumFourCCCodes, DWORD *pdwFourCC)
Definition: drvdbg.c:845
BOOL APIENTRY DbgDrvIcmSetDeviceGammaRamp(DHPDEV dhpdev, ULONG iFormat, LPVOID lpRamp)
Definition: drvdbg.c:965
VOID APIENTRY DbgDrvDisableSurface(DHPDEV dhpdev)
Definition: drvdbg.c:94
PIFIMETRICS APIENTRY DbgDrvQueryFont(DHPDEV dhpdev, ULONG_PTR iFile, ULONG iFace, ULONG_PTR *pid)
Definition: drvdbg.c:476
VOID APIENTRY DbgDrvFree(PVOID pv, ULONG_PTR id)
Definition: drvdbg.c:654
ULONG APIENTRY DbgDrvQueryPerBandInfo(_In_ SURFOBJ *pso, _Inout_ PERBANDINFO *pbi)
Definition: drvdbg.c:1081
ULONG APIENTRY DbgDrvSetPointerShape(_In_ SURFOBJ *pso, _In_ SURFOBJ *psoMask, _In_ SURFOBJ *psoColor, _In_ XLATEOBJ *pxlo, _In_ LONG xHot, _In_ LONG yHot, _In_ LONG x, _In_ LONG y, _In_ RECTL *prcl, _In_ FLONG fl)
Definition: drvdbg.c:521
VOID APIENTRY DbgDrvDeleteDeviceBitmap(DHSURF dhsurf)
Definition: drvdbg.c:167
BOOL APIENTRY DbgDrvQuerySpoolType(DHPDEV PDev, LPWSTR SpoolType)
Definition: drvdbg.c:897
BOOL APIENTRY DbgDrvStrokePath(_Inout_ SURFOBJ *pso, _In_ PATHOBJ *ppo, _In_ CLIPOBJ *pco, _In_opt_ XFORMOBJ *pxo, _In_ BRUSHOBJ *pbo, _In_ POINTL *pptlBrushOrg, _In_ LINEATTRS *plineattrs, _In_ MIX mix)
Definition: drvdbg.c:205
BOOL APIENTRY DbgDrvSetPalette(DHPDEV dhpdev, PALOBJ *ppalo, FLONG fl, ULONG iStart, ULONG cColors)
Definition: drvdbg.c:414
ULONG APIENTRY DbgDrvDrawEscape(_In_ SURFOBJ *pso, _In_ ULONG iEsc, _In_ CLIPOBJ *pco, _In_ RECTL *prcl, _In_ ULONG cjIn, _In_ PVOID pvIn)
Definition: drvdbg.c:462
BOOL APIENTRY DbgDrvNextBand(_In_ SURFOBJ *pso, _In_ POINTL *pptl)
Definition: drvdbg.c:835
BOOL APIENTRY DbgDrvPlgBlt(_Inout_ SURFOBJ *psoTrg, _Inout_ SURFOBJ *psoSrc, _In_opt_ SURFOBJ *psoMsk, _In_ CLIPOBJ *pco, _In_opt_ XLATEOBJ *pxlo, _In_opt_ COLORADJUSTMENT *pca, _In_opt_ POINTL *pptlBrushOrg, _In_ POINTFIX *pptfx, _In_ RECTL *prcl, _In_opt_ POINTL *pptl, _In_ ULONG iMode)
Definition: drvdbg.c:1018
BOOL APIENTRY DbgDrvStretchBltROP(_Inout_ SURFOBJ *psoTrg, _Inout_ SURFOBJ *psoSrc, _In_opt_ SURFOBJ *psoMask, _In_ CLIPOBJ *pco, _In_opt_ XLATEOBJ *pxlo, _In_opt_ COLORADJUSTMENT *pca, _In_ POINTL *pptlHTOrg, _In_ RECTL *prclDest, _In_ RECTL *prclSrc, _In_opt_ POINTL *pptlMask, _In_ ULONG iMode, _In_ BRUSHOBJ *pbo, _In_ DWORD rop4)
Definition: drvdbg.c:997
BOOL APIENTRY DbgDrvStartBanding(_In_ SURFOBJ *pso, _In_ POINTL *pptl)
Definition: drvdbg.c:825
BOOL APIENTRY DbgDrvBitBlt(_Inout_ SURFOBJ *psoTrg, _In_opt_ SURFOBJ *psoSrc, _In_opt_ SURFOBJ *psoMask, _In_opt_ CLIPOBJ *pco, _In_opt_ XLATEOBJ *pxlo, _In_ RECTL *prclTrg, _When_(psoSrc, _In_) POINTL *pptlSrc, _When_(psoMask, _In_) POINTL *pptlMask, _In_opt_ BRUSHOBJ *pbo, _When_(pbo, _In_) POINTL *pptlBrush, _In_ ROP4 rop4)
Definition: drvdbg.c:270
DHPDEV APIENTRY DbgDrvEnablePDEV(_In_ DEVMODEW *pdm, _In_ LPWSTR pwszLogAddress, ULONG cPat, _In_opt_ HSURF *phsurfPatterns, ULONG cjCaps, _Out_ ULONG *pdevcaps, ULONG cjDevInfo, _Out_ DEVINFO *pdi, HDEV hdev, _In_ LPWSTR pwszDeviceName, HANDLE hDriver)
Definition: drvdbg.c:24
BOOL APIENTRY DbgDrvOffset(SURFOBJ *pso, LONG x1, LONG x2, FLONG fl)
Definition: drvdbg.c:119
BOOL APIENTRY DbgDrvUnloadFontFile(ULONG_PTR iFile)
Definition: drvdbg.c:692
HBITMAP APIENTRY DbgDrvCreateDeviceBitmap(DHPDEV dhpdev, SIZEL sizl, ULONG iFormat)
Definition: drvdbg.c:153
ULONG APIENTRY DbgDrvDitherColor(_In_ DHPDEV dhpdev, _In_ ULONG iMode, _In_ ULONG rgb, _Inout_ ULONG *pul)
Definition: drvdbg.c:190
BOOL APIENTRY DbgDrvStretchBlt(_Inout_ SURFOBJ *psoTrg, _Inout_ SURFOBJ *psoSrc, _In_opt_ SURFOBJ *psoMask, _In_ CLIPOBJ *pco, _In_opt_ XLATEOBJ *pxlo, _In_opt_ COLORADJUSTMENT *pca, _In_ POINTL *pptlHTOrg, _In_ RECTL *prclDest, _In_ RECTL *prclSrc, _In_opt_ POINTL *pptlMask, _In_ ULONG iMode)
Definition: drvdbg.c:393
VOID APIENTRY DbgGetSynthesizedFontFiles(void)
Definition: drvdbg.c:1058
PVOID apfnDbgDrvFunctions[]
Definition: drvdbg.c:1171
VOID APIENTRY DbgSynthesizeFont(void)
Definition: drvdbg.c:1051
PPDEVOBJ NTAPI DbgLookupDHPDEV(DHPDEV dhpdev)
HANDLE APIENTRY DbgDrvIcmCreateColorTransform(_In_ DHPDEV dhpdev, _In_ LPLOGCOLORSPACEW pLogColorSpace, _In_opt_ PVOID pvSourceProfile, _In_ ULONG cjSourceProfile, _In_ PVOID pvDestProfile, _In_ ULONG cjDestProfile, _In_opt_ PVOID pvTargetProfile, _In_ ULONG cjTargetProfile, _In_ DWORD dwReserved)
Definition: drvdbg.c:906
VOID DbgDrvReserved(void)
Definition: drvdbg.c:17
LONG APIENTRY DbgDrvQueryTrueTypeTable(ULONG_PTR iFile, ULONG ulFont, ULONG ulTag, PTRDIFF dpStart, ULONG cjBuf, BYTE *pjBuf, PBYTE *ppjTable, ULONG *pcjTable)
Definition: drvdbg.c:714
BOOL APIENTRY DbgDrvSetPixelFormat(SURFOBJ *pso, LONG iPixelFormat, HWND hwnd)
Definition: drvdbg.c:789
HBITMAP APIENTRY DbgDrvDeriveSurface(DD_DIRECTDRAW_GLOBAL *pDirectDraw, DD_SURFACE_LOCAL *pSurface)
Definition: drvdbg.c:1116
BOOL APIENTRY DbgDrvFillPath(_Inout_ SURFOBJ *pso, _In_ PATHOBJ *ppo, _In_ CLIPOBJ *pco, _In_ BRUSHOBJ *pbo, _In_ POINTL *pptlBrushOrg, _In_ MIX mix, _In_ FLONG flOptions)
Definition: drvdbg.c:222
PVOID APIENTRY DbgDrvGetTrueTypeFile(ULONG_PTR iFile, ULONG *pcj)
Definition: drvdbg.c:744
ULONG APIENTRY DbgDrvFontManagement(_In_ SURFOBJ *pso, _In_opt_ FONTOBJ *pfo, _In_ ULONG iMode, _In_ ULONG cjIn, _In_ PVOID pvIn, _In_ ULONG cjOut, _Out_ PVOID pvOut)
Definition: drvdbg.c:700
BOOL APIENTRY DbgDrvStartPage(_In_ SURFOBJ *pso)
Definition: drvdbg.c:576
VOID APIENTRY DbgDrvDestroyFont(FONTOBJ *pfo)
Definition: drvdbg.c:662
BOOL APIENTRY DbgDrvEnableDirectDraw(DHPDEV dhpdev, DD_CALLBACKS *pCallBacks, DD_SURFACECALLBACKS *pSurfaceCallBacks, DD_PALETTECALLBACKS *pPaletteCallBacks)
Definition: drvdbg.c:867
BOOL APIENTRY DbgDrvGradientFill(_Inout_ SURFOBJ *psoTrg, _In_ CLIPOBJ *pco, _In_opt_ XLATEOBJ *pxlo, _In_ TRIVERTEX *pVertex, _In_ ULONG nVertex, _In_ PVOID pMesh, _In_ ULONG nMesh, _In_ RECTL *prclExtents, _In_ POINTL *pptlDitherOrg, _In_ ULONG ulMode)
Definition: drvdbg.c:979
BOOL APIENTRY DbgDrvTransparentBlt(_Inout_ SURFOBJ *psoTrg, _In_ SURFOBJ *psoSrc, _In_ CLIPOBJ *pco, _In_opt_ XLATEOBJ *pxlo, _In_ RECTL *prclDst, _In_ RECTL *prclSrc, _In_ ULONG iTransColor, _In_ ULONG ulReserved)
Definition: drvdbg.c:1065
BOOL APIENTRY DbgDrvAssertMode(_In_ DHPDEV dhpdev, _In_ BOOL bEnable)
Definition: drvdbg.c:106
LONG APIENTRY DbgDrvQueryFontData(DHPDEV dhpdev, FONTOBJ *pfo, ULONG iMode, HGLYPH hg, GLYPHDATA *pgd, _Out_ PVOID pv, ULONG cjSize)
Definition: drvdbg.c:503
VOID APIENTRY DbgDrvDisableDirectDraw(DHPDEV dhpdev)
Definition: drvdbg.c:885
BOOL APIENTRY DbgDrvStartDoc(_In_ SURFOBJ *pso, _In_ LPWSTR pwszDocName, _In_ DWORD dwJobId)
Definition: drvdbg.c:595
ULONG_PTR APIENTRY DbgDrvSaveScreenBits(SURFOBJ *pso, ULONG iMode, ULONG_PTR ident, RECTL *prcl)
Definition: drvdbg.c:632
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
#define ROP4_USES_PATTERN(Rop4)
Definition: inteng.h:46
#define ROP4_USES_MASK(Rop4)
Definition: inteng.h:47
#define IS_VALID_ROP4(rop)
Definition: inteng.h:49
#define ROP4_USES_SOURCE(Rop4)
Definition: inteng.h:45
struct _PDEVOBJ * PPDEVOBJ
Definition: mdevobj.h:6
#define ASSERT(a)
Definition: mode.c:44
static HBITMAP
Definition: button.c:44
#define _Out_opt_
Definition: ms_sal.h:346
#define _Inout_
Definition: ms_sal.h:378
#define _Out_
Definition: ms_sal.h:345
#define _When_(expr, annos)
Definition: ms_sal.h:254
#define _In_
Definition: ms_sal.h:308
#define _In_opt_
Definition: ms_sal.h:309
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
Definition: mswsock.h:95
unsigned long FLONG
Definition: ntbasedef.h:366
BYTE * PBYTE
Definition: pedump.c:66
long LONG
Definition: pedump.c:60
struct _LDEVOBJ * pldev
Definition: pdevobj.h:119
FLONG flags
Definition: surface.h:10
HDEV hdev
Definition: winddi.h:1208
#define NTAPI
Definition: typedefs.h:36
uint32_t ULONG_PTR
Definition: typedefs.h:65
#define IN
Definition: typedefs.h:39
#define CONTAINING_RECORD(address, type, field)
Definition: typedefs.h:260
uint32_t ULONG
Definition: typedefs.h:59
FORCEINLINE BOOL RECTL_bIsWellOrdered(_In_ const RECTL *prcl)
Definition: rect.h:63
_In_ STROBJ _In_ FONTOBJ _In_ CLIPOBJ _Null_ RECTL * prclExtra
Definition: winddi.h:4178
_In_ LPWSTR _In_ DWORD dwJobId
Definition: winddi.h:4072
_In_ STROBJ _In_ FONTOBJ _In_ CLIPOBJ _Null_ RECTL _In_opt_ RECTL _In_ BRUSHOBJ * pboFore
Definition: winddi.h:4180
_In_ ULONG _In_ ULONG _In_ PTRDIFF _In_ ULONG _Outptr_opt_result_bytebuffer_all_maybenull_ pcjTable PBYTE * ppjTable
Definition: winddi.h:3946
_In_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_ RECTL _In_ ULONG iTransColor
Definition: winddi.h:4195
_In_ FONTOBJ _In_ ULONG _In_ HGLYPH _In_opt_ GLYPHDATA * pgd
Definition: winddi.h:3872
_In_ PALOBJ * ppalo
Definition: winddi.h:4012
_In_ ULONG _In_ ULONG _In_ PTRDIFF dpStart
Definition: winddi.h:3943
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG cjDevInfo
Definition: winddi.h:3553
_Inout_ SURFOBJ _In_opt_ SURFOBJ * psoPattern
Definition: winddi.h:3960
_In_ WNDOBJ * pwo
Definition: winddi.h:4147
_Inout_ PATHOBJ _In_ CLIPOBJ _In_opt_ XFORMOBJ _In_ BRUSHOBJ _In_ LINEATTRS _In_ BRUSHOBJ _In_ POINTL _In_ MIX mixFill
Definition: winddi.h:4126
_Inout_ PATHOBJ _In_ CLIPOBJ _In_opt_ XFORMOBJ _In_ BRUSHOBJ * pboStroke
Definition: winddi.h:4122
_In_ LPLOGCOLORSPACEW _In_ ULONG _In_ ULONG cjDestProfile
Definition: winddi.h:3677
_In_ PATHOBJ _In_ CLIPOBJ _In_ BRUSHOBJ _In_ POINTL _In_ MIX _In_ FLONG flOptions
Definition: winddi.h:3596
typedef DHPDEV(APIENTRY FN_DrvEnablePDEV)(_In_ DEVMODEW *pdm
_In_ ULONG_PTR _In_opt_ DESIGNVECTOR _In_ ULONG ulLangID
Definition: winddi.h:3724
_In_ PATHOBJ _In_ CLIPOBJ _In_ BRUSHOBJ _In_ POINTL _In_ MIX mix
Definition: winddi.h:3595
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG _In_ LONG x2
Definition: winddi.h:3710
_In_ LPLOGCOLORSPACEW pLogColorSpace
Definition: winddi.h:3673
_In_ HANDLE _In_ SURFOBJ * pso
Definition: winddi.h:3665
_In_ FONTOBJ _In_ HGLYPH _In_ BOOL _Out_opt_ GLYPHDATA * pgldt
Definition: winddi.h:3932
_In_ FLONG fl
Definition: winddi.h:1279
#define BMF_1BPP
Definition: winddi.h:355
_In_ DWORD cjBuf
Definition: winddi.h:3827
_In_ LPWSTR pwszDocName
Definition: winddi.h:4071
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO * pdi
Definition: winddi.h:3554
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG y1
Definition: winddi.h:3709
_In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ TRIVERTEX _In_ ULONG _In_ PVOID pMesh
Definition: winddi.h:3653
_In_ ULONG _In_ ULONG ulTag
Definition: winddi.h:3942
_In_ DD_SURFACE_LOCAL * pSurface
Definition: winddi.h:3481
_In_ HANDLE hcmXform
Definition: winddi.h:3687
_Inout_ SURFOBJ * psoTarget
Definition: winddi.h:3959
_In_ ULONG _In_ ULONG _In_ PTRDIFF _In_ ULONG _Outptr_opt_result_bytebuffer_all_maybenull_ pcjTable PBYTE _Out_opt_ ULONG * pcjTable
Definition: winddi.h:3947
_In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ XLATEOBJ _In_ LONG xHot
Definition: winddi.h:4052
_In_ ULONG_PTR _In_ ULONG iFace
Definition: winddi.h:3836
_In_ LPLOGCOLORSPACEW _In_ ULONG _In_ ULONG _In_ ULONG cjTargetProfile
Definition: winddi.h:3679
_Inout_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_opt_ COLORADJUSTMENT * pca
Definition: winddi.h:3779
_Inout_ PATHOBJ _In_ CLIPOBJ _In_opt_ XFORMOBJ _In_ BRUSHOBJ _In_ LINEATTRS _In_ BRUSHOBJ * pboFill
Definition: winddi.h:4124
_In_ FONTOBJ _In_ HGLYPH hglyph
Definition: winddi.h:3930
_In_ ULONG _In_ ULONG rgb
Definition: winddi.h:3521
_In_ SURFOBJ * psoSrc
Definition: winddi.h:3414
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG x1
Definition: winddi.h:3708
_In_ HDEV hdev
Definition: winddi.h:3449
_In_ ULONG * pcj
Definition: winddi.h:3642
_In_ FONTOBJ _In_ HGLYPH _In_ BOOL bMetricsOnly
Definition: winddi.h:3931
_In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL * prclTrg
Definition: winddi.h:3437
_In_ LPWSTR pwszLogAddress
Definition: winddi.h:3548
_In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ XLATEOBJ _In_ LONG _In_ LONG yHot
Definition: winddi.h:4053
_In_ PATHOBJ * ppo
Definition: winddi.h:3591
_In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ TRIVERTEX _In_ ULONG _In_ PVOID _In_ ULONG _In_ RECTL _In_ POINTL * pptlDitherOrg
Definition: winddi.h:3656
_In_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL * prclDst
Definition: winddi.h:4193
_Out_ DD_HALINFO _Out_ DWORD _Out_ VIDEOMEMORY _Out_ DWORD _Out_ DWORD * pdwFourCC
Definition: winddi.h:4230
_In_ ULONG _In_ ULONG_PTR ident
Definition: winddi.h:3994
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG _In_ LONG _In_ LONG y2
Definition: winddi.h:3711
_In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_opt_ POINTL _In_opt_ POINTL _In_opt_ BRUSHOBJ _In_opt_ POINTL _In_ ROP4 rop4
Definition: winddi.h:3442
_In_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_ RECTL * prclSrc
Definition: winddi.h:3418
_In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_opt_ POINTL _In_opt_ POINTL _In_opt_ BRUSHOBJ _In_opt_ POINTL * pptlBrush
Definition: winddi.h:3441
_In_ ULONG iMode
Definition: winddi.h:3520
_Inout_ PERBANDINFO * pbi
Definition: winddi.h:3917
_In_ STROBJ * pstro
Definition: winddi.h:4175
_In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ TRIVERTEX _In_ ULONG nVertex
Definition: winddi.h:3652
_In_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ * pxlo
Definition: winddi.h:3416
_In_opt_ SURFOBJ _In_opt_ SURFOBJ * psoMask
Definition: winddi.h:3434
_Inout_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_opt_ COLORADJUSTMENT _In_opt_ POINTL _In_ POINTFIX * pptfx
Definition: winddi.h:3781
_In_ POINTL * pptl
Definition: winddi.h:3741
_In_ LONG iPixelFormat
Definition: winddi.h:3488
_Inout_ SURFOBJ _In_opt_ SURFOBJ * psoMsk
Definition: winddi.h:3776
LONG PTRDIFF
Definition: winddi.h:124
_In_ LPWSTR _In_ ULONG _In_ ULONG cjCaps
Definition: winddi.h:3551
_In_ LPWSTR _In_ ULONG cPat
Definition: winddi.h:3549
_Out_ DD_HALINFO _Out_ DWORD _Out_ VIDEOMEMORY _Out_ DWORD * pdwNumFourCCCodes
Definition: winddi.h:4229
_Inout_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_opt_ COLORADJUSTMENT _In_ POINTL * pptlHTOrg
Definition: winddi.h:4090
#define BMF_32BPP
Definition: winddi.h:360
_In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_opt_ POINTL * pptlSrc
Definition: winddi.h:3438
_In_ STROBJ _In_ FONTOBJ _In_ CLIPOBJ _Null_ RECTL _In_opt_ RECTL _In_ BRUSHOBJ _In_ BRUSHOBJ * pboOpaque
Definition: winddi.h:4181
#define DC_RECT
Definition: winddi.h:260
_In_ LPLOGCOLORSPACEW _In_ ULONG cjSourceProfile
Definition: winddi.h:3675
#define HOOK_BITBLT
Definition: winddi.h:1420
_In_ HANDLE hColorTransform
Definition: winddi.h:3664
_In_opt_ FONTOBJ * pfo
Definition: winddi.h:3603
_In_opt_ SURFOBJ _In_opt_ SURFOBJ * psoColor
Definition: winddi.h:4050
_In_ ULONG ulFont
Definition: winddi.h:3941
_In_ ULONG _In_ ULONG _In_ ULONG cjOut
Definition: winddi.h:3583
_Out_ DD_HALINFO _Out_ DWORD * pdwNumHeaps
Definition: winddi.h:4227
typedef HSURF(APIENTRY FN_DrvEnableSurface)(_In_ DHPDEV dhpdev)
_In_ FONTOBJ _In_ ULONG _In_ ULONG cGlyphs
Definition: winddi.h:3799
_In_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_ RECTL _In_ ULONG _In_ ULONG ulReserved
Definition: winddi.h:4196
_In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_opt_ POINTL _In_opt_ POINTL _In_opt_ BRUSHOBJ * pbo
Definition: winddi.h:3440
_In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ TRIVERTEX _In_ ULONG _In_ PVOID _In_ ULONG _In_ RECTL * prclExtents
Definition: winddi.h:3655
_Out_ DD_HALINFO * pHalInfo
Definition: winddi.h:4226
_In_ ULONG _In_ CLIPOBJ _In_ RECTL * prcl
Definition: winddi.h:3531
_In_ ULONG iType
Definition: winddi.h:3748
_In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ TRIVERTEX _In_ ULONG _In_ PVOID _In_ ULONG _In_ RECTL _In_ POINTL _In_ ULONG ulMode
Definition: winddi.h:3657
_Inout_ PATHOBJ _In_ CLIPOBJ _In_opt_ XFORMOBJ _In_ BRUSHOBJ _In_ LINEATTRS * plineattrs
Definition: winddi.h:4123
_Out_ DD_CALLBACKS _Out_ DD_SURFACECALLBACKS * pSurfaceCallBacks
Definition: winddi.h:4218
_In_ ULONG_PTR _In_opt_ DESIGNVECTOR * pdv
Definition: winddi.h:3723
_In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_opt_ POINTL _In_opt_ POINTL * pptlMask
Definition: winddi.h:3439
_Inout_ SURFOBJ _In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_opt_ XLATEOBJ _In_ ULONG iHatch
Definition: winddi.h:3963
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023
_In_ PATHOBJ _In_ CLIPOBJ _In_ BRUSHOBJ _In_ POINTL * pptlBrushOrg
Definition: winddi.h:3594
_In_ ULONG_PTR _In_opt_ DESIGNVECTOR _In_ ULONG _In_ ULONG ulFastCheckSum
Definition: winddi.h:3725
_In_ ULONG_PTR _In_ ULONG _Out_ ULONG_PTR * pid
Definition: winddi.h:3837
_In_ LONG _In_ ULONG cjpfd
Definition: winddi.h:3489
_In_ ULONG cjSize
Definition: winddi.h:3634
_In_ ULONG_PTR iFile
Definition: winddi.h:3835
ULONG MIX
Definition: winddi.h:129
#define BMF_8RLE
Definition: winddi.h:362
_In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ TRIVERTEX * pVertex
Definition: winddi.h:3651
ULONG ROP4
Definition: winddi.h:128
_Out_ DD_HALINFO _Out_ DWORD _Out_ VIDEOMEMORY * pvmList
Definition: winddi.h:4228
_In_ STROBJ _In_ FONTOBJ _In_ CLIPOBJ _Null_ RECTL _In_opt_ RECTL * prclOpaque
Definition: winddi.h:4179
_In_ XLATEOBJ _In_ XFORMOBJ * pxo
Definition: winddi.h:3811
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO _In_ HDEV _In_ LPWSTR pwszDeviceName
Definition: winddi.h:3556
_In_ LONG _In_ ULONG _Out_opt_ PIXELFORMATDESCRIPTOR * ppfd
Definition: winddi.h:3490
_Out_ DD_CALLBACKS * pCallBacks
Definition: winddi.h:4217
_In_ BOOL bEnable
Definition: winddi.h:3426
#define HOOK_COPYBITS
Definition: winddi.h:1429
_Out_ DD_CALLBACKS _Out_ DD_SURFACECALLBACKS _Out_ DD_PALETTECALLBACKS * pPaletteCallBacks
Definition: winddi.h:4219
_In_ SIZEL _In_ ULONG iFormat
Definition: winddi.h:3468
_In_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_ RECTL _In_ BLENDOBJ * pBlendObj
Definition: winddi.h:3419
_In_ ULONG _In_opt_ PVOID pvData
Definition: winddi.h:3749
_In_ ULONG iEsc
Definition: winddi.h:3529
_In_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL * prclDest
Definition: winddi.h:3417
_In_ STROBJ _In_ FONTOBJ _In_ CLIPOBJ _Null_ RECTL _In_opt_ RECTL _In_ BRUSHOBJ _In_ BRUSHOBJ _In_ POINTL * pptlOrg
Definition: winddi.h:4182
_In_ ULONG_PTR * piFile
Definition: winddi.h:3720
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO _In_ HDEV _In_ LPWSTR _In_ HANDLE hDriver
Definition: winddi.h:3557
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG _In_ LONG _In_ LONG _In_opt_ RECTL * prclBounds
Definition: winddi.h:3712
_In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ TRIVERTEX _In_ ULONG _In_ PVOID _In_ ULONG nMesh
Definition: winddi.h:3654
_In_ SIZEL sizl
Definition: winddi.h:3467
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
_In_ ULONG _In_ CLIPOBJ _In_ RECTL _In_ ULONG cjIn
Definition: winddi.h:3532
_In_ FONTOBJ _In_ ULONG _In_ HGLYPH hg
Definition: winddi.h:3871
_In_ SURFOBJ _In_ CLIPOBJ * pco
Definition: winddi.h:3415
_In_ UINT iStart
Definition: wingdi.h:3620
WCHAR * LPWSTR
Definition: xmlstorage.h:184
unsigned char BYTE
Definition: xxhash.c:193