diff --git a/reactos/dll/win32/gdi32/gdi32.def b/reactos/dll/win32/gdi32/gdi32.def
index 2ee621519f1..fb1d5d1dce5 100644
--- a/reactos/dll/win32/gdi32/gdi32.def
+++ b/reactos/dll/win32/gdi32/gdi32.def
@@ -84,7 +84,7 @@ CreatePenIndirect@4
CreatePolyPolygonRgn@16=NtGdiCreatePolyPolygonRgn@16
CreatePolygonRgn@12=NtGdiCreatePolygonRgn@12
CreateRectRgn@16=NtGdiCreateRectRgn@16
-CreateRectRgnIndirect@4=NtGdiCreateRectRgnIndirect@4
+CreateRectRgnIndirect@4
CreateRoundRectRgn@24=NtGdiCreateRoundRectRgn@24
CreateScalableFontResourceA@16
CreateScalableFontResourceW@16
@@ -234,7 +234,7 @@ FillPath@4
FillRgn@12=NtGdiFillRgn@12
FixBrushOrgEx@16
FlattenPath@4
-FloodFill@16=NtGdiFloodFill@16
+FloodFill@16
FontIsLinked@4
FONTOBJ_cGetAllGlyphHandles@8
FONTOBJ_cGetGlyphs@20
diff --git a/reactos/dll/win32/gdi32/gdi32.rbuild b/reactos/dll/win32/gdi32/gdi32.rbuild
index 0a3067126eb..fcabe1a77d2 100644
--- a/reactos/dll/win32/gdi32/gdi32.rbuild
+++ b/reactos/dll/win32/gdi32/gdi32.rbuild
@@ -46,6 +46,7 @@
font.c
linedda.c
metafile.c
+ painting.c
pen.c
region.c
text.c
diff --git a/reactos/dll/win32/gdi32/objects/painting.c b/reactos/dll/win32/gdi32/objects/painting.c
index dfae1da10db..c1137b4ee56 100644
--- a/reactos/dll/win32/gdi32/objects/painting.c
+++ b/reactos/dll/win32/gdi32/objects/painting.c
@@ -18,6 +18,7 @@
__asm fistp out
#endif
+#if 0 /* FIXME: enable this as soon as we have working usermode gdi */
LONG
FASTCALL
EFtoF( EFLOAT_S * efp)
@@ -890,4 +891,15 @@ PolyPolyline(HDC hDC, const POINT* Point, const DWORD* Counts, DWORD Polys)
}
return NtGdiPolyPolyDraw( hDC , Point, Count, Polys, GdiPolyPolyLine );
}
+#endif
+BOOL
+WINAPI
+FloodFill(
+ HDC hDC,
+ int nXStart,
+ int nYStart,
+ COLORREF crFill)
+{
+ return NtGdiExtFloodFill(hDC, nXStart, nYStart, crFill, FLOODFILLBORDER);
+}
diff --git a/reactos/dll/win32/gdi32/objects/region.c b/reactos/dll/win32/gdi32/objects/region.c
index 45fe553b6f7..53f301e74b0 100644
--- a/reactos/dll/win32/gdi32/objects/region.c
+++ b/reactos/dll/win32/gdi32/objects/region.c
@@ -56,3 +56,19 @@ CreateEllipticRgnIndirect(
}
return NULL;
}
+
+HRGN
+WINAPI
+CreateRectRgnIndirect(
+ const RECT *prc
+)
+{
+ if (prc)
+ {
+ return NtGdiCreateRectRgn(prc->left,
+ prc->top,
+ prc->right,
+ prc->bottom);
+ }
+ return NULL;
+}
diff --git a/reactos/include/reactos/win32k/ntgdibad.h b/reactos/include/reactos/win32k/ntgdibad.h
index 2304e8890e2..13d0302ecd4 100644
--- a/reactos/include/reactos/win32k/ntgdibad.h
+++ b/reactos/include/reactos/win32k/ntgdibad.h
@@ -245,11 +245,6 @@ NtGdiCreatePolyPolygonRgn(CONST PPOINT pt,
INT Count,
INT PolyFillMode);
-/* Use NtGdiCreateRectRgn with expanded paraemters. */
-HRGN
-STDCALL
-NtGdiCreateRectRgnIndirect(CONST PRECT rc);
-
/* Use NtGdiTransformPoints with GdiDpToLp. */
BOOL
STDCALL
@@ -333,16 +328,6 @@ NtGdiExtTextOut(HDC hdc,
UINT cbCount,
CONST INT *lpDx);
-/* Use NtGdiExtFloodFill with FLOODFILLBORDER. */
-BOOL
-STDCALL
-NtGdiFloodFill (
- HDC hDC,
- INT XStart,
- INT YStart,
- COLORREF Fill
- );
-
/* Should be done in user-mode. */
BOOL
STDCALL
diff --git a/reactos/subsystems/win32/win32k/objects/bitmaps.c b/reactos/subsystems/win32/win32k/objects/bitmaps.c
index f2f0a1b24f9..abe7dff3f5b 100644
--- a/reactos/subsystems/win32/win32k/objects/bitmaps.c
+++ b/reactos/subsystems/win32/win32k/objects/bitmaps.c
@@ -568,16 +568,6 @@ NtGdiExtFloodFill(
return TRUE;
}
-BOOL STDCALL
-NtGdiFloodFill(
- HDC hDC,
- INT XStart,
- INT YStart,
- COLORREF Fill)
-{
- return NtGdiExtFloodFill(hDC, XStart, YStart, Fill, FLOODFILLBORDER );
-}
-
BOOL STDCALL
NtGdiGetBitmapDimensionEx(
HBITMAP hBitmap,
diff --git a/reactos/subsystems/win32/win32k/objects/region.c b/reactos/subsystems/win32/win32k/objects/region.c
index 968c467338a..91d4eed3b82 100644
--- a/reactos/subsystems/win32/win32k/objects/region.c
+++ b/reactos/subsystems/win32/win32k/objects/region.c
@@ -2044,31 +2044,6 @@ NtGdiCreateRectRgn(INT LeftRect, INT TopRect, INT RightRect, INT BottomRect)
return NULL;
}
-HRGN STDCALL
-NtGdiCreateRectRgnIndirect(CONST PRECT rc)
-{
- RECT SafeRc = {0};
- NTSTATUS Status = STATUS_SUCCESS;
-
- _SEH_TRY
- {
- ProbeForRead(rc,
- sizeof(RECT),
- 1);
- SafeRc = *rc;
- }
- _SEH_HANDLE
- {
- Status = _SEH_GetExceptionCode();
- }
- _SEH_END;
- if (!NT_SUCCESS(Status))
- {
- return(NULL);
- }
- return(UnsafeIntCreateRectRgnIndirect(&SafeRc));
-}
-
HRGN
STDCALL
NtGdiCreateRoundRectRgn(INT left, INT top, INT right, INT bottom,
diff --git a/reactos/tools/nci/w32ksvc.db b/reactos/tools/nci/w32ksvc.db
index 1cda1ecd1ed..f96712b77fc 100644
--- a/reactos/tools/nci/w32ksvc.db
+++ b/reactos/tools/nci/w32ksvc.db
@@ -38,7 +38,6 @@ NtGdiCreatePen 4
NtGdiCreatePolygonRgn 3
NtGdiCreatePolyPolygonRgn 4
NtGdiCreateRectRgn 4
-NtGdiCreateRectRgnIndirect 1
NtGdiCreateRoundRectRgn 6
NtGdiCreateScalableFontResource 4
NtGdiCreateSolidBrush 2
@@ -73,7 +72,6 @@ NtGdiExtTextOut 8
NtGdiFillPath 1
NtGdiFillRgn 3
NtGdiFlattenPath 1
-NtGdiFloodFill 4
NtGdiFrameRgn 5
NtGdiGdiComment 3
NtGdiFlush 0