- add painting.c to gdi32.def

- implement FloodFill, calling NtGdiExtFloodFill
- implement CreateRectRgnIndirect, calling NtGdiCreateRectRgn
- remove NtGdiCreateRectRgnIndirect, NtGdiFloodFill from win32k
- update ntgdibad.h

svn path=/trunk/; revision=27883
This commit is contained in:
Timo Kreuzer
2007-07-26 19:52:51 +00:00
parent 8a32a579d8
commit da22f48dfd
8 changed files with 31 additions and 54 deletions
+2 -2
View File
@@ -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
+1
View File
@@ -46,6 +46,7 @@
<file>font.c</file>
<file>linedda.c</file>
<file>metafile.c</file>
<file>painting.c</file>
<file>pen.c</file>
<file>region.c</file>
<file>text.c</file>
@@ -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);
}
+16
View File
@@ -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;
}
-15
View File
@@ -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
@@ -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,
@@ -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,
-2
View File
@@ -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