Build GDI32 with NDK and without DDK.
Modified: trunk/reactos/include/win32k/bitmaps.h
Modified: trunk/reactos/include/win32k/coord.h
Modified: trunk/reactos/include/win32k/dc.h
Modified: trunk/reactos/include/win32k/driver.h
Modified: trunk/reactos/include/win32k/gdiobj.h
Modified: trunk/reactos/include/win32k/kapi.h
Modified: trunk/reactos/lib/gdi32/include/precomp.h
Modified: trunk/reactos/lib/gdi32/objects/font.c
Modified: trunk/reactos/subsys/win32k/main/svctabm.c
Modified: trunk/reactos/subsys/win32k/ntddraw/ddraw.c
Modified: trunk/reactos/subsys/win32k/ntddraw/stubs.c
_____
Modified: trunk/reactos/include/win32k/bitmaps.h
--- trunk/reactos/include/win32k/bitmaps.h 2005-06-20 21:16:59 UTC
(rev 16185)
+++ trunk/reactos/include/win32k/bitmaps.h 2005-06-20 21:35:05 UTC
(rev 16186)
@@ -2,9 +2,6 @@
#ifndef __WIN32K_BITMAPS_H
#define __WIN32K_BITMAPS_H
-#include <win32k/dc.h>
-#include <win32k/gdiobj.h>
-
/* GDI logical bitmap object */
typedef struct _BITMAPOBJ
{
@@ -15,8 +12,12 @@
to get width/height of bitmap, use
bitmap.bmWidth/bitmap.bmHeight for
that */
+#ifdef NTOS_MODE_USER
+ PVOID BitsLock;
+#else
PFAST_MUTEX BitsLock; /* You need to hold this lock before you
touch
the actual bits in the bitmap */
+#endif
/* For device-independent bitmaps: */
DIBSECTION *dib;
_____
Modified: trunk/reactos/include/win32k/coord.h
--- trunk/reactos/include/win32k/coord.h 2005-06-20 21:16:59 UTC
(rev 16185)
+++ trunk/reactos/include/win32k/coord.h 2005-06-20 21:35:05 UTC
(rev 16186)
@@ -1,8 +1,6 @@
#ifndef __WIN32K_COORD_H
#define __WIN32K_COORD_H
-#include "dc.h"
-
BOOL
STDCALL
NtGdiCombineTransform (
_____
Modified: trunk/reactos/include/win32k/dc.h
--- trunk/reactos/include/win32k/dc.h 2005-06-20 21:16:59 UTC (rev
16185)
+++ trunk/reactos/include/win32k/dc.h 2005-06-20 21:35:05 UTC (rev
16186)
@@ -2,11 +2,6 @@
#ifndef __WIN32K_DC_H
#define __WIN32K_DC_H
-#include <windows.h>
-#include <win32k/driver.h>
-#include <win32k/gdiobj.h>
-#include <win32k/path.h>
-
typedef struct _WIN_DC_INFO
{
int flags;
@@ -135,7 +130,11 @@
GDIINFO GDIInfo;
DEVINFO DevInfo;
DRIVER_FUNCTIONS DriverFunctions;
+#ifdef NTOS_MODE_USER
+ PVOID VideoFileObject;
+#else
PFILE_OBJECT VideoFileObject;
+#endif
BOOLEAN PreparedDriver;
ULONG DisplayNumber;
@@ -149,6 +148,8 @@
/* Internal functions */
+#ifndef NTOS_MODE_USER
+
#define DC_LockDc(hDC) \
((PDC) GDIOBJ_LockObj ((HGDIOBJ) hDC, GDI_OBJECT_TYPE_DC))
#define DC_UnlockDc(pDC) \
@@ -167,6 +168,8 @@
VOID FASTCALL DC_UpdateXforms(PDC dc);
BOOL FASTCALL DC_InvertXform(const XFORM *xformSrc, XFORM *xformDest);
+#endif
+
/* User entry points */
BOOL STDCALL NtGdiCancelDC(HDC hDC);
_____
Modified: trunk/reactos/include/win32k/driver.h
--- trunk/reactos/include/win32k/driver.h 2005-06-20 21:16:59 UTC
(rev 16185)
+++ trunk/reactos/include/win32k/driver.h 2005-06-20 21:35:05 UTC
(rev 16186)
@@ -2,7 +2,6 @@
#ifndef __WIN32K_DRIVER_H
#define __WIN32K_DRIVER_H
-#include <ddk/ntddk.h>
#include <ddk/winddi.h>
typedef BOOL (STDCALL *PGD_ENABLEDRIVER)(ULONG, ULONG, PDRVENABLEDATA);
@@ -176,6 +175,8 @@
PGD_ALPHABLEND AlphaBlend;
} DRIVER_FUNCTIONS, *PDRIVER_FUNCTIONS;
+#ifndef NTOS_MODE_USER
+
BOOL DRIVER_RegisterDriver(LPCWSTR Name, PGD_ENABLEDRIVER
EnableDriver);
PGD_ENABLEDRIVER DRIVER_FindDDIDriver(LPCWSTR Name);
PFILE_OBJECT DRIVER_FindMPDriver(ULONG DisplayNumber);
@@ -187,3 +188,5 @@
#endif
+#endif
+
_____
Modified: trunk/reactos/include/win32k/gdiobj.h
--- trunk/reactos/include/win32k/gdiobj.h 2005-06-20 21:16:59 UTC
(rev 16185)
+++ trunk/reactos/include/win32k/gdiobj.h 2005-06-20 21:35:05 UTC
(rev 16186)
@@ -6,8 +6,6 @@
#ifndef __WIN32K_GDIOBJ_H
#define __WIN32K_GDIOBJ_H
-#include <ddk/ntddk.h>
-
/* base address where the handle table is mapped to */
#define GDI_HANDLE_TABLE_BASE_ADDRESS (0x400000)
@@ -67,7 +65,11 @@
*/
typedef struct _GDIOBJHDR
{
+#ifdef NTOS_MODE_USER
+ PVOID LockingThread;
+#else
PETHREAD LockingThread; /* only assigned if a thread is holding the
lock! */
+#endif
ULONG Locks;
#ifdef GDI_DEBUG
const char* createdfile;
@@ -77,6 +79,8 @@
#endif
} GDIOBJHDR, *PGDIOBJHDR;
+#ifndef NTOS_MODE_USER
+
BOOL INTERNAL_CALL GDIOBJ_OwnedByCurrentProcess(HGDIOBJ
ObjectHandle);
void INTERNAL_CALL GDIOBJ_SetOwnership(HGDIOBJ ObjectHandle,
PEPROCESS Owner);
void INTERNAL_CALL GDIOBJ_CopyOwnership(HGDIOBJ CopyFrom, HGDIOBJ
CopyTo);
@@ -108,10 +112,12 @@
#endif /* GDI_DEBUG */
+PVOID INTERNAL_CALL GDI_MapHandleTable(PEPROCESS Process);
+
+#endif
+
#define GDIOBJFLAG_DEFAULT (0x0)
#define GDIOBJFLAG_IGNOREPID (0x1)
#define GDIOBJFLAG_IGNORELOCK (0x2)
-PVOID INTERNAL_CALL GDI_MapHandleTable(PEPROCESS Process);
-
#endif
_____
Modified: trunk/reactos/include/win32k/kapi.h
--- trunk/reactos/include/win32k/kapi.h 2005-06-20 21:16:59 UTC (rev
16185)
+++ trunk/reactos/include/win32k/kapi.h 2005-06-20 21:35:05 UTC (rev
16186)
@@ -5,13 +5,15 @@
#define INTERNAL_CALL STDCALL
#endif
-#include <win32k/bitmaps.h>
#include <win32k/brush.h>
#include <win32k/cliprgn.h>
#include <win32k/color.h>
-#include <win32k/coord.h>
#include <win32k/cursoricon.h>
+#include <win32k/path.h>
+#include <win32k/driver.h>
#include <win32k/dc.h>
+#include <win32k/coord.h>
+#include <win32k/bitmaps.h>
#include <win32k/debug.h>
#include <win32k/fillshap.h>
#include <win32k/font.h>
@@ -22,7 +24,6 @@
#include <win32k/misc.h>
#include <win32k/ntuser.h>
#include <win32k/paint.h>
-#include <win32k/path.h>
#include <win32k/pen.h>
#include <win32k/print.h>
#include <win32k/region.h>
_____
Modified: trunk/reactos/lib/gdi32/include/precomp.h
--- trunk/reactos/lib/gdi32/include/precomp.h 2005-06-20 21:16:59 UTC
(rev 16185)
+++ trunk/reactos/lib/gdi32/include/precomp.h 2005-06-20 21:35:05 UTC
(rev 16186)
@@ -1,16 +1,13 @@
-#include <wine/windef.h>
#include <windows.h>
+#define NTOS_MODE_USER
+#include <ndk/ntndk.h>
+#include <ddentry.h>
#include <ddraw.h>
+#include <ddk/prntfont.h>
#include <string.h>
-#include <ddk/ntddk.h>
-#include <ddentry.h>
#include <win32k/kapi.h>
-#include <ddk/prntfont.h>
#include <rosrtl/logfont.h>
#include <rosrtl/devmode.h>
-#include <wine/unicode.h>
-#define NTOS_MODE_USER
-#include <ntos.h>
#define NtUserGetDCBrushColor(hbr) \
(COLORREF)NtUserCallTwoParam((DWORD)(hbr), OBJ_BRUSH,
TWOPARAM_ROUTINE_GETDCCOLOR)
_____
Modified: trunk/reactos/lib/gdi32/objects/font.c
--- trunk/reactos/lib/gdi32/objects/font.c 2005-06-20 21:16:59 UTC
(rev 16185)
+++ trunk/reactos/lib/gdi32/objects/font.c 2005-06-20 21:35:05 UTC
(rev 16186)
@@ -404,10 +404,10 @@
/* Treat the case where no special handling was requested in a
fastpath way */
/* copy will do if the GCP_REORDER flag is not set */
if(lpResults->lpOutString)
- strncpyW( lpResults->lpOutString, lpString, nSet );
+ lstrcpynW( lpResults->lpOutString, lpString, nSet );
if(lpResults->lpGlyphs)
- strncpyW( lpResults->lpGlyphs, lpString, nSet );
+ lstrcpynW( lpResults->lpGlyphs, lpString, nSet );
if(lpResults->lpOrder)
{
_____
Modified: trunk/reactos/subsys/win32k/main/svctabm.c
--- trunk/reactos/subsys/win32k/main/svctabm.c 2005-06-20 21:16:59 UTC
(rev 16185)
+++ trunk/reactos/subsys/win32k/main/svctabm.c 2005-06-20 21:35:05 UTC
(rev 16186)
@@ -45,6 +45,7 @@
#define NTOS_MODE_KERNEL
#include <ntos.h>
#include <win32k/ntddraw.h>
+#include <ddk/winddi.h>
#include <win32k/win32k.h>
/*
_____
Modified: trunk/reactos/subsys/win32k/ntddraw/ddraw.c
--- trunk/reactos/subsys/win32k/ntddraw/ddraw.c 2005-06-20 21:16:59 UTC
(rev 16185)
+++ trunk/reactos/subsys/win32k/ntddraw/ddraw.c 2005-06-20 21:35:05 UTC
(rev 16186)
@@ -11,6 +11,7 @@
#include <ddk/ntddk.h>
#include <win32k/ntddraw.h>
+#include <ddk/winddi.h>
#include <win32k/win32k.h>
#include <include/intddraw.h>
#include <win32k/gdiobj.h>
_____
Modified: trunk/reactos/subsys/win32k/ntddraw/stubs.c
--- trunk/reactos/subsys/win32k/ntddraw/stubs.c 2005-06-20 21:16:59 UTC
(rev 16185)
+++ trunk/reactos/subsys/win32k/ntddraw/stubs.c 2005-06-20 21:35:05 UTC
(rev 16186)
@@ -10,6 +10,7 @@
*/
#include <ddk/ntddk.h>
#include <win32k/ntddraw.h>
+#include <ddk/winddi.h>
#include <win32k/win32k.h>
#define NDEBUG