Why the hell are you putting function headers in a header called "types"?
On Mon, May 19, 2008 at 2:33 AM, greatlrd@svn.reactos.org wrote:
Author: greatlrd Date: Sun May 18 13:33:27 2008 New Revision: 33593
URL: http://svn.reactos.org/svn/reactos?rev=33593&view=rev Log: adding 1 new syscall from vista : NtGdiCreateOPMProtectedOutputs Adding 62 new syscall from vista, they are known as D3DKMT for the graphic drv and gdi32.dll, I have not fix the protype for I do not known if it same as the drv prototype or not, yet. NtGdiDdDDICheckExclusiveOwnership,NtGdiDdDDICheckMonitorPowerState,NtGdiDdDDICheckOcclusion,NtGdiDdDDICloseAdapter, NtGdiDdDDICreateAllocation, NtGdiDdDDICreateContext, NtGdiDdDDICreateDCFromMemory, NtGdiDdDDICreateDevice, NtGdiDdDDICreateOverlay, NtGdiDdDDICreateSynchronizationObject, NtGdiDdDDIDestroyAllocation, NtGdiDdDDIDestroyContext, NtGdiDdDDIDestroyDCFromMemory, NtGdiDdDDIDestroyDevice, NtGdiDdDDIDestroyOverlay, NtGdiDdDDIDestroySynchronizationObject, NtGdiDdDDIEscape, NtGdiDdDDIFlipOverlay, NtGdiDdDDIGetContextSchedulingPriority, NtGdiDdDDIGetDeviceState, NtGdiDdDDIGetDisplayModeList, NtGdiDdDDIGetMultisampleMethodList, NtGdiDdDDIGetPresentHistory, NtGdiDdDDIGetProcessSchedulingPriorityClass, NtGdiDdDDIGetRuntimeData, NtGdiDdDDIGetScanLine, NtGdiDdDDIGetSharedPrimaryHandle, NtGdiDdDDIInvalidateActiveVidPn, NtGdiDdDDILock, NtGdiDdDDIOpenAdapterFromDeviceName, NtGdiDdDDIOpenAdapterFromHdc, NtGdiDdDDIOpenResource, NtGdiDdDDIPollDisplayChildren, NtGdiDdDDIPresent, NtGdiDdDDIQueryAdapterInfo, NtGdiDdDDIQueryAllocationResidency, NtGdiDdDDIQueryResourceInfo, NtGdiDdDDIQueryStatistics, NtGdiDdDDIReleaseProcessVidPnSourceOwners, NtGdiDdDDIRender, NtGdiDdDDISetAllocationPriority, NtGdiDdDDISetContextSchedulingPriority, NtGdiDdDDISetDisplayMode, NtGdiDdDDISetDisplayPrivateDriverFormat, NtGdiDdDDISetGammaRamp, NtGdiDdDDISetProcessSchedulingPriorityClass, NtGdiDdDDISetQueuedLimit, NtGdiDdDDISetVidPnSourceOwner, NtGdiDdDDISharedPrimaryLockNotification, NtGdiDdDDISharedPrimaryUnLockNotification, NtGdiDdDDISignalSynchronizationObject, NtGdiDdDDIUnlock, NtGdiDdDDIUpdateOverlay, NtGdiDdDDIWaitForIdle, NtGdiDdDDIWaitForSynchronizationObject, NtGdiDdDDIWaitForVerticalBlankEvent, NtGdiDDCCIGetCapabilitiesString, NtGdiDDCCIGetCapabilitiesStringLength, NtGdiDDCCIGetTimingReport, NtGdiDDCCIGetVCPFeature, NtGdiDDCCISaveCurrentSettings, NtGdiDDCCISetVCPFeature,
Added: branches/win32k-gdi-dx/subsystems/win32/win32k/ntddraw/d3dkmt.c (with props) Modified: branches/win32k-gdi-dx/include/reactos/win32k/ntgdityp.h branches/win32k-gdi-dx/subsystems/win32/win32k/stubs/stubs.c branches/win32k-gdi-dx/subsystems/win32/win32k/w32ksvc.db
Modified: branches/win32k-gdi-dx/include/reactos/win32k/ntgdityp.h URL: http://svn.reactos.org/svn/reactos/branches/win32k-gdi-dx/include/reactos/wi... ============================================================================== --- branches/win32k-gdi-dx/include/reactos/win32k/ntgdityp.h [iso-8859-1] (original) +++ branches/win32k-gdi-dx/include/reactos/win32k/ntgdityp.h [iso-8859-1] Sun May 18 13:33:27 2008 @@ -1,667 +1,738 @@ -/*
- COPYRIGHT: See COPYING in the top level directory
- PROJECT: ReactOS Win32 Graphical Subsystem (WIN32K)
- FILE: include/win32k/ntgdityp.h
- PURPOSE: Win32 Shared GDI Types for NtGdi*
- PROGRAMMER: Alex Ionescu (alex@relsoft.net)
- */
-/* INCLUDES ******************************************************************/
-#ifndef _NTGDITYP_ -#define _NTGDITYP_
-/* ENUMERATIONS **************************************************************/
-typedef enum _ARCTYPE -{
- GdiTypeArc,
- GdiTypeArcTo,
- GdiTypeChord,
- GdiTypePie,
-} ARCTYPE, *PARCTYPE;
-typedef enum _PALFUNCTYPE -{
- GdiPalAnimate,
- GdiPalSetEntries,
- GdiPalGetEntries,
- GdiPalGetSystemEntries,
- GdiPalSetColorTable,
- GdiPalGetColorTable,
-} PALFUNCTYPE, *PPALFUNCTYPE;
-typedef enum _POLYFUNCTYPE -{
- GdiPolyPolygon = 1,
- GdiPolyPolyLine,
- GdiPolyBezier,
- GdiPolyLineTo,
- GdiPolyBezierTo,
- GdiPolyPolyRgn,
-} POLYFUNCTYPE, *PPOLYFUNCTYPE;
-typedef enum _GETDCDWORD -{
- GdiGetJournal,
- GdiGetRelAbs,
- GdiGetBreakExtra,
- GdiGerCharBreak,
- GdiGetArcDirection,
- GdiGetEMFRestorDc,
- GdiGetFontLanguageInfo,
- GdiGetIsMemDc,
- GdiGetMapMode,
- GdiGetTextCharExtra,
-} GETDCDWORD, *PGETDCDWORD;
-typedef enum _GETSETDCDWORD -{
- GdiGetSetCopyCount = 2,
- GdiGetSetTextAlign,
- GdiGetSetRelAbs,
- GdiGetSetTextCharExtra,
- GdiGetSetSelectFont,
- GdiGetSetMapperFlagsInternal,
- GdiGetSetMapMode,
- GdiGetSetArcDirection,
-} GETSETDCDWORD, *PGETSETDCDWORD;
-typedef enum _GETDCPOINT -{
- GdiGetViewPortExt = 1,
- GdiGetWindowExt,
- GdiGetViewPortOrg,
- GdiGetWindowOrg,
- GdiGetAspectRatioFilter,
- GdiGetDCOrg = 6,
-} GETDCPOINT, *PGETDCPOINT;
-typedef enum _GDIBATCHCMD -{
- GdiBCPatBlt,
- GdiBCPolyPatBlt,
- GdiBCTextOut,
- GdiBCExtTextOut,
- GdiBCSetBrushOrg,
- GdiBCExtSelClipRgn,
- GdiBCSelObj,
- GdiBCDelObj,
- GdiBCDelRgn,
-} GDIBATCHCMD, *PGDIBATCHCMD;
-typedef enum _TRANSFORMTYPE -{
- GdiDpToLp,
- GdiLpToDp,
-} TRANSFORMTYPE, *PTRANSFORMTYPE;
-typedef enum GDIObjType -{
- GDIObjType_DEF_TYPE = 0x00,
- GDIObjType_DC_TYPE = 0x01,
- GDIObjType_UNUSED1_TYPE = 0x02,
- GDIObjType_UNUSED2_TYPE = 0x03,
- GDIObjType_RGN_TYPE = 0x04,
- GDIObjType_SURF_TYPE = 0x05,
- GDIObjType_CLIENTOBJ_TYPE = 0x06,
- GDIObjType_PATH_TYPE = 0x07,
- GDIObjType_PAL_TYPE = 0x08,
- GDIObjType_ICMLCS_TYPE = 0x09,
- GDIObjType_LFONT_TYPE = 0x0a,
- GDIObjType_RFONT_TYPE = 0x0b,
- GDIObjType_PFE_TYPE = 0x0c,
- GDIObjType_PFT_TYPE = 0x0d,
- GDIObjType_ICMCXF_TYPE = 0x0e,
- GDIObjType_SPRITE_TYPE = 0x0f,
- GDIObjType_BRUSH_TYPE = 0x10,
- GDIObjType_UMPD_TYPE = 0x11,
- GDIObjType_UNUSED4_TYPE = 0x12,
- GDIObjType_SPACE_TYPE = 0x13,
- GDIObjType_UNUSED5_TYPE = 0x14,
- GDIObjType_META_TYPE = 0x15,
- GDIObjType_EFSTATE_TYPE = 0x16,
- GDIObjType_BMFD_TYPE = 0x17,
- GDIObjType_VTFD_TYPE = 0x18,
- GDIObjType_TTFD_TYPE = 0x19,
- GDIObjType_RC_TYPE = 0x1a,
- GDIObjType_TEMP_TYPE = 0x1b,
- GDIObjType_DRVOBJ_TYPE = 0x1c,
- GDIObjType_DCIOBJ_TYPE = 0x1d,
- GDIObjType_SPOOL_TYPE = 0x1e,
- GDIObjType_MAX_TYPE = 0x1e,
- GDIObjTypeTotal = 0x1f,
-} GDIOBJTYPE, *PGDIOBJTYPE;
-typedef enum GDILoObjType -{
- GDILoObjType_LO_BRUSH_TYPE = 0x100000,
- GDILoObjType_LO_DC_TYPE = 0x10000,
- GDILoObjType_LO_BITMAP_TYPE = 0x50000,
- GDILoObjType_LO_PALETTE_TYPE = 0x80000,
- GDILoObjType_LO_FONT_TYPE = 0xa0000,
- GDILoObjType_LO_REGION_TYPE = 0x40000,
- GDILoObjType_LO_ICMLCS_TYPE = 0x90000,
- GDILoObjType_LO_CLIENTOBJ_TYPE = 0x60000,
- GDILoObjType_LO_ALTDC_TYPE = 0x210000,
- GDILoObjType_LO_PEN_TYPE = 0x300000,
- GDILoObjType_LO_EXTPEN_TYPE = 0x500000,
- GDILoObjType_LO_DIBSECTION_TYPE = 0x250000,
- GDILoObjType_LO_METAFILE16_TYPE = 0x260000,
- GDILoObjType_LO_METAFILE_TYPE = 0x460000,
- GDILoObjType_LO_METADC16_TYPE = 0x660000
-} GDILOOBJTYPE, *PGDILOOBJTYPE;
-#define GdiWorldSpaceToPageSpace 0x203
-/* FIXME: Unknown */ -typedef DWORD FULLSCREENCONTROL; -typedef DWORD LFTYPE;
-/* Public LAST_STOCK = 19, plus 2 more internal entries */ -#define NB_STOCK_OBJECTS 22
-/* extra stock object: default 1x1 bitmap for memory DCs */ -#define DEFAULT_BITMAP (21)
-/* DEFINES *******************************************************************/
-#define GDIBATCHBUFSIZE 0x136*4 -#define GDI_BATCH_LIMIT 20
-// NtGdiGetCharWidthW Flags -#define GCW_WIN32 0x0001 -#define GCW_NOFLOAT 0x0002 -#define GCW_INDICES 0x0008
-// NtGdiGetCharABCWidthW Flags -#define GCABCW_NOFLOAT 0x0001 -#define GCABCW_INDICES 0x0002
-/* CAPS1 support */ -//#define C1_TRANSPARENT 0x0001 -#define TC_TT_ABLE 0x0002 -#define C1_TT_CR_ANY 0x0004 -#define C1_EMF_COMPLIANT 0x0008 -#define C1_DIBENGINE 0x0010 -#define C1_GAMMA_RAMP 0x0040 -#define C1_REINIT_ABLE 0x0080 -#define C1_GLYPH_INDEX 0x0100 -#define C1_BIT_PACKED 0x0200 -#define C1_BYTE_PACKED 0x0400 -#define C1_COLORCURSOR 0x0800 -#define C1_CMYK_ABLE 0x1000 -#define C1_SLOW_CARD 0x2000
-/* TYPES *********************************************************************/
-typedef PVOID KERNEL_PVOID; -typedef D3DNTHAL_CONTEXTCREATEDATA D3DNTHAL_CONTEXTCREATEI; -typedef LONG FIX;
-typedef struct _CHWIDTHINFO -{
- LONG lMaxNegA;
- LONG lMaxNegC;
- LONG lMinWidthD;
-} CHWIDTHINFO, *PCHWIDTHINFO;
-typedef struct _UNIVERSAL_FONT_ID -{
- DWORD dwUfid[2];
-} UNIVERSAL_FONT_ID, *PUNIVERSAL_FONT_ID;
-typedef struct _REALIZATION_INFO // Based on LOCALESIGNATURE -{
- DWORD dwCsbDefault[2];
- DWORD dwCsbSupported0;
-} REALIZATION_INFO, *PREALIZATION_INFO;
-typedef struct _WIDTHDATA -{
- USHORT sOverhang;
- USHORT sHeight;
- USHORT sCharInc;
- USHORT sBreak;
- BYTE jFirst;
- BYTE jLast;
- BYTE jBreak;
- BYTE jDefault;
- USHORT sDBCSInc;
- USHORT sDefaultInc;
-} WIDTHDATA, *PWIDTHDATA;
-typedef struct _DEVCAPS // Very similar to GDIINFO -{
- ULONG ulVersion;
- ULONG ulTechnology;
- ULONG ulHorzSizeM;
- ULONG ulVertSizeM;
- ULONG ulHorzSize;
- ULONG ulVertSize;
- ULONG ulHorzRes;
- ULONG ulVertRes;
- ULONG ulBitsPixel;
- ULONG ulPlanes;
- ULONG ulNumPens;
- ULONG ulNumFonts;
- ULONG ulNumColors;
- ULONG ulRasterCaps;
- ULONG ulAspectX;
- ULONG ulAspectY;
- ULONG ulAspectXY;
- ULONG ulLogPixelsX;
- ULONG ulLogPixelsY;
- ULONG ulSizePalette;
- ULONG ulColorRes;
- ULONG ulPhysicalWidth;
- ULONG ulPhysicalHeight;
- ULONG ulPhysicalOffsetX;
- ULONG ulPhysicalOffsetY;
- ULONG ulTextCaps;
- ULONG ulVRefresh;
- ULONG ulDesktopHorzRes;
- ULONG ulDesktopVertRes;
- ULONG ulBltAlignment;
- ULONG ulReserved[4];
- ULONG ulShadeBlend;
- ULONG ulColorMgmtCaps;
-} DEVCAPS, *PDEVCAPS;
-/* Gdi Handle Cache Types and Structures */ -#define GDI_CACHED_HADNLE_TYPES 4 -#define CACHE_BRUSH_ENTRIES 10 -#define CACHE_PEN_ENTRIES 8 -#define CACHE_REGION_ENTRIES 8 -#define CACHE_LFONT_ENTRIES 1
-typedef enum _HANDLECACHETYPE -{
- hctBrushHandle,
- hctPenHandle,
- hctRegionHandle,
- hctLFontHandle
-} HANDLECACHETYPE,*PHANDLECACHETYPE;
-typedef struct _GDIHANDLECACHE -{
- ULONG ulLock;
- ULONG ulNumHandles[GDI_CACHED_HADNLE_TYPES];
- HANDLE Handle[CACHE_BRUSH_ENTRIES+CACHE_PEN_ENTRIES+CACHE_REGION_ENTRIES+CACHE_LFONT_ENTRIES];
-} GDIHANDLECACHE, *PGDIHANDLECACHE;
-/* Font Structures */ -typedef struct _TMDIFF -{
- ULONG cjotma;
- CHAR chFirst;
- CHAR chLast;
- CHAR ChDefault;
- CHAR ChBreak;
-} TMDIFF, *PTMDIFF;
-typedef struct _TMW_INTERNAL -{
- TEXTMETRICW TextMetric;
- TMDIFF Diff;
-} TMW_INTERNAL, *PTMW_INTERNAL;
-typedef struct _NTMW_INTERNAL -{
- TMDIFF tmd;
- NEWTEXTMETRICEXW ntmw;
-} NTMW_INTERNAL, *PNTMW_INTERNAL;
-typedef struct _ENUMFONTDATAW -{
- ULONG cbSize;
- ULONG ulNtmwiOffset;
- DWORD dwFontType;
- ENUMLOGFONTEXDVW elfexdv; /* variable size! */
- /* NTMW_INTERNAL ntmwi; use ulNtwmOffset */
-} ENUMFONTDATAW, *PENUMFONTDATAW;
-/* Number Representation */ -typedef struct _EFLOAT_S -{
- LONG lMant;
- LONG lExp;
-} EFLOAT_S;
-/* XFORM Structures */ -typedef struct _MATRIX_S -{
- EFLOAT_S efM11;
- EFLOAT_S efM12;
- EFLOAT_S efM21;
- EFLOAT_S efM22;
- EFLOAT_S efDx;
- EFLOAT_S efDy;
- FIX fxDx;
- FIX fxDy;
- FLONG flAccel;
-} MATRIX_S;
-/* Gdi XForm storage union */ -typedef union -{
- FLOAT f;
- ULONG l;
-} gxf_long;
-typedef struct _CFONT -{
- struct _CFONT *pcfNext;
- HFONT hf;
- ULONG cRef; // Count of all pointers to this CFONT.
- FLONG fl;
- LONG lHeight; // Precomputed logical height.
- HDC hdc; // HDC of realization. 0 for display.
- EFLOAT_S efM11; // efM11 of WtoD of DC of realization
- EFLOAT_S efM22; // efM22 of WtoD of DC of realization
- EFLOAT_S efDtoWBaseline; // Precomputed back transform. (FXtoL)
- EFLOAT_S efDtoWAscent; // Precomputed back transform. (FXtoL)
- WIDTHDATA wd;
- FLONG flInfo;
- USHORT sWidth[256]; // Widths in pels.
- ULONG ulAveWidth; // bogus average used by USER
- TMW_INTERNAL tmw; // cached metrics
- LOCALESIGNATURE lsLocSig; // font signature information
-} CFONT, *PCFONT;
-// -// GDI Batch structures. -// -typedef struct _GDIBATCHHDR -{
- SHORT Size;
- SHORT Cmd;
-} GDIBATCHHDR, *PGDIBATCHHDR;
-typedef struct _GDIBSPATBLT -{
- GDIBATCHHDR gbHdr;
- int nXLeft;
- int nYLeft;
- int nWidth;
- int nHeight;
- HANDLE hbrush;
- DWORD dwRop;
- COLORREF crForegroundClr;
- COLORREF crBackgroundClr;
- COLORREF crBrushClr;
- INT IcmBrushColor;
- POINTL ptlViewportOrg;
- ULONG ulForegroundClr;
- ULONG ulBackgroundClr;
- ULONG ulBrushClr;
-} GDIBSPATBLT, *PGDIBSPATBLT;
-#ifndef _NTUSRTYP_ -typedef struct _PATRECT -{
- RECT r;
- HBRUSH hBrush;
-} PATRECT, * PPATRECT;
-typedef struct _W32CLIENTINFO -{
- ULONG CI_flags;
- ULONG cSpins;
- ULONG ulWindowsVersion;
- ULONG ulAppCompatFlags;
- ULONG ulAppCompatFlags2;
- ULONG W32ClientInfo[57];
-} W32CLIENTINFO, *PW32CLIENTINFO; -#endif
-typedef struct _GDIBSPPATBLT -{
- GDIBATCHHDR gbHdr;
- DWORD rop4;
- DWORD Mode;
- DWORD Count;
- COLORREF crForegroundClr;
- COLORREF crBackgroundClr;
- COLORREF crBrushClr;
- ULONG ulForegroundClr;
- ULONG ulBackgroundClr;
- ULONG ulBrushClr;
- POINTL ptlViewportOrg;
- PATRECT pRect[1]; // POLYPATBLT
-} GDIBSPPATBLT, *PGDIBSPPATBLT;
-typedef struct _GDIBSTEXTOUT -{
- GDIBATCHHDR gbHdr;
- COLORREF crForegroundClr;
- COLORREF crBackgroundClr;
- LONG lmBkMode;
- ULONG ulForegroundClr;
- ULONG ulBackgroundClr;
- int x;
- int y;
- UINT Options;
- RECT Rect;
- DWORD iCS_CP;
- UINT cbCount;
- UINT Size;
- HANDLE hlfntNew;
- FLONG flTextAlign;
- POINTL ptlViewportOrg;
- WCHAR String[2];
-} GDIBSTEXTOUT, *PGDIBSTEXTOUT;
-typedef struct _GDIBSEXTTEXTOUT -{
- GDIBATCHHDR gbHdr;
- UINT Count;
- UINT Options;
- RECT Rect;
- POINTL ptlViewportOrg;
- ULONG ulBackgroundClr;
-} GDIBSEXTTEXTOUT, *PGDIBSEXTTEXTOUT;
-typedef struct _GDIBSSETBRHORG -{
- GDIBATCHHDR gbHdr;
- POINTL ptlBrushOrigin;
-} GDIBSSETBRHORG, *PGDIBSSETBRHORG;
-typedef struct _GDIBSEXTSELCLPRGN -{
- GDIBATCHHDR gbHdr;
- int fnMode;
- LONG right;
- LONG bottom;
- LONG left;
- LONG top;
-} GDIBSEXTSELCLPRGN, *PGDIBSEXTSELCLPRGN; -// -// Use with GdiBCSelObj, GdiBCDelObj and GdiBCDelRgn. -typedef struct _GDIBSOBJECT -{
- GDIBATCHHDR gbHdr;
- HGDIOBJ hgdiobj;
-} GDIBSOBJECT, *PGDIBSOBJECT;
-// -// Driver Functions -// -typedef BOOL (NTAPI *PGD_ENABLEDRIVER)(ULONG, ULONG, PDRVENABLEDATA); -typedef DHPDEV (NTAPI *PGD_ENABLEPDEV)(DEVMODEW *, LPWSTR, ULONG, HSURF *, ULONG, ULONG *, ULONG, DEVINFO *, LPWSTR, LPWSTR, HANDLE); -typedef VOID (NTAPI *PGD_COMPLETEPDEV)(DHPDEV, HDEV); -typedef VOID (NTAPI *PGD_DISABLEPDEV)(DHPDEV); -typedef HSURF (NTAPI *PGD_ENABLESURFACE)(DHPDEV); -typedef VOID (NTAPI *PGD_DISABLESURFACE)(DHPDEV); -typedef BOOL (NTAPI *PGD_ASSERTMODE)(DHPDEV, BOOL); -typedef BOOL (NTAPI *PGD_OFFSET)(SURFOBJ*, LONG, LONG, FLONG); -typedef BOOL (NTAPI *PGD_RESETPDEV)(DHPDEV, DHPDEV); -typedef VOID (NTAPI *PGD_DISABLEDRIVER)(VOID); -typedef HBITMAP (NTAPI *PGD_CREATEDEVICEBITMAP)(DHPDEV, SIZEL, ULONG); -typedef VOID (NTAPI *PGD_DELETEDEVICEBITMAP)(DHSURF); -typedef BOOL (NTAPI *PGD_ALPHABLEND)(SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, RECTL*, RECTL*, BLENDOBJ*); -typedef BOOL (NTAPI *PGD_REALIZEBRUSH)(BRUSHOBJ*, SURFOBJ*, SURFOBJ*, SURFOBJ*, XLATEOBJ*, ULONG); -typedef ULONG (NTAPI *PGD_DITHERCOLOR)(DHPDEV, ULONG, ULONG, PULONG); -typedef BOOL (NTAPI *PGD_STROKEPATH)(SURFOBJ*, PATHOBJ*, CLIPOBJ*, XFORMOBJ*, BRUSHOBJ*, POINTL*, PLINEATTRS, MIX); -typedef BOOL (NTAPI *PGD_FILLPATH)(SURFOBJ*, PATHOBJ*, CLIPOBJ*, BRUSHOBJ*, POINTL*, MIX, ULONG); -typedef BOOL (NTAPI *PGD_STROKEANDFILLPATH)(SURFOBJ*, PATHOBJ*, CLIPOBJ*, XFORMOBJ*, BRUSHOBJ*, PLINEATTRS, BRUSHOBJ*, POINTL*, MIX, ULONG); -typedef BOOL (NTAPI *PGD_PAINT)(SURFOBJ*, CLIPOBJ*, BRUSHOBJ*, POINTL*, MIX); -typedef BOOL (NTAPI *PGD_BITBLT)(SURFOBJ*, SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, RECTL*, POINTL*, POINTL*, BRUSHOBJ*, POINTL*, ROP4); -typedef BOOL (NTAPI *PGD_TRANSPARENTBLT)(SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, RECTL*, RECTL*, ULONG, ULONG); -typedef BOOL (NTAPI *PGD_COPYBITS)(SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, RECTL*, POINTL*); -typedef BOOL (NTAPI *PGD_STRETCHBLT)(SURFOBJ*, SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, COLORADJUSTMENT*, POINTL*, RECTL*, RECTL*, POINTL*, ULONG); -typedef BOOL (NTAPI *PGD_STRETCHBLTROP)(SURFOBJ*, SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, COLORADJUSTMENT*, POINTL*, RECTL*, RECTL*, POINTL*, ULONG, BRUSHOBJ*, DWORD); -typedef BOOL (NTAPI *PGD_SETPALETTE)(DHPDEV, PALOBJ*, ULONG, ULONG, ULONG); -typedef BOOL (NTAPI *PGD_TEXTOUT)(SURFOBJ*, STROBJ*, FONTOBJ*, CLIPOBJ*, RECTL*, RECTL*, BRUSHOBJ*, BRUSHOBJ*, POINTL*, MIX); -typedef ULONG (NTAPI *PGD_ESCAPE)(SURFOBJ*, ULONG, ULONG, PVOID *, ULONG, PVOID *); -typedef ULONG (NTAPI *PGD_DRAWESCAPE)(SURFOBJ*, ULONG, CLIPOBJ*, RECTL*, ULONG, PVOID *); -typedef PIFIMETRICS (NTAPI *PGD_QUERYFONT)(DHPDEV, ULONG, ULONG, PULONG); -typedef PVOID (NTAPI *PGD_QUERYFONTTREE)(DHPDEV, ULONG, ULONG, ULONG, PULONG); -typedef LONG (NTAPI *PGD_QUERYFONTDATA)(DHPDEV, FONTOBJ*, ULONG, HGLYPH, GLYPHDATA*, PVOID, ULONG); -typedef ULONG (NTAPI *PGD_SETPOINTERSHAPE)(SURFOBJ*, SURFOBJ*, SURFOBJ*, XLATEOBJ*, LONG, LONG, LONG, LONG, RECTL*, ULONG); -typedef VOID (NTAPI *PGD_MOVEPOINTER)(SURFOBJ*, LONG, LONG, RECTL*); -typedef BOOL (NTAPI *PGD_LINETO)(SURFOBJ*, CLIPOBJ*, BRUSHOBJ*, LONG, LONG, LONG, LONG, RECTL*, MIX); -typedef BOOL (NTAPI *PGD_SENDPAGE)(SURFOBJ*); -typedef BOOL (NTAPI *PGD_STARTPAGE)(SURFOBJ*); -typedef BOOL (NTAPI *PGD_ENDDOC)(SURFOBJ*, ULONG); -typedef BOOL (NTAPI *PGD_STARTDOC)(SURFOBJ*, PWSTR, DWORD); -typedef ULONG (NTAPI *PGD_GETGLYPHMODE)(DHPDEV, FONTOBJ*); -typedef VOID (NTAPI *PGD_SYNCHRONIZE)(DHPDEV, RECTL*); -typedef ULONG (NTAPI *PGD_SAVESCREENBITS)(SURFOBJ*, ULONG, ULONG, RECTL*); -typedef ULONG (NTAPI *PGD_GETMODES)(HANDLE, ULONG, PDEVMODEW); -typedef VOID (NTAPI *PGD_FREE)(PVOID, ULONG); -typedef VOID (NTAPI *PGD_DESTROYFONT)(FONTOBJ*); -typedef LONG (NTAPI *PGD_QUERYFONTCAPS)(ULONG, PULONG); -typedef ULONG (NTAPI *PGD_LOADFONTFILE)(ULONG, PVOID, ULONG, ULONG); -typedef BOOL (NTAPI *PGD_UNLOADFONTFILE)(ULONG); -typedef ULONG (NTAPI *PGD_FONTMANAGEMENT)(SURFOBJ*, FONTOBJ*, ULONG, ULONG, PVOID, ULONG, PVOID); -typedef LONG (NTAPI *PGD_QUERYTRUETYPETABLE)(ULONG, ULONG, ULONG, PTRDIFF, ULONG, PBYTE); -typedef LONG (NTAPI *PGD_QUERYTRUETYPEOUTLINE)(DHPDEV, FONTOBJ*, HGLYPH, BOOL, GLYPHDATA*, ULONG, TTPOLYGONHEADER*); -typedef PVOID (NTAPI *PGD_GETTRUETYPEFILE)(ULONG, PULONG); -typedef LONG (NTAPI *PGD_QUERYFONTFILE)(ULONG, ULONG, ULONG, PULONG); -typedef BOOL (NTAPI *PGD_QUERYADVANCEWIDTHS)(DHPDEV, FONTOBJ*, ULONG, HGLYPH *, PVOID *, ULONG); -typedef BOOL (NTAPI *PGD_SETPIXELFORMAT)(SURFOBJ*, LONG, ULONG); -typedef LONG (NTAPI *PGD_DESCRIBEPIXELFORMAT)(DHPDEV, LONG, ULONG, PPIXELFORMATDESCRIPTOR); -typedef BOOL (NTAPI *PGD_SWAPBUFFERS)(SURFOBJ*, PWNDOBJ); -typedef BOOL (NTAPI *PGD_STARTBANDING)(SURFOBJ*, POINTL*); -typedef BOOL (NTAPI *PGD_NEXTBAND)(SURFOBJ*, POINTL*); -typedef BOOL (NTAPI *PGD_GETDIRECTDRAWINFO)(DHPDEV, PDD_HALINFO, PDWORD, VIDEOMEMORY*, PDWORD, PDWORD); -typedef BOOL (NTAPI *PGD_ENABLEDIRECTDRAW)(DHPDEV, PDD_CALLBACKS, PDD_SURFACECALLBACKS, PDD_PALETTECALLBACKS); -typedef VOID (NTAPI *PGD_DISABLEDIRECTDRAW)(DHPDEV); -typedef LONG (NTAPI *PGD_QUERYSPOOLTYPE)(DHPDEV, LPWSTR); -typedef BOOL (NTAPI *PGD_GRADIENTFILL)(SURFOBJ*, CLIPOBJ*, XLATEOBJ*, TRIVERTEX*, ULONG, PVOID, ULONG, RECTL*, POINTL*, ULONG); -typedef VOID (NTAPI *PGD_SYNCHRONIZESURFACE)(SURFOBJ*, RECTL *, FLONG);
-// -// Most of these are definded in ddk/winddi.h -// -typedef struct _DRIVER_FUNCTIONS -{
- PGD_ENABLEPDEV EnablePDEV;
- PGD_COMPLETEPDEV CompletePDEV;
- PGD_DISABLEPDEV DisablePDEV;
- PGD_ENABLESURFACE EnableSurface;
- PGD_DISABLESURFACE DisableSurface;
- PGD_ASSERTMODE AssertMode;
- PGD_OFFSET Offset;
- PGD_RESETPDEV ResetPDEV;
- PGD_DISABLEDRIVER DisableDriver;
- PVOID Unknown1;
- 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;
- PVOID Unknown2;
- 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;
- PVOID Unknown3;
- PGD_GETGLYPHMODE GetGlyphMode;
- PGD_SYNCHRONIZE Synchronize;
- PVOID Unknown4;
- 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;
- PFN_DrvMovePanning MovePanning;
- PGD_QUERYADVANCEWIDTHS QueryAdvanceWidths;
- PGD_SETPIXELFORMAT SetPixelFormat;
- PGD_DESCRIBEPIXELFORMAT DescribePixelFormat;
- PGD_SWAPBUFFERS SwapBuffers;
- PGD_STARTBANDING StartBanding;
- PGD_NEXTBAND NextBand;
- PGD_GETDIRECTDRAWINFO GetDirectDrawInfo;
- PGD_ENABLEDIRECTDRAW EnableDirectDraw;
- PGD_DISABLEDIRECTDRAW DisableDirectDraw;
- PGD_QUERYSPOOLTYPE QuerySpoolType;
- PVOID Unknown5;
- PFN_DrvIcmCreateColorTransform IcmCreateColorTransform;
- PFN_DrvIcmDeleteColorTransform IcmDeleteColorTransform;
- PFN_DrvIcmCheckBitmapBits IcmCheckBitmapBits;
- PFN_DrvIcmSetDeviceGammaRamp IcmSetDeviceGammaRamp;
- PGD_GRADIENTFILL GradientFill;
- PGD_STRETCHBLTROP StretchBltROP;
- PFN_DrvPlgBlt PlgBlt;
- PGD_ALPHABLEND AlphaBlend;
- PVOID SynthesizeFont;
- PVOID GetSynthesizedFontFiles;
- PGD_TRANSPARENTBLT TransparentBlt;
- PFN_DrvQueryPerBandInfo QueryPerBandInfo;
- PFN_DrvQueryDeviceSupport QueryDeviceSupport;
- PVOID Reserved1;
- PVOID Reserved2;
- PVOID Reserved3;
- PVOID Reserved4;
- PVOID Reserved5;
- PVOID Reserved6;
- PVOID Reserved7;
- PVOID Reserved8;
- PFN_DrvDeriveSurface DeriveSurface;
- PFN_DrvQueryGlyphAttrs QueryGlyphAttrs;
- PFN_DrvNotify Notify;
- PGD_SYNCHRONIZESURFACE SynchronizeSurface;
- PFN_DrvResetDevice ResetDevice;
- PVOID Reserved9;
- PVOID Reserved10;
- PVOID Reserved11; /* 92 */
- /* ReactOS specify */
- PGD_ENABLEDRIVER EnableDriver; //ReactOS Extra
-} DRIVER_FUNCTIONS, *PDRIVER_FUNCTIONS;
-/* FIXME move to more proper place, Vista syscall */ -DWORD -STDCALL -NtGdiConfigureOPMProtectedOutput(DWORD x1, DWORD x2, DWORD x3, DWORD x4);
-#endif +/*
- COPYRIGHT: See COPYING in the top level directory
- PROJECT: ReactOS Win32 Graphical Subsystem (WIN32K)
- FILE: include/win32k/ntgdityp.h
- PURPOSE: Win32 Shared GDI Types for NtGdi*
- PROGRAMMER: Alex Ionescu (alex@relsoft.net)
- */
+/* INCLUDES ******************************************************************/
+#ifndef _NTGDITYP_ +#define _NTGDITYP_
+/* ENUMERATIONS **************************************************************/
+typedef enum _ARCTYPE +{
- GdiTypeArc,
- GdiTypeArcTo,
- GdiTypeChord,
- GdiTypePie,
+} ARCTYPE, *PARCTYPE;
+typedef enum _PALFUNCTYPE +{
- GdiPalAnimate,
- GdiPalSetEntries,
- GdiPalGetEntries,
- GdiPalGetSystemEntries,
- GdiPalSetColorTable,
- GdiPalGetColorTable,
+} PALFUNCTYPE, *PPALFUNCTYPE;
+typedef enum _POLYFUNCTYPE +{
- GdiPolyPolygon = 1,
- GdiPolyPolyLine,
- GdiPolyBezier,
- GdiPolyLineTo,
- GdiPolyBezierTo,
- GdiPolyPolyRgn,
+} POLYFUNCTYPE, *PPOLYFUNCTYPE;
+typedef enum _GETDCDWORD +{
- GdiGetJournal,
- GdiGetRelAbs,
- GdiGetBreakExtra,
- GdiGerCharBreak,
- GdiGetArcDirection,
- GdiGetEMFRestorDc,
- GdiGetFontLanguageInfo,
- GdiGetIsMemDc,
- GdiGetMapMode,
- GdiGetTextCharExtra,
+} GETDCDWORD, *PGETDCDWORD;
+typedef enum _GETSETDCDWORD +{
- GdiGetSetCopyCount = 2,
- GdiGetSetTextAlign,
- GdiGetSetRelAbs,
- GdiGetSetTextCharExtra,
- GdiGetSetSelectFont,
- GdiGetSetMapperFlagsInternal,
- GdiGetSetMapMode,
- GdiGetSetArcDirection,
+} GETSETDCDWORD, *PGETSETDCDWORD;
+typedef enum _GETDCPOINT +{
- GdiGetViewPortExt = 1,
- GdiGetWindowExt,
- GdiGetViewPortOrg,
- GdiGetWindowOrg,
- GdiGetAspectRatioFilter,
- GdiGetDCOrg = 6,
+} GETDCPOINT, *PGETDCPOINT;
+typedef enum _GDIBATCHCMD +{
- GdiBCPatBlt,
- GdiBCPolyPatBlt,
- GdiBCTextOut,
- GdiBCExtTextOut,
- GdiBCSetBrushOrg,
- GdiBCExtSelClipRgn,
- GdiBCSelObj,
- GdiBCDelObj,
- GdiBCDelRgn,
+} GDIBATCHCMD, *PGDIBATCHCMD;
+typedef enum _TRANSFORMTYPE +{
- GdiDpToLp,
- GdiLpToDp,
+} TRANSFORMTYPE, *PTRANSFORMTYPE;
+typedef enum GDIObjType +{
- GDIObjType_DEF_TYPE = 0x00,
- GDIObjType_DC_TYPE = 0x01,
- GDIObjType_UNUSED1_TYPE = 0x02,
- GDIObjType_UNUSED2_TYPE = 0x03,
- GDIObjType_RGN_TYPE = 0x04,
- GDIObjType_SURF_TYPE = 0x05,
- GDIObjType_CLIENTOBJ_TYPE = 0x06,
- GDIObjType_PATH_TYPE = 0x07,
- GDIObjType_PAL_TYPE = 0x08,
- GDIObjType_ICMLCS_TYPE = 0x09,
- GDIObjType_LFONT_TYPE = 0x0a,
- GDIObjType_RFONT_TYPE = 0x0b,
- GDIObjType_PFE_TYPE = 0x0c,
- GDIObjType_PFT_TYPE = 0x0d,
- GDIObjType_ICMCXF_TYPE = 0x0e,
- GDIObjType_SPRITE_TYPE = 0x0f,
- GDIObjType_BRUSH_TYPE = 0x10,
- GDIObjType_UMPD_TYPE = 0x11,
- GDIObjType_UNUSED4_TYPE = 0x12,
- GDIObjType_SPACE_TYPE = 0x13,
- GDIObjType_UNUSED5_TYPE = 0x14,
- GDIObjType_META_TYPE = 0x15,
- GDIObjType_EFSTATE_TYPE = 0x16,
- GDIObjType_BMFD_TYPE = 0x17,
- GDIObjType_VTFD_TYPE = 0x18,
- GDIObjType_TTFD_TYPE = 0x19,
- GDIObjType_RC_TYPE = 0x1a,
- GDIObjType_TEMP_TYPE = 0x1b,
- GDIObjType_DRVOBJ_TYPE = 0x1c,
- GDIObjType_DCIOBJ_TYPE = 0x1d,
- GDIObjType_SPOOL_TYPE = 0x1e,
- GDIObjType_MAX_TYPE = 0x1e,
- GDIObjTypeTotal = 0x1f,
+} GDIOBJTYPE, *PGDIOBJTYPE;
+typedef enum GDILoObjType +{
- GDILoObjType_LO_BRUSH_TYPE = 0x100000,
- GDILoObjType_LO_DC_TYPE = 0x10000,
- GDILoObjType_LO_BITMAP_TYPE = 0x50000,
- GDILoObjType_LO_PALETTE_TYPE = 0x80000,
- GDILoObjType_LO_FONT_TYPE = 0xa0000,
- GDILoObjType_LO_REGION_TYPE = 0x40000,
- GDILoObjType_LO_ICMLCS_TYPE = 0x90000,
- GDILoObjType_LO_CLIENTOBJ_TYPE = 0x60000,
- GDILoObjType_LO_ALTDC_TYPE = 0x210000,
- GDILoObjType_LO_PEN_TYPE = 0x300000,
- GDILoObjType_LO_EXTPEN_TYPE = 0x500000,
- GDILoObjType_LO_DIBSECTION_TYPE = 0x250000,
- GDILoObjType_LO_METAFILE16_TYPE = 0x260000,
- GDILoObjType_LO_METAFILE_TYPE = 0x460000,
- GDILoObjType_LO_METADC16_TYPE = 0x660000
+} GDILOOBJTYPE, *PGDILOOBJTYPE;
+#define GdiWorldSpaceToPageSpace 0x203
+/* FIXME: Unknown */ +typedef DWORD FULLSCREENCONTROL; +typedef DWORD LFTYPE;
+/* Public LAST_STOCK = 19, plus 2 more internal entries */ +#define NB_STOCK_OBJECTS 22
+/* extra stock object: default 1x1 bitmap for memory DCs */ +#define DEFAULT_BITMAP (21)
+/* DEFINES *******************************************************************/
+#define GDIBATCHBUFSIZE 0x136*4 +#define GDI_BATCH_LIMIT 20
+// NtGdiGetCharWidthW Flags +#define GCW_WIN32 0x0001 +#define GCW_NOFLOAT 0x0002 +#define GCW_INDICES 0x0008
+// NtGdiGetCharABCWidthW Flags +#define GCABCW_NOFLOAT 0x0001 +#define GCABCW_INDICES 0x0002
+/* CAPS1 support */ +//#define C1_TRANSPARENT 0x0001 +#define TC_TT_ABLE 0x0002 +#define C1_TT_CR_ANY 0x0004 +#define C1_EMF_COMPLIANT 0x0008 +#define C1_DIBENGINE 0x0010 +#define C1_GAMMA_RAMP 0x0040 +#define C1_REINIT_ABLE 0x0080 +#define C1_GLYPH_INDEX 0x0100 +#define C1_BIT_PACKED 0x0200 +#define C1_BYTE_PACKED 0x0400 +#define C1_COLORCURSOR 0x0800 +#define C1_CMYK_ABLE 0x1000 +#define C1_SLOW_CARD 0x2000
+/* TYPES *********************************************************************/
+typedef PVOID KERNEL_PVOID; +typedef D3DNTHAL_CONTEXTCREATEDATA D3DNTHAL_CONTEXTCREATEI; +typedef LONG FIX;
+typedef struct _CHWIDTHINFO +{
- LONG lMaxNegA;
- LONG lMaxNegC;
- LONG lMinWidthD;
+} CHWIDTHINFO, *PCHWIDTHINFO;
+typedef struct _UNIVERSAL_FONT_ID +{
- DWORD dwUfid[2];
+} UNIVERSAL_FONT_ID, *PUNIVERSAL_FONT_ID;
+typedef struct _REALIZATION_INFO // Based on LOCALESIGNATURE +{
- DWORD dwCsbDefault[2];
- DWORD dwCsbSupported0;
+} REALIZATION_INFO, *PREALIZATION_INFO;
+typedef struct _WIDTHDATA +{
- USHORT sOverhang;
- USHORT sHeight;
- USHORT sCharInc;
- USHORT sBreak;
- BYTE jFirst;
- BYTE jLast;
- BYTE jBreak;
- BYTE jDefault;
- USHORT sDBCSInc;
- USHORT sDefaultInc;
+} WIDTHDATA, *PWIDTHDATA;
+typedef struct _DEVCAPS // Very similar to GDIINFO +{
- ULONG ulVersion;
- ULONG ulTechnology;
- ULONG ulHorzSizeM;
- ULONG ulVertSizeM;
- ULONG ulHorzSize;
- ULONG ulVertSize;
- ULONG ulHorzRes;
- ULONG ulVertRes;
- ULONG ulBitsPixel;
- ULONG ulPlanes;
- ULONG ulNumPens;
- ULONG ulNumFonts;
- ULONG ulNumColors;
- ULONG ulRasterCaps;
- ULONG ulAspectX;
- ULONG ulAspectY;
- ULONG ulAspectXY;
- ULONG ulLogPixelsX;
- ULONG ulLogPixelsY;
- ULONG ulSizePalette;
- ULONG ulColorRes;
- ULONG ulPhysicalWidth;
- ULONG ulPhysicalHeight;
- ULONG ulPhysicalOffsetX;
- ULONG ulPhysicalOffsetY;
- ULONG ulTextCaps;
- ULONG ulVRefresh;
- ULONG ulDesktopHorzRes;
- ULONG ulDesktopVertRes;
- ULONG ulBltAlignment;
- ULONG ulReserved[4];
- ULONG ulShadeBlend;
- ULONG ulColorMgmtCaps;
+} DEVCAPS, *PDEVCAPS;
+/* Gdi Handle Cache Types and Structures */ +#define GDI_CACHED_HADNLE_TYPES 4 +#define CACHE_BRUSH_ENTRIES 10 +#define CACHE_PEN_ENTRIES 8 +#define CACHE_REGION_ENTRIES 8 +#define CACHE_LFONT_ENTRIES 1
+typedef enum _HANDLECACHETYPE +{
- hctBrushHandle,
- hctPenHandle,
- hctRegionHandle,
- hctLFontHandle
+} HANDLECACHETYPE,*PHANDLECACHETYPE;
+typedef struct _GDIHANDLECACHE +{
- ULONG ulLock;
- ULONG ulNumHandles[GDI_CACHED_HADNLE_TYPES];
- HANDLE Handle[CACHE_BRUSH_ENTRIES+CACHE_PEN_ENTRIES+CACHE_REGION_ENTRIES+CACHE_LFONT_ENTRIES];
+} GDIHANDLECACHE, *PGDIHANDLECACHE;
+/* Font Structures */ +typedef struct _TMDIFF +{
- ULONG cjotma;
- CHAR chFirst;
- CHAR chLast;
- CHAR ChDefault;
- CHAR ChBreak;
+} TMDIFF, *PTMDIFF;
+typedef struct _TMW_INTERNAL +{
- TEXTMETRICW TextMetric;
- TMDIFF Diff;
+} TMW_INTERNAL, *PTMW_INTERNAL;
+typedef struct _NTMW_INTERNAL +{
- TMDIFF tmd;
- NEWTEXTMETRICEXW ntmw;
+} NTMW_INTERNAL, *PNTMW_INTERNAL;
+typedef struct _ENUMFONTDATAW +{
- ULONG cbSize;
- ULONG ulNtmwiOffset;
- DWORD dwFontType;
- ENUMLOGFONTEXDVW elfexdv; /* variable size! */
- /* NTMW_INTERNAL ntmwi; use ulNtwmOffset */
+} ENUMFONTDATAW, *PENUMFONTDATAW;
+/* Number Representation */ +typedef struct _EFLOAT_S +{
- LONG lMant;
- LONG lExp;
+} EFLOAT_S;
+/* XFORM Structures */ +typedef struct _MATRIX_S +{
- EFLOAT_S efM11;
- EFLOAT_S efM12;
- EFLOAT_S efM21;
- EFLOAT_S efM22;
- EFLOAT_S efDx;
- EFLOAT_S efDy;
- FIX fxDx;
- FIX fxDy;
- FLONG flAccel;
+} MATRIX_S;
+/* Gdi XForm storage union */ +typedef union +{
- FLOAT f;
- ULONG l;
+} gxf_long;
+typedef struct _CFONT +{
- struct _CFONT *pcfNext;
- HFONT hf;
- ULONG cRef; // Count of all pointers to this CFONT.
- FLONG fl;
- LONG lHeight; // Precomputed logical height.
- HDC hdc; // HDC of realization. 0 for display.
- EFLOAT_S efM11; // efM11 of WtoD of DC of realization
- EFLOAT_S efM22; // efM22 of WtoD of DC of realization
- EFLOAT_S efDtoWBaseline; // Precomputed back transform. (FXtoL)
- EFLOAT_S efDtoWAscent; // Precomputed back transform. (FXtoL)
- WIDTHDATA wd;
- FLONG flInfo;
- USHORT sWidth[256]; // Widths in pels.
- ULONG ulAveWidth; // bogus average used by USER
- TMW_INTERNAL tmw; // cached metrics
- LOCALESIGNATURE lsLocSig; // font signature information
+} CFONT, *PCFONT;
+// +// GDI Batch structures. +// +typedef struct _GDIBATCHHDR +{
- SHORT Size;
- SHORT Cmd;
+} GDIBATCHHDR, *PGDIBATCHHDR;
+typedef struct _GDIBSPATBLT +{
- GDIBATCHHDR gbHdr;
- int nXLeft;
- int nYLeft;
- int nWidth;
- int nHeight;
- HANDLE hbrush;
- DWORD dwRop;
- COLORREF crForegroundClr;
- COLORREF crBackgroundClr;
- COLORREF crBrushClr;
- INT IcmBrushColor;
- POINTL ptlViewportOrg;
- ULONG ulForegroundClr;
- ULONG ulBackgroundClr;
- ULONG ulBrushClr;
+} GDIBSPATBLT, *PGDIBSPATBLT;
+#ifndef _NTUSRTYP_ +typedef struct _PATRECT +{
- RECT r;
- HBRUSH hBrush;
+} PATRECT, * PPATRECT;
+typedef struct _W32CLIENTINFO +{
- ULONG CI_flags;
- ULONG cSpins;
- ULONG ulWindowsVersion;
- ULONG ulAppCompatFlags;
- ULONG ulAppCompatFlags2;
- ULONG W32ClientInfo[57];
+} W32CLIENTINFO, *PW32CLIENTINFO; +#endif
+typedef struct _GDIBSPPATBLT +{
- GDIBATCHHDR gbHdr;
- DWORD rop4;
- DWORD Mode;
- DWORD Count;
- COLORREF crForegroundClr;
- COLORREF crBackgroundClr;
- COLORREF crBrushClr;
- ULONG ulForegroundClr;
- ULONG ulBackgroundClr;
- ULONG ulBrushClr;
- POINTL ptlViewportOrg;
- PATRECT pRect[1]; // POLYPATBLT
+} GDIBSPPATBLT, *PGDIBSPPATBLT;
+typedef struct _GDIBSTEXTOUT +{
- GDIBATCHHDR gbHdr;
- COLORREF crForegroundClr;
- COLORREF crBackgroundClr;
- LONG lmBkMode;
- ULONG ulForegroundClr;
- ULONG ulBackgroundClr;
- int x;
- int y;
- UINT Options;
- RECT Rect;
- DWORD iCS_CP;
- UINT cbCount;
- UINT Size;
- HANDLE hlfntNew;
- FLONG flTextAlign;
- POINTL ptlViewportOrg;
- WCHAR String[2];
+} GDIBSTEXTOUT, *PGDIBSTEXTOUT;
+typedef struct _GDIBSEXTTEXTOUT +{
- GDIBATCHHDR gbHdr;
- UINT Count;
- UINT Options;
- RECT Rect;
- POINTL ptlViewportOrg;
- ULONG ulBackgroundClr;
+} GDIBSEXTTEXTOUT, *PGDIBSEXTTEXTOUT;
+typedef struct _GDIBSSETBRHORG +{
- GDIBATCHHDR gbHdr;
- POINTL ptlBrushOrigin;
+} GDIBSSETBRHORG, *PGDIBSSETBRHORG;
+typedef struct _GDIBSEXTSELCLPRGN +{
- GDIBATCHHDR gbHdr;
- int fnMode;
- LONG right;
- LONG bottom;
- LONG left;
- LONG top;
+} GDIBSEXTSELCLPRGN, *PGDIBSEXTSELCLPRGN; +// +// Use with GdiBCSelObj, GdiBCDelObj and GdiBCDelRgn. +typedef struct _GDIBSOBJECT +{
- GDIBATCHHDR gbHdr;
- HGDIOBJ hgdiobj;
+} GDIBSOBJECT, *PGDIBSOBJECT;
+// +// Driver Functions +// +typedef BOOL (NTAPI *PGD_ENABLEDRIVER)(ULONG, ULONG, PDRVENABLEDATA); +typedef DHPDEV (NTAPI *PGD_ENABLEPDEV)(DEVMODEW *, LPWSTR, ULONG, HSURF *, ULONG, ULONG *, ULONG, DEVINFO *, LPWSTR, LPWSTR, HANDLE); +typedef VOID (NTAPI *PGD_COMPLETEPDEV)(DHPDEV, HDEV); +typedef VOID (NTAPI *PGD_DISABLEPDEV)(DHPDEV); +typedef HSURF (NTAPI *PGD_ENABLESURFACE)(DHPDEV); +typedef VOID (NTAPI *PGD_DISABLESURFACE)(DHPDEV); +typedef BOOL (NTAPI *PGD_ASSERTMODE)(DHPDEV, BOOL); +typedef BOOL (NTAPI *PGD_OFFSET)(SURFOBJ*, LONG, LONG, FLONG); +typedef BOOL (NTAPI *PGD_RESETPDEV)(DHPDEV, DHPDEV); +typedef VOID (NTAPI *PGD_DISABLEDRIVER)(VOID); +typedef HBITMAP (NTAPI *PGD_CREATEDEVICEBITMAP)(DHPDEV, SIZEL, ULONG); +typedef VOID (NTAPI *PGD_DELETEDEVICEBITMAP)(DHSURF); +typedef BOOL (NTAPI *PGD_ALPHABLEND)(SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, RECTL*, RECTL*, BLENDOBJ*); +typedef BOOL (NTAPI *PGD_REALIZEBRUSH)(BRUSHOBJ*, SURFOBJ*, SURFOBJ*, SURFOBJ*, XLATEOBJ*, ULONG); +typedef ULONG (NTAPI *PGD_DITHERCOLOR)(DHPDEV, ULONG, ULONG, PULONG); +typedef BOOL (NTAPI *PGD_STROKEPATH)(SURFOBJ*, PATHOBJ*, CLIPOBJ*, XFORMOBJ*, BRUSHOBJ*, POINTL*, PLINEATTRS, MIX); +typedef BOOL (NTAPI *PGD_FILLPATH)(SURFOBJ*, PATHOBJ*, CLIPOBJ*, BRUSHOBJ*, POINTL*, MIX, ULONG); +typedef BOOL (NTAPI *PGD_STROKEANDFILLPATH)(SURFOBJ*, PATHOBJ*, CLIPOBJ*, XFORMOBJ*, BRUSHOBJ*, PLINEATTRS, BRUSHOBJ*, POINTL*, MIX, ULONG); +typedef BOOL (NTAPI *PGD_PAINT)(SURFOBJ*, CLIPOBJ*, BRUSHOBJ*, POINTL*, MIX); +typedef BOOL (NTAPI *PGD_BITBLT)(SURFOBJ*, SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, RECTL*, POINTL*, POINTL*, BRUSHOBJ*, POINTL*, ROP4); +typedef BOOL (NTAPI *PGD_TRANSPARENTBLT)(SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, RECTL*, RECTL*, ULONG, ULONG); +typedef BOOL (NTAPI *PGD_COPYBITS)(SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, RECTL*, POINTL*); +typedef BOOL (NTAPI *PGD_STRETCHBLT)(SURFOBJ*, SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, COLORADJUSTMENT*, POINTL*, RECTL*, RECTL*, POINTL*, ULONG); +typedef BOOL (NTAPI *PGD_STRETCHBLTROP)(SURFOBJ*, SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, COLORADJUSTMENT*, POINTL*, RECTL*, RECTL*, POINTL*, ULONG, BRUSHOBJ*, DWORD); +typedef BOOL (NTAPI *PGD_SETPALETTE)(DHPDEV, PALOBJ*, ULONG, ULONG, ULONG); +typedef BOOL (NTAPI *PGD_TEXTOUT)(SURFOBJ*, STROBJ*, FONTOBJ*, CLIPOBJ*, RECTL*, RECTL*, BRUSHOBJ*, BRUSHOBJ*, POINTL*, MIX); +typedef ULONG (NTAPI *PGD_ESCAPE)(SURFOBJ*, ULONG, ULONG, PVOID *, ULONG, PVOID *); +typedef ULONG (NTAPI *PGD_DRAWESCAPE)(SURFOBJ*, ULONG, CLIPOBJ*, RECTL*, ULONG, PVOID *); +typedef PIFIMETRICS (NTAPI *PGD_QUERYFONT)(DHPDEV, ULONG, ULONG, PULONG); +typedef PVOID (NTAPI *PGD_QUERYFONTTREE)(DHPDEV, ULONG, ULONG, ULONG, PULONG); +typedef LONG (NTAPI *PGD_QUERYFONTDATA)(DHPDEV, FONTOBJ*, ULONG, HGLYPH, GLYPHDATA*, PVOID, ULONG); +typedef ULONG (NTAPI *PGD_SETPOINTERSHAPE)(SURFOBJ*, SURFOBJ*, SURFOBJ*, XLATEOBJ*, LONG, LONG, LONG, LONG, RECTL*, ULONG); +typedef VOID (NTAPI *PGD_MOVEPOINTER)(SURFOBJ*, LONG, LONG, RECTL*); +typedef BOOL (NTAPI *PGD_LINETO)(SURFOBJ*, CLIPOBJ*, BRUSHOBJ*, LONG, LONG, LONG, LONG, RECTL*, MIX); +typedef BOOL (NTAPI *PGD_SENDPAGE)(SURFOBJ*); +typedef BOOL (NTAPI *PGD_STARTPAGE)(SURFOBJ*); +typedef BOOL (NTAPI *PGD_ENDDOC)(SURFOBJ*, ULONG); +typedef BOOL (NTAPI *PGD_STARTDOC)(SURFOBJ*, PWSTR, DWORD); +typedef ULONG (NTAPI *PGD_GETGLYPHMODE)(DHPDEV, FONTOBJ*); +typedef VOID (NTAPI *PGD_SYNCHRONIZE)(DHPDEV, RECTL*); +typedef ULONG (NTAPI *PGD_SAVESCREENBITS)(SURFOBJ*, ULONG, ULONG, RECTL*); +typedef ULONG (NTAPI *PGD_GETMODES)(HANDLE, ULONG, PDEVMODEW); +typedef VOID (NTAPI *PGD_FREE)(PVOID, ULONG); +typedef VOID (NTAPI *PGD_DESTROYFONT)(FONTOBJ*); +typedef LONG (NTAPI *PGD_QUERYFONTCAPS)(ULONG, PULONG); +typedef ULONG (NTAPI *PGD_LOADFONTFILE)(ULONG, PVOID, ULONG, ULONG); +typedef BOOL (NTAPI *PGD_UNLOADFONTFILE)(ULONG); +typedef ULONG (NTAPI *PGD_FONTMANAGEMENT)(SURFOBJ*, FONTOBJ*, ULONG, ULONG, PVOID, ULONG, PVOID); +typedef LONG (NTAPI *PGD_QUERYTRUETYPETABLE)(ULONG, ULONG, ULONG, PTRDIFF, ULONG, PBYTE); +typedef LONG (NTAPI *PGD_QUERYTRUETYPEOUTLINE)(DHPDEV, FONTOBJ*, HGLYPH, BOOL, GLYPHDATA*, ULONG, TTPOLYGONHEADER*); +typedef PVOID (NTAPI *PGD_GETTRUETYPEFILE)(ULONG, PULONG); +typedef LONG (NTAPI *PGD_QUERYFONTFILE)(ULONG, ULONG, ULONG, PULONG); +typedef BOOL (NTAPI *PGD_QUERYADVANCEWIDTHS)(DHPDEV, FONTOBJ*, ULONG, HGLYPH *, PVOID *, ULONG); +typedef BOOL (NTAPI *PGD_SETPIXELFORMAT)(SURFOBJ*, LONG, ULONG); +typedef LONG (NTAPI *PGD_DESCRIBEPIXELFORMAT)(DHPDEV, LONG, ULONG, PPIXELFORMATDESCRIPTOR); +typedef BOOL (NTAPI *PGD_SWAPBUFFERS)(SURFOBJ*, PWNDOBJ); +typedef BOOL (NTAPI *PGD_STARTBANDING)(SURFOBJ*, POINTL*); +typedef BOOL (NTAPI *PGD_NEXTBAND)(SURFOBJ*, POINTL*); +typedef BOOL (NTAPI *PGD_GETDIRECTDRAWINFO)(DHPDEV, PDD_HALINFO, PDWORD, VIDEOMEMORY*, PDWORD, PDWORD); +typedef BOOL (NTAPI *PGD_ENABLEDIRECTDRAW)(DHPDEV, PDD_CALLBACKS, PDD_SURFACECALLBACKS, PDD_PALETTECALLBACKS); +typedef VOID (NTAPI *PGD_DISABLEDIRECTDRAW)(DHPDEV); +typedef LONG (NTAPI *PGD_QUERYSPOOLTYPE)(DHPDEV, LPWSTR); +typedef BOOL (NTAPI *PGD_GRADIENTFILL)(SURFOBJ*, CLIPOBJ*, XLATEOBJ*, TRIVERTEX*, ULONG, PVOID, ULONG, RECTL*, POINTL*, ULONG); +typedef VOID (NTAPI *PGD_SYNCHRONIZESURFACE)(SURFOBJ*, RECTL *, FLONG);
+// +// Most of these are definded in ddk/winddi.h +// +typedef struct _DRIVER_FUNCTIONS +{
- PGD_ENABLEPDEV EnablePDEV;
- PGD_COMPLETEPDEV CompletePDEV;
- PGD_DISABLEPDEV DisablePDEV;
- PGD_ENABLESURFACE EnableSurface;
- PGD_DISABLESURFACE DisableSurface;
- PGD_ASSERTMODE AssertMode;
- PGD_OFFSET Offset;
- PGD_RESETPDEV ResetPDEV;
- PGD_DISABLEDRIVER DisableDriver;
- PVOID Unknown1;
- 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;
- PVOID Unknown2;
- 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;
- PVOID Unknown3;
- PGD_GETGLYPHMODE GetGlyphMode;
- PGD_SYNCHRONIZE Synchronize;
- PVOID Unknown4;
- 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;
- PFN_DrvMovePanning MovePanning;
- PGD_QUERYADVANCEWIDTHS QueryAdvanceWidths;
- PGD_SETPIXELFORMAT SetPixelFormat;
- PGD_DESCRIBEPIXELFORMAT DescribePixelFormat;
- PGD_SWAPBUFFERS SwapBuffers;
- PGD_STARTBANDING StartBanding;
- PGD_NEXTBAND NextBand;
- PGD_GETDIRECTDRAWINFO GetDirectDrawInfo;
- PGD_ENABLEDIRECTDRAW EnableDirectDraw;
- PGD_DISABLEDIRECTDRAW DisableDirectDraw;
- PGD_QUERYSPOOLTYPE QuerySpoolType;
- PVOID Unknown5;
- PFN_DrvIcmCreateColorTransform IcmCreateColorTransform;
- PFN_DrvIcmDeleteColorTransform IcmDeleteColorTransform;
- PFN_DrvIcmCheckBitmapBits IcmCheckBitmapBits;
- PFN_DrvIcmSetDeviceGammaRamp IcmSetDeviceGammaRamp;
- PGD_GRADIENTFILL GradientFill;
- PGD_STRETCHBLTROP StretchBltROP;
- PFN_DrvPlgBlt PlgBlt;
- PGD_ALPHABLEND AlphaBlend;
- PVOID SynthesizeFont;
- PVOID GetSynthesizedFontFiles;
- PGD_TRANSPARENTBLT TransparentBlt;
- PFN_DrvQueryPerBandInfo QueryPerBandInfo;
- PFN_DrvQueryDeviceSupport QueryDeviceSupport;
- PVOID Reserved1;
- PVOID Reserved2;
- PVOID Reserved3;
- PVOID Reserved4;
- PVOID Reserved5;
- PVOID Reserved6;
- PVOID Reserved7;
- PVOID Reserved8;
- PFN_DrvDeriveSurface DeriveSurface;
- PFN_DrvQueryGlyphAttrs QueryGlyphAttrs;
- PFN_DrvNotify Notify;
- PGD_SYNCHRONIZESURFACE SynchronizeSurface;
- PFN_DrvResetDevice ResetDevice;
- PVOID Reserved9;
- PVOID Reserved10;
- PVOID Reserved11; /* 92 */
- /* ReactOS specify */
- PGD_ENABLEDRIVER EnableDriver; //ReactOS Extra
+} DRIVER_FUNCTIONS, *PDRIVER_FUNCTIONS;
+/* FIXME move to more proper place, Vista syscall */ +DWORD STDCALL NtGdiConfigureOPMProtectedOutput(DWORD x1, DWORD x2, DWORD x3, DWORD x4); +DWORD STDCALL NtGdiCreateOPMProtectedOutputs(DWORD x1, DWORD x2, DWORD x3, DWORD x4, DWORD x5);
+/* Doc exists in msdn see ReactOS def file which D3DKMT* it is, rember I have not check if the doc are correct,
- it is for the drv, which api it should export.
- comucate way
- gdi32.dll -- Direcly syscall --> win33k.sys
- win33k.sys -- doing direct call to -->dxkrnl.sys (note dxkrnl doing allot work here)
- dxkrnl.sys (note dxkrnl doing allot work here) -- the drv export function --> graphic drv,
- this api should move to more proper place later.
- */
+DWORD STDCALL NtGdiDdDDICheckExclusiveOwnership(); +DWORD STDCALL NtGdiDdDDICheckMonitorPowerState(DWORD x1); +DWORD STDCALL NtGdiDdDDICheckOcclusion(DWORD x1); +DWORD STDCALL NtGdiDdDDICloseAdapter(DWORD x1); +DWORD STDCALL NtGdiDdDDICreateAllocation(DWORD x1); +DWORD STDCALL NtGdiDdDDICreateContext(DWORD x1); +DWORD STDCALL NtGdiDdDDICreateDCFromMemory(DWORD x1); +DWORD STDCALL NtGdiDdDDICreateDevice(DWORD x1); +DWORD STDCALL NtGdiDdDDICreateOverlay(DWORD x1); +DWORD STDCALL NtGdiDdDDICreateSynchronizationObject(DWORD x1); +DWORD STDCALL NtGdiDdDDIDestroyAllocation(DWORD x1); +DWORD STDCALL NtGdiDdDDIDestroyContext(DWORD x1); +DWORD STDCALL NtGdiDdDDIDestroyDCFromMemory(DWORD x1); +DWORD STDCALL NtGdiDdDDIDestroyDevice(DWORD x1); +DWORD STDCALL NtGdiDdDDIDestroyOverlay(DWORD x1); +DWORD STDCALL NtGdiDdDDIDestroySynchronizationObject(DWORD x1); +DWORD STDCALL NtGdiDdDDIEscape(DWORD x1); +DWORD STDCALL NtGdiDdDDIFlipOverlay(DWORD x1); +DWORD STDCALL NtGdiDdDDIGetContextSchedulingPriority(DWORD x1); +DWORD STDCALL NtGdiDdDDIGetDeviceState(DWORD x1); +DWORD STDCALL NtGdiDdDDIGetDisplayModeList(DWORD x1); +DWORD STDCALL NtGdiDdDDIGetMultisampleMethodList(DWORD x1); +DWORD STDCALL NtGdiDdDDIGetPresentHistory(DWORD x1); +DWORD STDCALL NtGdiDdDDIGetProcessSchedulingPriorityClass(DWORD x1, DWORD x2); +DWORD STDCALL NtGdiDdDDIGetRuntimeData(DWORD x1); +DWORD STDCALL NtGdiDdDDIGetScanLine(DWORD x1); +DWORD STDCALL NtGdiDdDDIGetSharedPrimaryHandle(DWORD x1); +DWORD STDCALL NtGdiDdDDIInvalidateActiveVidPn(DWORD x1); +DWORD STDCALL NtGdiDdDDILock(DWORD x1); +DWORD STDCALL NtGdiDdDDIOpenAdapterFromDeviceName(DWORD x1); +DWORD STDCALL NtGdiDdDDIOpenAdapterFromHdc(DWORD x1); +DWORD STDCALL NtGdiDdDDIOpenResource(DWORD x1); +DWORD STDCALL NtGdiDdDDIPollDisplayChildren(DWORD x1); +DWORD STDCALL NtGdiDdDDIPresent(DWORD x1); +DWORD STDCALL NtGdiDdDDIQueryAdapterInfo(DWORD x1); +DWORD STDCALL NtGdiDdDDIQueryAllocationResidency(DWORD x1); +DWORD STDCALL NtGdiDdDDIQueryResourceInfo(DWORD x1); +DWORD STDCALL NtGdiDdDDIQueryStatistics(DWORD x1); +DWORD STDCALL NtGdiDdDDIReleaseProcessVidPnSourceOwners(DWORD x1); +DWORD STDCALL NtGdiDdDDIRender(DWORD x1); +DWORD STDCALL NtGdiDdDDISetAllocationPriority(DWORD x1); +DWORD STDCALL NtGdiDdDDISetContextSchedulingPriority(DWORD x1); +DWORD STDCALL NtGdiDdDDISetDisplayMode(DWORD x1); +DWORD STDCALL NtGdiDdDDISetDisplayPrivateDriverFormat(DWORD x1); +DWORD STDCALL NtGdiDdDDISetGammaRamp(DWORD x1); +DWORD STDCALL NtGdiDdDDISetProcessSchedulingPriorityClass(DWORD x1, x2); +DWORD STDCALL NtGdiDdDDISetQueuedLimit(DWORD x1); +DWORD STDCALL NtGdiDdDDISetVidPnSourceOwner(DWORD x1); +DWORD STDCALL NtGdiDdDDISharedPrimaryLockNotification(DWORD x1); +DWORD STDCALL NtGdiDdDDISharedPrimaryUnLockNotification(DWORD x1); +DWORD STDCALL NtGdiDdDDISignalSynchronizationObject(DWORD x1); +DWORD STDCALL NtGdiDdDDIUnlock(DWORD x1); +DWORD STDCALL NtGdiDdDDIUpdateOverlay(DWORD x1); +DWORD STDCALL NtGdiDdDDIWaitForIdle(DWORD x1); +DWORD STDCALL NtGdiDdDDIWaitForSynchronizationObject(DWORD x1); +DWORD STDCALL NtGdiDdDDIWaitForVerticalBlankEvent(DWORD x1); +DWORD STDCALL NtGdiDDCCIGetCapabilitiesString(DWORD x1, DWORD x2, DWORD x3); +DWORD STDCALL NtGdiDDCCIGetCapabilitiesStringLength(DWORD x1, DWORD x2); +DWORD STDCALL NtGdiDDCCIGetTimingReport(DWORD x1, DWORD x2); +DWORD STDCALL NtGdiDDCCIGetVCPFeature(DWORD x1, DWORD x2, DWORD x3, DWORD x4); +DWORD STDCALL NtGdiDDCCISaveCurrentSettings(DWORD x1); +DWORD STDCALL NtGdiDDCCISetVCPFeature(DWORD x1, DWORD x2, DWORD x3);
+#endif
Added: branches/win32k-gdi-dx/subsystems/win32/win32k/ntddraw/d3dkmt.c URL: http://svn.reactos.org/svn/reactos/branches/win32k-gdi-dx/subsystems/win32/w... ============================================================================== --- branches/win32k-gdi-dx/subsystems/win32/win32k/ntddraw/d3dkmt.c (added) +++ branches/win32k-gdi-dx/subsystems/win32/win32k/ntddraw/d3dkmt.c [iso-8859-1] Sun May 18 13:33:27 2008 @@ -1,0 +1,507 @@ +/*
- COPYRIGHT: See COPYING in the top level directory
- PROJECT: ReactOS kernel
- PURPOSE: Native DirectDraw implementation
- FILE: subsys/win32k/ntddraw/d3d.c
- PROGRAMER: Magnus olsen (magnus@greatlord.com)
- REVISION HISTORY:
18/5-2008 Magnus Olsen- */
+#include <w32k.h> +#include <debug.h>
+DWORD +STDCALL +NtGdiDdDDICheckExclusiveOwnership() +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDICheckMonitorPowerState(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDICheckOcclusion(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDICloseAdapter(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDICreateAllocation(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDICreateContext(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDICreateDCFromMemory(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDICreateDevice(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDICreateOverlay(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDICreateSynchronizationObject(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDIDestroyAllocation(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+NtGdiDdDDIDestroyContext(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDIDestroyDCFromMemory(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDIDestroyDevice(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDIDestroyOverlay(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDIDestroySynchronizationObject(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDIEscape(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDIFlipOverlay(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDIGetContextSchedulingPriority(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDIGetDeviceState(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDIGetDisplayModeList(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDIGetMultisampleMethodList(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDIGetPresentHistory(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDIGetProcessSchedulingPriorityClass +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDIGetRuntimeData(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDIGetScanLine(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDIGetSharedPrimaryHandle(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDIInvalidateActiveVidPn(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDILock(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDIOpenAdapterFromDeviceName(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDIOpenAdapterFromHdc(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDIOpenResource(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDIPollDisplayChildren(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDIPresent(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDIQueryAdapterInfo(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDIQueryAllocationResidency(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDIQueryResourceInfo(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDIQueryStatistics(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDIReleaseProcessVidPnSourceOwners(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDIRender(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDISetAllocationPriority(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDISetContextSchedulingPriority(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDISetDisplayMode(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDISetDisplayPrivateDriverFormat(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDISetGammaRamp(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDISetProcessSchedulingPriorityClass(DWORD x1, x2) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDISetQueuedLimit(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDISetVidPnSourceOwner(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDISharedPrimaryLockNotification(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDISharedPrimaryUnLockNotification(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDISignalSynchronizationObject(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDIUnlock(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDIUpdateOverlay(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDIWaitForIdle(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDIWaitForSynchronizationObject(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDdDDIWaitForVerticalBlankEvent(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDDCCIGetCapabilitiesString(DWORD x1, DWORD x2, DWORD x3) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDDCCIGetCapabilitiesStringLength(DWORD x1, DWORD x2) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDDCCIGetTimingReport(DWORD x1, DWORD x2) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDDCCIGetVCPFeature(DWORD x1, DWORD x2, DWORD x3, DWORD x4) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDDCCISaveCurrentSettings(DWORD x1) +{
UNIMPLEMENTED;return 0+}
+DWORD +STDCALL +NtGdiDDCCISetVCPFeature(DWORD x1, DWORD x2, DWORD x3) +{
UNIMPLEMENTED;return 0+}
Propchange: branches/win32k-gdi-dx/subsystems/win32/win32k/ntddraw/d3dkmt.c
svn:eol-style = native
Modified: branches/win32k-gdi-dx/subsystems/win32/win32k/stubs/stubs.c URL: http://svn.reactos.org/svn/reactos/branches/win32k-gdi-dx/subsystems/win32/w... ============================================================================== --- branches/win32k-gdi-dx/subsystems/win32/win32k/stubs/stubs.c [iso-8859-1] (original) +++ branches/win32k-gdi-dx/subsystems/win32/win32k/stubs/stubs.c [iso-8859-1] Sun May 18 13:33:27 2008 @@ -2974,3 +2974,11 @@ UNIMPLEMENTED; return 0 }
+DWORD +STDCALL +NtGdiCreateOPMProtectedOutputs(DWORD x1, DWORD x2, DWORD x3, DWORD x4, DWORD x5) +{
UNIMPLEMENTED;return 0+}
Modified: branches/win32k-gdi-dx/subsystems/win32/win32k/w32ksvc.db URL: http://svn.reactos.org/svn/reactos/branches/win32k-gdi-dx/subsystems/win32/w... ============================================================================== --- branches/win32k-gdi-dx/subsystems/win32/win32k/w32ksvc.db [iso-8859-1] (original) +++ branches/win32k-gdi-dx/subsystems/win32/win32k/w32ksvc.db [iso-8859-1] Sun May 18 13:33:27 2008 @@ -674,7 +674,70 @@ # # # Vista Syscall add on -NtGdiConfigureOPMProtectedOutput 4 +NtGdiConfigureOPMProtectedOutput 4 +NtGdiCreateOPMProtectedOutputs 5 +NtGdiDdDDICheckExclusiveOwnership 0 +NtGdiDdDDICheckMonitorPowerState 1 +NtGdiDdDDICheckOcclusion 1 +NtGdiDdDDICloseAdapter 1 +NtGdiDdDDICreateAllocation 1 +NtGdiDdDDICreateContext 1 +NtGdiDdDDICreateDCFromMemory 1 +NtGdiDdDDICreateDevice 1 +NtGdiDdDDICreateOverlay 1 +NtGdiDdDDICreateSynchronizationObject 1 +NtGdiDdDDIDestroyAllocation 1 +NtGdiDdDDIDestroyContext 1 +NtGdiDdDDIDestroyDCFromMemory 1 +NtGdiDdDDIDestroyDevice 1 +NtGdiDdDDIDestroyOverlay 1 +NtGdiDdDDIDestroySynchronizationObject 1 +NtGdiDdDDIEscape 1 +NtGdiDdDDIFlipOverlay 1 +NtGdiDdDDIGetContextSchedulingPriority 1 +NtGdiDdDDIGetDeviceState 1 +NtGdiDdDDIGetDisplayModeList 1 +NtGdiDdDDIGetMultisampleMethodList 1 +NtGdiDdDDIGetPresentHistory 1 +NtGdiDdDDIGetProcessSchedulingPriorityClass 2 +NtGdiDdDDIGetRuntimeData 1 +NtGdiDdDDIGetScanLine 1 +NtGdiDdDDIGetSharedPrimaryHandle 1 +NtGdiDdDDIInvalidateActiveVidPn 1 +NtGdiDdDDILock 1 +NtGdiDdDDIOpenAdapterFromDeviceName 1 +NtGdiDdDDIOpenAdapterFromHdc 1 +NtGdiDdDDIOpenResource 1 +NtGdiDdDDIPollDisplayChildren 1 +NtGdiDdDDIPresent 1 +NtGdiDdDDIQueryAdapterInfo 1 +NtGdiDdDDIQueryAllocationResidency 1 +NtGdiDdDDIQueryResourceInfo 1 +NtGdiDdDDIQueryStatistics 1 +NtGdiDdDDIReleaseProcessVidPnSourceOwners 1 +NtGdiDdDDIRender 1 +NtGdiDdDDISetAllocationPriority 1 +NtGdiDdDDISetContextSchedulingPriority 1 +NtGdiDdDDISetDisplayMode 1 +NtGdiDdDDISetDisplayPrivateDriverFormat 1 +NtGdiDdDDISetGammaRamp 1 +NtGdiDdDDISetProcessSchedulingPriorityClass 1 +NtGdiDdDDISetQueuedLimit 1 +NtGdiDdDDISetVidPnSourceOwner 1 +NtGdiDdDDISharedPrimaryLockNotification 1 +NtGdiDdDDISharedPrimaryUnLockNotification 1 +NtGdiDdDDISignalSynchronizationObject 1 +NtGdiDdDDIUnlock 1 +NtGdiDdDDIUpdateOverlay 1 +NtGdiDdDDIWaitForIdle 1 +NtGdiDdDDIWaitForSynchronizationObject 1 +NtGdiDdDDIWaitForVerticalBlankEvent 1 +NtGdiDDCCIGetCapabilitiesString 3 +NtGdiDDCCIGetCapabilitiesStringLength 2 +NtGdiDDCCIGetTimingReport 2 +NtGdiDDCCIGetVCPFeature 4 +NtGdiDDCCISaveCurrentSettings 1 +NtGdiDDCCISetVCPFeature 3 # # #ReactOS specific syscalls
So far this is a branch, and stuff from it is going to be merged (if it is!) only with my permission (aka when it's done as needed, and not as a mess).
Still it would be better to do it the right way from the beginning, but I can not keep explaining that to Magnus all the time.
With the best regards, Aleksey Bragin.
On May 19, 2008, at 6:39 AM, Alex Ionescu wrote:
Why the hell are you putting function headers in a header called "types"?
On Mon, May 19, 2008 at 2:33 AM, greatlrd@svn.reactos.org wrote:
Author: greatlrd Date: Sun May 18 13:33:27 2008 New Revision: 33593