Author: fireball
Date: Thu Feb 11 13:57:39 2010
New Revision: 45571
URL:
http://svn.reactos.org/svn/reactos?rev=45571&view=rev
Log:
- Implement usermode parts of Pie and Ellipse GDI driver APIs.
Modified:
branches/arwinss/reactos/dll/win32/winent.drv/gdidrv.c
Modified: branches/arwinss/reactos/dll/win32/winent.drv/gdidrv.c
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/winen…
==============================================================================
--- branches/arwinss/reactos/dll/win32/winent.drv/gdidrv.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/dll/win32/winent.drv/gdidrv.c [iso-8859-1] Thu Feb 11
13:57:39 2010
@@ -236,8 +236,17 @@
BOOL CDECL RosDrv_Ellipse( NTDRV_PDEVICE *physDev, INT left, INT top, INT right, INT
bottom )
{
- UNIMPLEMENTED;
- return FALSE;
+ POINT pts[2];
+
+ /* Map coordinates */
+ pts[0].x = left;
+ pts[0].y = top;
+ pts[1].x = right;
+ pts[1].y = bottom;
+
+ LPtoDP(physDev->hUserDC, pts, 2);
+
+ return RosGdiEllipse(physDev->hKernelDC, pts[0].x, pts[0].y, pts[1].x, pts[1].y);
}
BOOL CDECL RosDrv_EnumDeviceFonts( NTDRV_PDEVICE *physDev, LPLOGFONTW plf,
@@ -448,8 +457,22 @@
BOOL CDECL RosDrv_Pie( NTDRV_PDEVICE *physDev, INT left, INT top, INT right, INT bottom,
INT xstart, INT ystart, INT xend, INT yend )
{
- UNIMPLEMENTED;
- return FALSE;
+ POINT pts[4];
+
+ /* Map coordinates */
+ pts[0].x = left;
+ pts[0].y = top;
+ pts[1].x = right;
+ pts[1].y = bottom;
+ pts[2].x = xstart;
+ pts[2].y = ystart;
+ pts[3].x = xend;
+ pts[3].y = yend;
+
+ LPtoDP(physDev->hUserDC, pts, 4);
+
+ return RosGdiPie(physDev->hKernelDC, pts[0].x, pts[0].y, pts[1].x, pts[1].y,
+ pts[2].x, pts[2].y, pts[3].x, pts[3].y);
}
BOOL CDECL RosDrv_PolyPolygon( NTDRV_PDEVICE *physDev, const POINT* pt, const INT*
counts, UINT polygons)