diff --git a/reactos/include/win32k/driver.h b/reactos/include/win32k/driver.h index de3f1439e9d..ce7d825aa62 100644 --- a/reactos/include/win32k/driver.h +++ b/reactos/include/win32k/driver.h @@ -22,6 +22,73 @@ typedef HSURF (*PGD_ENABLESURFACE)(DHPDEV); typedef VOID (*PGD_DISABLESURFACE)(DHPDEV); typedef VOID (*PGD_ASSERTMODE)(DHPDEV, BOOL); typedef BOOL (*PGD_RESETPDEV)(DHPDEV, DHPDEV); +typedef HBITMAP (*PGD_CREATEDEVICEBITMAP)(DHPDEV, SIZEL, ULONG); +typedef VOID (*PGD_DELETEDEVICEBITMAP)(DHSURF); +typedef BOOL (*PGD_REALIZEBRUSH)(PBRUSHOBJ, PSURFOBJ, PSURFOBJ, PSURFOBJ, + PXLATEOBJ, ULONG); +typedef ULONG (*PGD_DITHERCOLOR)(DHPDEV, ULONG, ULONG, PULONG); +typedef BOOL (*PGD_STROKEPATH)(PSURFOBJ, PPATHOBJ, PCLIPOBJ, PXFORMOBJ, + PBRUSHOBJ, PPOINTL, PLINEATTRS, MIX); +typedef BOOL (*PGD_FILLPATH)(PSURFOBJ, PPATHOBJ, PCLIPOBJ, PBRUSHOBJ, + PPOINTL, MIX, ULONG); +typedef BOOL (*PGD_STROKEANDFILLPATH)(PSURFOBJ, PPATHOBJ, PCLIPOBJ, + PXFORMOBJ, PBRUSHOBJ, PLINEATTRS, + PBRUSHOBJ, PPOINTL, MIX, ULONG); +typedef BOOL (*PGD_PAINT)(PSURFOBJ, PCLIPOBJ, PBRUSHOBJ, PPOINTL, MIX); +typedef BOOL (*PGD_BITBLT)(PSURFOBJ, PSURFOBJ, PSURFOBJ, PCLIPOBJ, + PXLATEOBJ, PRECTL, PPOINTL, PPOINTL, PBRUSHOBJ, + PPOINTL, ROP4); +typedef BOOL (*PGD_COPYBITS)(PSURFOBJ, PSURFOBJ, PCLIPOBJ, PXLATEOBJ, + PRECTL, PPOINTL); +typedef BOOL (*PGD_STRETCHBLT)(PSURFOBJ, PSURFOBJ, PSURFOBJ, PCLIPOBJ, + PXLATEOBJ, PCOLORADJUSTMENT, PPOINTL, + PRECTL, PRECTL, PPOINTL, ULONG); +typedef BOOL (*PGD_SETPALETTE)(DHPDEV, PPALOBJ, ULONG, ULONG, ULONG); +typedef BOOL (*PGD_TEXTOUT)(PSURFOBJ, PSTROBJ, PFONTOBJ, PCLIPOBJ, PRECTL, + PRECTL, PBRUSHOBJ, PBRUSHOBJ, PPOINTL, MIX); +typedef ULONG (*PGD_ESCAPE)(PSURFOBJ, ULONG, ULONG, PVOID *, ULONG, PVOID *); +typedef ULONG (*PGD_DRAWESCAPE)(PSURFOBJ, ULONG, PCLIPOBJ, PRECTL, ULONG, + PVOID *); +typedef PIFIMETRICS (*PGD_QUERYFONT)(DHPDEV, ULONG, ULONG, PULONG); +typedef PVOID (*PGD_QUERYFONTTREE)(DHPDEV, ULONG, ULONG, ULONG, PULONG); +typedef LONG (*PGD_QUERYFONTDATA)(DHPDEV, PFONTOBJ, ULONG, HGLYPH, PGLYPHDATA, + PVOID, ULONG); +typedef ULONG (*PGD_SETPOINTERSHAPE)(PSURFOBJ, PSURFOBJ, PSURFOBJ, PXLATEOBJ, + LONG, LONG, LONG, LONG, PRECTL, ULONG); +typedef VOID (*PGD_MOVEPOINTER)(PSURFOBJ, LONG, LONG, PRECTL); +typedef BOOL (*PGD_LINETO)(PSURFOBJ, PCLIPOBJ, PBRUSHOBJ, LONG, LONG, LONG, + LONG, PRECTL, MIX); +typedef BOOL (*PGD_SENDPAGE)(PSURFOBJ); +typedef BOOL (*PGD_STARTPAGE)(PSURFOBJ); +typedef BOOL (*PGD_ENDDOC)(PSURFOBJ, ULONG); +typedef BOOL (*PGD_STARTDOC)(PSURFOBJ, PWSTR, DWORD); +typedef ULONG (*PGD_GETGLYPHMODE)(DHPDEV, PFONTOBJ); +typedef VOID (*PGD_SYNCHRONIZE)(DHPDEV, PRECTL); +typedef ULONG (*PGD_SAVESCREENBITS)(PSURFOBJ, ULONG, ULONG, PRECTL); +typedef ULONG (*PGD_GETMODES)(HANDLE, ULONG, PDEVMODEW); +typedef VOID (*PGD_FREE)(PVOID, ULONG); +typedef VOID (*PGD_DESTROYFONT)(PFONTOBJ); +typedef LONG (*PGD_QUERYFONTCAPS)(ULONG, PULONG); +typedef ULONG (*PGD_LOADFONTFILE)(ULONG, PVOID, ULONG, ULONG); +typedef BOOL (*PGD_UNLOADFONTFILE)(ULONG); +typedef ULONG (*PGD_FONTMANAGEMENT)(PSURFOBJ, PFONTOBJ, ULONG, ULONG, PVOID, + ULONG, PVOID); +typedef LONG (*PGD_QUERYTRUETYPETABLE)(ULONG, ULONG, ULONG, PTRDIFF, ULONG, + PBYTE); +typedef LONG (*PGD_QUERYTRUETYPEOUTLINE)(DHPDEV, PFONTOBJ, HGLYPH, BOOL, + PGLYPHDATA, ULONG, PTTPOLYGONHEADER); +typedef PVOID (*PGD_GETTRUETYPEFILE)(ULONG, PULONG); +typedef LONG (*PGD_QUERYFONTFILE)(ULONG, ULONG, ULONG, PULONG); +typedef BOOL (*PGD_QUERYADVANCEWIDTHS)(DHPDEV, PFONTOBJ, ULONG, HGLYPH *, + PVOID *, ULONG); +typedef BOOL (*PGD_SETPIXELFORMAT)(PSURFOBJ, LONG, ULONG); +typedef LONG (*PGD_DESCRIBEPIXELFORMAT)(DHPDEV, LONG, ULONG, + PPIXELFORMATDESCRIPTOR); +typedef BOOL (*PGD_SWAPBUFFERS)(PSURFOBJ, PWNDOBJ); +typedef BOOL (*PGD_STARTBANDING)(PSURFOBJ, PPOINTL); +typedef BOOL (*PGD_NEXTBAND)(PSURFOBJ, PPOINTL); +typedef LONG (*PGD_QUERYSPOOLTYPE)(DHPDEV, LPWSTR); + typedef struct _DRIVER_FUNCTIONS { @@ -33,57 +100,57 @@ typedef struct _DRIVER_FUNCTIONS PGD_DISABLESURFACE DisableSurface; PGD_ASSERTMODE AssertMode; PGD_RESETPDEV ResetPDev; + PGD_CREATEDEVICEBITMAP CreateDeviceBitmap; + PGD_DELETEDEVICEBITMAP DeleteDeviceBitmap; + PGD_REALIZEBRUSH RealizeBrush; + PGD_DITHERCOLOR DitherColor; + PGD_STROKEPATH StrokePath; + PGD_FILLPATH FillPath; + PGD_STROKEANDFILLPATH StrokeAndFillPath; + PGD_PAINT Paint; + PGD_BITBLT BitBlt; + PGD_COPYBITS CopyBits; + PGD_STRETCHBLT StretchBlt; + PGD_SETPALETTE SetPalette; + PGD_TEXTOUT TextOut; + PGD_ESCAPE Escape; + PGD_DRAWESCAPE DrawEscape; + PGD_QUERYFONT QueryFont; + PGD_QUERYFONTTREE QueryFontTree; + PGD_QUERYFONTDATA QueryFontData; + PGD_SETPOINTERSHAPE SetPointerShape; + PGD_MOVEPOINTER MovePointer; + PGD_LINETO LineTo; + PGD_SENDPAGE SendPage; + PGD_STARTPAGE StartPage; + PGD_ENDDOC EndDoc; + PGD_STARTDOC StartDoc; + PGD_GETGLYPHMODE GetGlyphMode; + PGD_SYNCHRONIZE Synchronize; + PGD_SAVESCREENBITS SaveScreenBits; + PGD_GETMODES GetModes; + PGD_FREE Free; + PGD_DESTROYFONT DestroyFont; + PGD_QUERYFONTCAPS QueryFontCaps; + PGD_LOADFONTFILE LoadFontFile; + PGD_UNLOADFONTFILE UnloadFontFile; + PGD_FONTMANAGEMENT FontManagement; + PGD_QUERYTRUETYPETABLE QueryTrueTypeTable; + PGD_QUERYTRUETYPEOUTLINE QueryTrueTypeOutline; + PGD_GETTRUETYPEFILE GetTrueTypeFile; + PGD_QUERYFONTFILE QueryFontFile; + PGD_QUERYADVANCEWIDTHS QueryAdvanceWidths; + PGD_SETPIXELFORMAT SetPixelFormat; + PGD_DESCRIBEPIXELFORMAT DescribePixelFormat; + PGD_SWAPBUFFERS SwapBuffers; + PGD_STARTBANDING StartBanding; + PGD_NEXTBAND NextBand; #if 0 - PGD_CREATEDEVICEBITMAP, - PGD_DELETEDEVICEBITMAP, - PGD_REALIZEBRUSH, - PGD_DITHERCOLOR, - PGD_STROKEPATH, - PGD_FILLPATH, - PGD_STROKEANDFILLPATH, - PGD_PAINT - PGD_BITBLT, - PGD_COPYBITS, - PGD_STRETCHBLT, - PGD_SETPALETTE, - PGD_TEXTOUT, - PGD_ESCAPE, - PGD_DRAWESCAPE, - PGD_QUERYFONT, - PGD_QUERYFONTTREE, - PGD_QUERYFONTDATA, - PGD_SETPOINTERSHAPE, - PGD_MOVEPOINTER, - PGD_LINETO, - PGD_SENDPAGE, - PGD_STARTPAGE, - PGD_ENDDOC, - PGD_STARTDOC, - PGD_GETGLYPHMODE, - PGD_SYNCHRONIZE, - PGD_SAVESCREENBITS, - PGD_GETMODES, - PGD_FREE, - PGD_DESTROYFONT, - PGD_QUERYFONTCAPS, - PGD_LOADFONTFILE, - PGD_UNLOADFONTFILE, - PGD_FONTMANAGEMENT, - PGD_QUERYTRUETYPETABLE, - PGD_QUERYTRUETYPEOUTLINE, - PGD_GETTRUETYPEFILE, - PGD_QUERYFONTFILE, - PGD_QUERYADVANCEWIDTHS, - PGD_SETPIXELFORMAT, - PGD_DESCRIBEPIXELFORMAT, - PGD_SWAPBUFFERS, - PGD_STARTBANDING, - PGD_NEXTBAND, PGD_GETDIRECTDRAWINFO, PGD_ENABLEDIRECTDRAW, PGD_DISABLEDIRECTDRAW, - PGD_QUERYSPOOLTYPE, #endif + PGD_QUERYSPOOLTYPE QuerySpoolType; } DRIVER_FUNCTIONS, *PDRIVER_FUNCTIONS; BOOL DRIVER_RegisterDriver(LPCWSTR Name, PGD_ENABLEDRIVER EnableDriver);