diff --git a/reactos/subsystems/win32/win32k/include/accelerator.h b/reactos/subsystems/win32/win32k/include/accelerator.h index 98070ed476a..453970b0de0 100644 --- a/reactos/subsystems/win32/win32k/include/accelerator.h +++ b/reactos/subsystems/win32/win32k/include/accelerator.h @@ -1,6 +1,7 @@ #ifndef _WIN32K_ACCELERATOR_H #define _WIN32K_ACCELERATOR_H +#include #include #include diff --git a/reactos/subsystems/win32/win32k/include/bitmaps.h b/reactos/subsystems/win32/win32k/include/bitmaps.h index 726bdffdab6..7f9a673c794 100644 --- a/reactos/subsystems/win32/win32k/include/bitmaps.h +++ b/reactos/subsystems/win32/win32k/include/bitmaps.h @@ -2,6 +2,9 @@ #ifndef __WIN32K_BITMAPS_H #define __WIN32K_BITMAPS_H +#include +#include + /* GDI logical bitmap object */ typedef struct _BITMAPOBJ { diff --git a/reactos/subsystems/win32/win32k/include/callback.h b/reactos/subsystems/win32/win32k/include/callback.h index 0215f9c7aba..99ac6ebfd7f 100644 --- a/reactos/subsystems/win32/win32k/include/callback.h +++ b/reactos/subsystems/win32/win32k/include/callback.h @@ -1,6 +1,8 @@ #ifndef _WIN32K_CALLBACK_H #define _WIN32K_CALLBACK_H +#include + LRESULT STDCALL co_IntCallWindowProc(WNDPROC Proc, BOOLEAN IsAnsiProc, diff --git a/reactos/subsystems/win32/win32k/include/caret.h b/reactos/subsystems/win32/win32k/include/caret.h index 53789863920..7c5bdad8493 100644 --- a/reactos/subsystems/win32/win32k/include/caret.h +++ b/reactos/subsystems/win32/win32k/include/caret.h @@ -1,6 +1,9 @@ #ifndef _WIN32K_CARET_H #define _WIN32K_CARET_H +#include +#include + #define IDCARETTIMER (0xffff) BOOL FASTCALL diff --git a/reactos/subsystems/win32/win32k/include/class.h b/reactos/subsystems/win32/win32k/include/class.h index 34b45b5d411..8ce9c51ed44 100644 --- a/reactos/subsystems/win32/win32k/include/class.h +++ b/reactos/subsystems/win32/win32k/include/class.h @@ -1,6 +1,8 @@ #ifndef _WIN32K_CLASS_H #define _WIN32K_CLASS_H +#include + #define IS_ATOM(x) \ (((ULONG_PTR)(x) > 0x0) && ((ULONG_PTR)(x) < 0x10000)) diff --git a/reactos/subsystems/win32/win32k/include/clipboard.h b/reactos/subsystems/win32/win32k/include/clipboard.h index 4446d69b742..c5880c4a0a4 100644 --- a/reactos/subsystems/win32/win32k/include/clipboard.h +++ b/reactos/subsystems/win32/win32k/include/clipboard.h @@ -2,6 +2,7 @@ #define _WIN32K_CLIPBOARD_H #include "window.h" +#include VOID FASTCALL IntIncrementSequenceNumber(VOID); diff --git a/reactos/subsystems/win32/win32k/include/cliprgn.h b/reactos/subsystems/win32/win32k/include/cliprgn.h new file mode 100644 index 00000000000..7c091b5de3d --- /dev/null +++ b/reactos/subsystems/win32/win32k/include/cliprgn.h @@ -0,0 +1,12 @@ +#ifndef __WIN32K_CLIPRGN_H +#define __WIN32K_CLIPRGN_H + +#include +#include + +INT FASTCALL IntGdiGetClipBox(HDC hDC, LPRECT rc); +INT STDCALL IntGdiSelectVisRgn(HDC hdc, HRGN hrgn); +INT STDCALL IntGdiExtSelectClipRgn (PDC dc, HRGN hrgn, int fnMode); + + +#endif /* not __WIN32K_CLIPRGN_H */ diff --git a/reactos/subsystems/win32/win32k/include/coord.h b/reactos/subsystems/win32/win32k/include/coord.h index 0a9ecea9a47..ad96fc33b50 100644 --- a/reactos/subsystems/win32/win32k/include/coord.h +++ b/reactos/subsystems/win32/win32k/include/coord.h @@ -1,6 +1,8 @@ #ifndef __WIN32K_COORD_H #define __WIN32K_COORD_H +#include + VOID FASTCALL IntDPtoLP ( PDC dc, LPPOINT Points, INT Count ); diff --git a/reactos/subsystems/win32/win32k/include/dc.h b/reactos/subsystems/win32/win32k/include/dc.h index 3e600285b3b..37bbcbf32f0 100644 --- a/reactos/subsystems/win32/win32k/include/dc.h +++ b/reactos/subsystems/win32/win32k/include/dc.h @@ -1,7 +1,8 @@ #ifndef __WIN32K_DC_H #define __WIN32K_DC_H -#include "driver.h" +#include +#include /* Constants ******************************************************************/ @@ -32,6 +33,45 @@ /* Type definitions ***********************************************************/ +typedef struct _DCLEVEL +{ + HPALETTE hpal; + struct _PALGDI * ppal; + PVOID pColorSpace; // COLORSPACE* + LONG lIcmMode; + LONG lSaveDepth; + DWORD unk1_00000000; + HGDIOBJ hdcSave; + POINTL ptlBrushOrigin; + PGDIBRUSHOBJ pbrFill; + PGDIBRUSHOBJ pbrLine; + PVOID plfnt; // LFONTOBJ* (TEXTOBJ*) + HGDIOBJ hPath; // HPATH + FLONG flPath; + LINEATTRS laPath; // 0x20 bytes + PVOID prgnClip; // PROSRGNDATA + PVOID prgnMeta; + COLORADJUSTMENT ca; + FLONG flFontState; + UNIVERSAL_FONT_ID ufi; + DWORD unk4_00000000[11]; + FLONG fl; + FLONG flBrush; + MATRIX_S mxWorldToDevice; + MATRIX_S mxDeviceToWorld; + MATRIX_S mxWorldToPage; + EFLOAT_S efM11PtoD; + EFLOAT_S efM22PtoD; + EFLOAT_S efDxPtoD; + EFLOAT_S efDyPtoD; + EFLOAT_S efM11_TWIPS; + EFLOAT_S efM22_TWIPS; + EFLOAT_S efPr11; + EFLOAT_S efPr22; + PBITMAPOBJ pSurface; // SURFACE* + SIZE sizl; +} DCLEVEL, PDCLEVEL; + /* The DC object structure */ typedef struct _DC { @@ -47,16 +87,39 @@ typedef struct _DC FLONG flGraphics; FLONG flGraphics2; PDC_ATTR pDc_Attr; - WIN_DC_INFO w; + DCLEVEL DcLevel; DC_ATTR Dc_Attr; HDC hNext; HDC hPrev; RECTL erclClip; + POINTL ptlSaveFillOrig; RECTL erclWindow; RECTL erclBounds; - HRGN hprgnAPI; - HRGN hprgnVis; + RECTL erclBoundsApp; + PVOID prgnAPI; // PROSRGNDATA + PVOID prgnVis; + PVOID prgnRao; + POINTL ptlFillOrigin; + unsigned eboFill_[23]; // EBRUSHOBJ + unsigned eboLine_[23]; + unsigned eboText_[23]; + unsigned eboBackground_[23]; + HFONT hlfntCur; + FLONG flSimulationFlags; + LONG lEscapement; + PVOID prfnt; // RFONT* + unsigned co_[31]; // CLIPOBJ + PVOID pPFFList; // PPFF* + PVOID ClrxFormObj; + INT ipfdDevMax; + ULONG ulCopyCount; + PVOID pSurfInfo; + POINTL ptlDoBanding; + /* Reactos specific members */ + WIN_DC_INFO w; + HRGN hprgnAPI; // should use prgnAPI + HRGN hprgnVis; // should use prgnVis CLIPOBJ *CombinedClip; XLATEOBJ *XlateBrush; XLATEOBJ *XlatePen; diff --git a/reactos/subsystems/win32/win32k/include/gdiobj.h b/reactos/subsystems/win32/win32k/include/gdiobj.h index e777219fe74..82df8c8c833 100644 --- a/reactos/subsystems/win32/win32k/include/gdiobj.h +++ b/reactos/subsystems/win32/win32k/include/gdiobj.h @@ -8,6 +8,7 @@ /* Public GDI Object/Handle definitions */ #include +#include typedef struct _GDI_HANDLE_TABLE { diff --git a/reactos/subsystems/win32/win32k/include/intgdi.h b/reactos/subsystems/win32/win32k/include/intgdi.h index 9cbe65d23e7..726f2bd1f73 100644 --- a/reactos/subsystems/win32/win32k/include/intgdi.h +++ b/reactos/subsystems/win32/win32k/include/intgdi.h @@ -193,8 +193,6 @@ IntGetSysColor(INT nIndex); INT FASTCALL IntGdiGetDeviceCaps(PDC dc, INT Index); -int STDCALL IntGdiExtSelectClipRgn (PDC dc, HRGN hrgn, int fnMode); - INT FASTCALL IntGdiEscape(PDC dc, diff --git a/reactos/subsystems/win32/win32k/include/palette.h b/reactos/subsystems/win32/win32k/include/palette.h index a0c224194dc..de249fd04ec 100644 --- a/reactos/subsystems/win32/win32k/include/palette.h +++ b/reactos/subsystems/win32/win32k/include/palette.h @@ -1,6 +1,8 @@ #ifndef _WIN32K_PALETTE_H #define _WIN32K_PALETTE_H +#include + #define NO_MAPPING #define PALETTE_FIXED 0x0001 /* read-only colormap - have to use XAllocColor (if not virtual) */ diff --git a/reactos/subsystems/win32/win32k/include/region.h b/reactos/subsystems/win32/win32k/include/region.h index 58668322496..a4293daa0ba 100644 --- a/reactos/subsystems/win32/win32k/include/region.h +++ b/reactos/subsystems/win32/win32k/include/region.h @@ -37,9 +37,6 @@ BOOL INTERNAL_CALL REGION_Cleanup(PVOID ObjectBody); INT STDCALL IntGdiGetRgnBox(HRGN, LPRECT); BOOL FASTCALL IntGdiPaintRgn(PDC, HRGN ); HRGN FASTCALL GdiCreatePolyPolygonRgn(CONST PPOINT, CONST PINT, INT, INT ); -int FASTCALL IntGdiGetClipBox(HDC hDC, LPRECT rc); -INT STDCALL IntGdiSelectVisRgn(HDC hdc, HRGN hrgn); - #define UnsafeIntCreateRectRgnIndirect(prc) \ NtGdiCreateRectRgn((prc)->left, (prc)->top, (prc)->right, (prc)->bottom) diff --git a/reactos/subsystems/win32/win32k/include/win32k.h b/reactos/subsystems/win32/win32k/include/win32k.h index 026b9e6649d..a2f3c7cb32c 100644 --- a/reactos/subsystems/win32/win32k/include/win32k.h +++ b/reactos/subsystems/win32/win32k/include/win32k.h @@ -12,21 +12,36 @@ #define INTERNAL_CALL NTAPI /* Internal Win32k Headers */ -#include -#include +#include + #include +#include +#include +#include +#include #include +#include #include #include -#include #include +#include #include -#include +#include #include -#include #include -#include #include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include #include #include #include @@ -42,26 +57,19 @@ #include #include #include -#include #include #include -#include #include #include #include #include #include -#include #include #include -#include -#include #include #include -#include #include #include -#include #include #include #include