Author: jimtabor
Date: Fri Aug 10 10:47:00 2007
New Revision: 28268
URL:
http://svn.reactos.org/svn/reactos?rev=28268&view=rev
Log:
- Removed NtGdiPie from w32ksvc.db, leaving NtGdiPie in fillshap.c and updated
ntgdibad.h.
- Separated printing.c to printing.c and coord.c. This was for LP to DP.
- Fixed flags.
Added:
trunk/reactos/dll/win32/gdi32/objects/coord.c
- copied, changed from r28266, trunk/reactos/dll/win32/gdi32/objects/painting.c
Modified:
trunk/reactos/dll/win32/gdi32/gdi32.def
trunk/reactos/dll/win32/gdi32/gdi32.rbuild
trunk/reactos/dll/win32/gdi32/objects/arc.c
trunk/reactos/dll/win32/gdi32/objects/painting.c
trunk/reactos/include/reactos/win32k/ntgdibad.h
trunk/reactos/include/reactos/win32k/ntgdihdl.h
Modified: trunk/reactos/dll/win32/gdi32/gdi32.def
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/gdi32.def?…
==============================================================================
--- trunk/reactos/dll/win32/gdi32/gdi32.def (original)
+++ trunk/reactos/dll/win32/gdi32/gdi32.def Fri Aug 10 10:47:00 2007
@@ -485,7 +485,7 @@
PATHOBJ_vGetBounds@8
PolyPatBlt@20=NtGdiPolyPatBlt@20
PathToRegion@4
-Pie@36=NtGdiPie@36
+Pie@36
PlayEnhMetaFile@12
PlayEnhMetaFileRecord@16
PlayMetaFile@8
Modified: trunk/reactos/dll/win32/gdi32/gdi32.rbuild
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/gdi32.rbui…
==============================================================================
--- trunk/reactos/dll/win32/gdi32/gdi32.rbuild (original)
+++ trunk/reactos/dll/win32/gdi32/gdi32.rbuild Fri Aug 10 10:47:00 2007
@@ -30,6 +30,7 @@
<file>arc.c</file>
<file>bitmap.c</file>
<file>brush.c</file>
+ <file>coord.c</file>
<file>dc.c</file>
<file>enhmfile.c</file>
<file>font.c</file>
Modified: trunk/reactos/dll/win32/gdi32/objects/arc.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/objects/ar…
==============================================================================
--- trunk/reactos/dll/win32/gdi32/objects/arc.c (original)
+++ trunk/reactos/dll/win32/gdi32/objects/arc.c Fri Aug 10 10:47:00 2007
@@ -148,7 +148,6 @@
}
-#if 0
/*
* @unimplemented
*/
@@ -166,6 +165,7 @@
int a8
)
{
+#if 0
// Handle something other than a normal dc object.
if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC)
{
@@ -187,7 +187,8 @@
return FALSE;
}
}
+#endif
return NtGdiArcInternal(GdiTypePie, hDC, a1, a2, a3, a4, a5, a6, a7, a8);
}
-#endif
+
Copied: trunk/reactos/dll/win32/gdi32/objects/coord.c (from r28266,
trunk/reactos/dll/win32/gdi32/objects/painting.c)
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/objects/co…
==============================================================================
--- trunk/reactos/dll/win32/gdi32/objects/painting.c (original)
+++ trunk/reactos/dll/win32/gdi32/objects/coord.c Fri Aug 10 10:47:00 2007
@@ -140,677 +140,3 @@
#endif
}
-#if 0 /* FIXME: enable this as soon as we have working usermode gdi */
-
-// Will move to dc.c
-HGDIOBJ
-STDCALL
-GetDCObject( HDC hDC, INT iType)
-{
-
- if((iType == GDI_OBJECT_TYPE_BRUSH) ||
- (iType == GDI_OBJECT_TYPE_EXTPEN)||
- (iType == GDI_OBJECT_TYPE_PEN) ||
- (iType == GDI_OBJECT_TYPE_COLORSPACE))
- {
- HGDIOBJ hGO;
- PDC_ATTR Dc_Attr;
-
- if (!GdiGetHandleUserData((HGDIOBJ) hDC, (PVOID) &Dc_Attr)) return NULL;
-
- switch (iType)
- {
- case GDI_OBJECT_TYPE_BRUSH:
- hGO = Dc_Attr->hbrush;
- break;
-
- case GDI_OBJECT_TYPE_EXTPEN:
- case GDI_OBJECT_TYPE_PEN:
- hGO = Dc_Attr->hpen;
- break;
-
- case GDI_OBJECT_TYPE_COLORSPACE:
- hGO = Dc_Attr->hColorSpace;
- break;
- }
- return hGO;
- }
- return NtGdiGetDCObject( hDC, iType );
-}
-
-
-BOOL
-STDCALL
-LineTo( HDC hDC, INT x, INT y )
-{
-// Handle something other than a normal dc object.
- if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC)
- {
- if (GDI_HANDLE_GET_TYPE(hDC) == GDI_OBJECT_TYPE_METADC)
- return MFDRV_MetaParam2( hDC, META_LINETO, x, y);
- else
- {
- PLDC pLDC = GdiGetLDC(hDC);
- if ( !pLDC )
- {
- SetLastError(ERROR_INVALID_HANDLE);
- return FALSE;
- }
- if (pLDC->iType == LDC_EMFLDC)
- {
- return MFDRV_LineTo( hDC, x, y )
- }
- return FALSE;
- }
- }
- return NtGdiLineTo( hDC, x, y);
-}
-
-
-BOOL
-STDCALL
-MoveToEx( HDC hDC, INT x, INT y, LPPOINT Point )
-{
- PDC_ATTR Dc_Attr;
-
- if (!GdiGetHandleUserData((HGDIOBJ) hDC, (PVOID) &Dc_Attr)) return FALSE;
-
- if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC)
- {
- if (GDI_HANDLE_GET_TYPE(hDC) == GDI_OBJECT_TYPE_METADC)
- return MFDRV_MetaParam2( hDC, META_MOVETO, x, y);
- else
- {
- PLDC pLDC = Dc_Attr->pvLDC;
- if ( !pLDC )
- {
- SetLastError(ERROR_INVALID_HANDLE);
- return FALSE;
- }
- if (pLDC->iType == LDC_EMFLDC)
- {
- if (!EMFDRV_MoveTo( hDC, x, y)) return FALSE;
- }
- }
- }
-
- if ( Point )
- {
- if ( Dc_Attr->ulDirty_ & DIRTY_PTLCURRENT ) // Double hit!
- {
- Point->x = Dc_Attr->ptfxCurrent.x; // ret prev before change.
- Point->y = Dc_Attr->ptfxCurrent.y;
- DPtoLP ( hDC, Point, 1); // reconvert back.
- }
- else
- {
- Point->x = Dc_Attr->ptlCurrent.x;
- Point->y = Dc_Attr->ptlCurrent.y;
- }
- }
-
- Dc_Attr->ptlCurrent.x = x;
- Dc_Attr->ptlCurrent.y = y;
-
- Dc_Attr->ulDirty_ |= ( DIRTY_PTLCURRENT|DIRTY_STYLESTATE); // Set dirty
- return TRUE;
-}
-
-
-BOOL
-STDCALL
-Ellipse(HDC hDC, INT Left, INT Top, INT Right, INT Bottom)
-{
-// Handle something other than a normal dc object.
- if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC)
- {
- if (GDI_HANDLE_GET_TYPE(hDC) == GDI_OBJECT_TYPE_METADC)
- return MFDRV_MetaParam4(hDC, META_ELLIPSE, Left, Top, Right, Bottom );
- else
- {
- PLDC pLDC = GdiGetLDC(hDC);
- if ( !pLDC )
- {
- SetLastError(ERROR_INVALID_HANDLE);
- return FALSE;
- }
- if (pLDC->iType == LDC_EMFLDC)
- {
- return EMFDRV_Ellipse( hDC, Left, Top, Right, Bottom );
- }
- return FALSE;
- }
- }
- return NtGdiEllipse( hDC, Left, Top, Right, Bottom);
-}
-
-
-BOOL
-STDCALL
-Rectangle(HDC, INT Left, INT Top, INT Right, INT Bottom)
-{
-// Handle something other than a normal dc object.
- if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC)
- {
- if (GDI_HANDLE_GET_TYPE(hDC) == GDI_OBJECT_TYPE_METADC)
- return MFDRV_MetaParam4(hDC, META_RECTANGLE, Left, Top, Right, Bottom );
- else
- {
- PLDC pLDC = GdiGetLDC(hDC);
- if ( !pLDC )
- {
- SetLastError(ERROR_INVALID_HANDLE);
- return FALSE;
- }
- if (pLDC->iType == LDC_EMFLDC)
- {
- return EMFDRV_Rectangle( hDC, Left, Top, Right, Bottom );
- }
- return FALSE;
- }
- }
- return NtGdiRectangle( hDC, Left, Top, Right, Bottom);
-}
-
-
-BOOL
-STDCALL
-RoundRect(HDC, INT Left, INT Top, INT Right, INT Bottom,
- INT ell_Width, INT ell_Height)
-{
-// Handle something other than a normal dc object.
- if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC)
- {
- if (GDI_HANDLE_GET_TYPE(hDC) == GDI_OBJECT_TYPE_METADC)
- return MFDRV_MetaParam6( hDC, META_ROUNDRECT, Left, Top, Right, Bottom,
- ell_Width, ell_Height );
- else
- {
- PLDC pLDC = GdiGetLDC(hDC);
- if ( !pLDC )
- {
- SetLastError(ERROR_INVALID_HANDLE);
- return FALSE;
- }
- if (pLDC->iType == LDC_EMFLDC)
- {
- return EMFDRV_RoundRect( hDC, Left, Top, Right, Bottom,
- ell_Width, ell_Height );
- }
- return FALSE;
- }
- }
- return NtGdiRoundRect( hDc, Left, Top, Right, Bottom, ell_Width, ell_Height);
-}
-
-
-COLORREF
-STDCALL
-GetPixel( HDC hDC, INT x, INT y )
-{
- if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC) return CLR_INVALID;
- if (!GdiIsHandleValid((HGDIOBJ) hDC)) return CLR_INVALID;
- return NtGdiGetPixel( hDC, x, y);
-}
-
-
-COLORREF
-STDCALL
-SetPixel( HDC hDC, INT x, INT y, COLORREF Color )
-{
-// Handle something other than a normal dc object.
- if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC)
- {
- if (GDI_HANDLE_GET_TYPE(hDC) == GDI_OBJECT_TYPE_METADC)
- return MFDRV_MetaParam4(hDC, META_SETPIXEL, x, y, HIWORD(Color),
- LOWORD(Color));
- else
- {
- PLDC pLDC = GdiGetLDC(hDC);
- if ( !pLDC )
- {
- SetLastError(ERROR_INVALID_HANDLE);
- return 0;
- }
- if (pLDC->iType == LDC_EMFLDC)
- {
- return EMFDRV_SetPixel( hDC, x, y, Color );
- }
- return 0;
- }
- }
- return NtGdiSetPixel( hDC, x, y, Color);
-}
-
-
-BOOL
-STDCALL
-SetPixelV( HDC hDC, INT x, INT y, COLORREF Color )
-{
- COLORREF Cr = SetPixel( hDC, x, y, Color );
- if (Cr) return TRUE;
- return FALSE;
-}
-
-
-BOOL
-STDCALL
-FillRgn( HDC hDC, HRGN hRgn, HBRUSH hBrush )
-{
-
- if ( (!hRgn) || (!hBrush) ) return FALSE;
-
-// Handle something other than a normal dc object.
- if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC)
- {
- if (GDI_HANDLE_GET_TYPE(hDC) == GDI_OBJECT_TYPE_METADC)
- return MFDRV_FillRgn( hDC, hRgn, hBrush);
- else
- {
- PLDC pLDC = GdiGetLDC(hDC);
- if ( !pLDC )
- {
- SetLastError(ERROR_INVALID_HANDLE);
- return FALSE;
- }
- if (pLDC->iType == LDC_EMFLDC)
- {
- return EMFDRV_FillRgn(( hDC, hRgn, hBrush);
- }
- return FALSE;
- }
- }
- return NtGdiFillRgn( hDC, hRgn, hBrush);
-}
-
-
-BOOL
-STDCALL
-FrameRgn( HDC hDC, HRGN hRgn, HBRUSH hBrush, INT nWidth, INT nHeight )
-{
-
- if ( (!hRgn) || (!hBrush) ) return FALSE;
-
-// Handle something other than a normal dc object.
- if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC)
- {
- if (GDI_HANDLE_GET_TYPE(hDC) == GDI_OBJECT_TYPE_METADC)
- return MFDRV_FrameRgn( hDC, hRgn, hBrush, nWidth, nHeight );
- else
- {
- PLDC pLDC = GdiGetLDC(hDC);
- if ( !pLDC )
- {
- SetLastError(ERROR_INVALID_HANDLE);
- return FALSE;
- }
- if (pLDC->iType == LDC_EMFLDC)
- {
- return EMFDRV_FrameRgn( hDC, hRgn, hBrush, nWidth, nHeight );
- }
- return FALSE;
- }
- }
- return NtGdiFrameRgn( hDC, hRgn, hBrush, nWidth, nHeight);
-}
-
-
-BOOL
-STDCALL
-InvertRgn( HDC hDC, HRGN hRgn )
-{
-
- if ( !hRgn ) return FALSE;
-
-// Handle something other than a normal dc object.
- if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC)
- {
- if (GDI_HANDLE_GET_TYPE(hDC) == GDI_OBJECT_TYPE_METADC)
- return MFDRV_InvertRgn( hDC, HRGN hRgn ); // Use this instead of MFDRV_MetaParam.
- else
- {
- PLDC pLDC = GdiGetLDC(hDC);
- if ( !pLDC )
- {
- SetLastError(ERROR_INVALID_HANDLE);
- return FALSE;
- }
- if (pLDC->iType == LDC_EMFLDC)
- {
- return EMFDRV_PaintInvertRgn( hDC, hRgn, EMR_INVERTRGN );
- }
- return FALSE;
- }
- }
- return NtGdiInvertRgn( hDC, hRgn);
-}
-
-BOOL
-STDCALL
-PaintRgn( HDC hDC, HRGN hRgn )
-{
-// Handle something other than a normal dc object.
- if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC)
- {
- if (GDI_HANDLE_GET_TYPE(hDC) == GDI_OBJECT_TYPE_METADC)
- return MFDRV_PaintRgn( hDC, HRGN hRgn ); // Use this instead of MFDRV_MetaParam.
- else
- {
- PLDC pLDC = GdiGetLDC(hDC);
- if ( !pLDC )
- {
- SetLastError(ERROR_INVALID_HANDLE);
- return FALSE;
- }
- if (pLDC->iType == LDC_EMFLDC)
- {
- return EMFDRV_PaintInvertRgn( hDC, hRgn, EMR_PAINTRGN );
- }
- return FALSE;
- }
- }
- // Could just use Dc_Attr->hbrush
- HBRUSH hbrush = (HBRUSH) GetDCObject( hDC, GDI_OBJECT_TYPE_BRUSH);
-
- return NtGdiFillRgn( hDC, hRgn, hBrush);
-}
-
-
-BOOL
-STDCALL
-PolyBezier(HDC hDC ,const POINT* Point, DWORD cPoints)
-{
-// Handle something other than a normal dc object.
- if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC)
- {
- if (GDI_HANDLE_GET_TYPE(hDC) == GDI_OBJECT_TYPE_METADC)
- /*
- * Since MetaFiles don't record Beziers and they don't even record
- * approximations to them using lines.
- */
- return FALSE;
- else
- {
- PLDC pLDC = GdiGetLDC(hDC);
- if ( !pLDC )
- {
- SetLastError(ERROR_INVALID_HANDLE);
- return FALSE;
- }
- if (pLDC->iType == LDC_EMFLDC)
- {
- return FALSE; // Not supported yet.
- }
- return FALSE;
- }
- }
- return NtGdiPolyPolyDraw( hDC , Point, &cPoints, 1, GdiPolyBezier );
-}
-
-
-BOOL
-STDCALL
-PolyBezierTo(HDC hDC, const POINT* Point ,DWORD cPoints)
-{
-// Handle something other than a normal dc object.
- if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC)
- {
- if (GDI_HANDLE_GET_TYPE(hDC) == GDI_OBJECT_TYPE_METADC)
- return FALSE;
- else
- {
- PLDC pLDC = GdiGetLDC(hDC);
- if ( !pLDC )
- {
- SetLastError(ERROR_INVALID_HANDLE);
- return FALSE;
- }
- if (pLDC->iType == LDC_EMFLDC)
- {
- return FALSE; // Not supported yet.
- }
- return FALSE;
- }
- }
- return NtGdiPolyPolyDraw( hDC , Point, &cPoints, 1, GdiPolyBezierTo );
-}
-
-
-BOOL
-STDCALL
-PolyDraw(HDC hDC, const POINT* Point, const BYTE *lpbTypes, int cCount )
-{
-// Handle something other than a normal dc object.
- if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC)
- {
- if (GDI_HANDLE_GET_TYPE(hDC) == GDI_OBJECT_TYPE_METADC)
- return FALSE;
- else
- {
- PLDC pLDC = GdiGetLDC(hDC);
- if ( !pLDC )
- {
- SetLastError(ERROR_INVALID_HANDLE);
- return FALSE;
- }
- if (pLDC->iType == LDC_EMFLDC)
- {
- return FALSE; // Not supported yet.
- }
- return FALSE;
- }
- }
- return NtGdiPolyDraw( hDC , Point, lpbTypes, cCount );
-}
-
-
-BOOL
-STDCALL
-Polygon(HDC hDC, const POINT *Point, int Count)
-{
-// Handle something other than a normal dc object.
- if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC)
- {
- if (GDI_HANDLE_GET_TYPE(hDC) == GDI_OBJECT_TYPE_METADC)
- return MFDRV_Polygon( hDC, Point, Count );
- else
- {
- PLDC pLDC = GdiGetLDC(hDC);
- if ( !pLDC )
- {
- SetLastError(ERROR_INVALID_HANDLE);
- return FALSE;
- }
- if (pLDC->iType == LDC_EMFLDC)
- {
- return EMFDRV_Polygon( hDC, Point, Count );
- }
- return FALSE;
- }
- }
- return NtGdiPolyPolyDraw( hDC , Point, &Count, 1, GdiPolygon );
-}
-
-
-BOOL
-STDCALL
-Polyline(HDC hDC, const POINT *Point, int Count)
-{
-// Handle something other than a normal dc object.
- if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC)
- {
- if (GDI_HANDLE_GET_TYPE(hDC) == GDI_OBJECT_TYPE_METADC)
- return MFDRV_Polyline( hDC, Point, Count );
- else
- {
- PLDC pLDC = GdiGetLDC(hDC);
- if ( !pLDC )
- {
- SetLastError(ERROR_INVALID_HANDLE);
- return FALSE;
- }
- if (pLDC->iType == LDC_EMFLDC)
- {
- return EMFDRV_Polyline( hDC, Point, Count );
- }
- return FALSE;
- }
- }
- return NtGdiPolyPolyDraw( hDC , Point, &Count, 1, GdiPolyPolyLine );
-}
-
-
-BOOL
-STDCALL
-PolylineTo(HDC hDC, const POINT* Point, DWORD Count)
-{
-// Handle something other than a normal dc object.
- if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC)
- {
- if (GDI_HANDLE_GET_TYPE(hDC) == GDI_OBJECT_TYPE_METADC)
- return FALSE;
- else
- {
- PLDC pLDC = GdiGetLDC(hDC);
- if ( !pLDC )
- {
- SetLastError(ERROR_INVALID_HANDLE);
- return FALSE;
- }
- if (pLDC->iType == LDC_EMFLDC)
- {
- return FALSE; // Not supported yet.
- }
- return FALSE;
- }
- }
- return NtGdiPolyPolyDraw( hDC , Point, &Count, 1, GdiPolyLineTo );
-
-}
-
-
-BOOL
-STDCALL
-PolyPolygon(HDC hDC, const POINT* Point, const INT* Count, int Polys)
-{
-// Handle something other than a normal dc object.
- if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC)
- {
- if (GDI_HANDLE_GET_TYPE(hDC) == GDI_OBJECT_TYPE_METADC)
- return MFDRV_PolyPolygon( hDC, Point, Count, Polys);
- else
- {
- PLDC pLDC = GdiGetLDC(hDC);
- if ( !pLDC )
- {
- SetLastError(ERROR_INVALID_HANDLE);
- return FALSE;
- }
- if (pLDC->iType == LDC_EMFLDC)
- {
- return EMFDRV_PolyPolygon( hDC, Point, Count, Polys );
- }
- return FALSE;
- }
- }
- return NtGdiPolyPolyDraw( hDC , Point, Count, Polys, GdiPolygon );
-
-}
-
-
-BOOL
-STDCALL
-PolyPolyline(HDC hDC, const POINT* Point, const DWORD* Counts, DWORD Polys)
-{
-// Handle something other than a normal dc object.
- if (GDI_HANDLE_GET_TYPE(hDC) != GDI_OBJECT_TYPE_DC)
- {
- if (GDI_HANDLE_GET_TYPE(hDC) == GDI_OBJECT_TYPE_METADC)
- return FALSE;
- else
- {
- PLDC pLDC = GdiGetLDC(hDC);
- if ( !pLDC )
- {
- SetLastError(ERROR_INVALID_HANDLE);
- return FALSE;
- }
- if (pLDC->iType == LDC_EMFLDC)
- {
- return EMFDRV_PolyPolyline(hDC, Point, Counts, Polys);
- }
- return FALSE;
- }
- }
- 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);
-}
-
-BOOL WINAPI
-MaskBlt(
- HDC hdcDest,
- INT nXDest,
- INT nYDest,
- INT nWidth,
- INT nHeight,
- HDC hdcSrc,
- INT nXSrc,
- INT nYSrc,
- HBITMAP hbmMask,
- INT xMask,
- INT yMask,
- DWORD dwRop)
-{
- return NtGdiMaskBlt(hdcDest,
- nXDest,
- nYDest,
- nWidth,
- nHeight,
- hdcSrc,
- nXSrc,
- nYSrc,
- hbmMask,
- xMask,
- yMask,
- dwRop,
- 0);
-}
-
-
-BOOL
-WINAPI
-PlgBlt(
- HDC hdcDest,
- const POINT *lpPoint,
- HDC hdcSrc,
- INT nXSrc,
- INT nYSrc,
- INT nWidth,
- INT nHeight,
- HBITMAP hbmMask,
- INT xMask,
- INT yMask)
-{
- return NtGdiPlgBlt(hdcDest,
- (LPPOINT)lpPoint,
- hdcSrc,
- nXSrc,
- nYSrc,
- nWidth,
- nHeight,
- hbmMask,
- xMask,
- yMask,
- 0);
-}
Modified: trunk/reactos/dll/win32/gdi32/objects/painting.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/objects/pa…
==============================================================================
--- trunk/reactos/dll/win32/gdi32/objects/painting.c (original)
+++ trunk/reactos/dll/win32/gdi32/objects/painting.c Fri Aug 10 10:47:00 2007
@@ -1,144 +1,5 @@
#include "precomp.h"
-/* the following deal with IEEE single-precision numbers */
-#define EXCESS 126L
-#define SIGNBIT 0x80000000L
-#define SIGN(fp) ((fp) & SIGNBIT)
-#define EXP(fp) (((fp) >> 23L) & 0xFF)
-#define MANT(fp) ((fp) & 0x7FFFFFL)
-#define PACK(s,e,m) ((s) | ((e) << 23L) | (m))
-
-// Sames as lrintf.
-#ifdef __GNUC__
-#define FLOAT_TO_INT(in,out) \
- __asm__ __volatile__ ("fistpl %0" : "=m" (out) :
"t" (in) : "st");
-#else
-#define FLOAT_TO_INT(in,out) \
- __asm fld in \
- __asm fistp out
-#endif
-
-LONG
-FASTCALL
-EFtoF( EFLOAT_S * efp)
-{
- long Mant, Exp, Sign = 0;
-
- if (!efp->lMant) return 0;
-
- Mant = efp->lMant;
- Exp = efp->lExp;
- Sign = SIGN(Mant);
-
-//// M$ storage emulation
- if( Sign ) Mant = -Mant;
- Mant = ((Mant & 0x3fffffff) >> 7);
- Exp += (EXCESS-1);
-////
- Mant = MANT(Mant);
- return PACK(Sign, Exp, Mant);
-}
-
-VOID
-FASTCALL
-FtoEF( EFLOAT_S * efp, FLOATL f)
-{
- long Mant, Exp, Sign = 0;
- gxf_long worker;
-
-#ifdef _X86_
- worker.l = f; // It's a float stored in a long.
-#else
- worker.f = f;
-#endif
-
- Exp = EXP(worker.l);
- Mant = MANT(worker.l);
- if (SIGN(worker.l)) Sign = -1;
-//// M$ storage emulation
- Mant = ((Mant << 7) | 0x40000000);
- Mant ^= Sign;
- Mant -= Sign;
- Exp -= (EXCESS-1);
-////
- efp->lMant = Mant;
- efp->lExp = Exp;
-}
-
-
-VOID FASTCALL
-CoordCnvP(MATRIX_S * mx, LPPOINT Point)
-{
- FLOAT x, y;
- gxf_long a, b;
-
- x = (FLOAT)Point->x;
- y = (FLOAT)Point->y;
-
- a.l = EFtoF( &mx->efM11 );
- b.l = EFtoF( &mx->efM21 );
- x = x * a.f + y * b.f + mx->fxDx;
-
- a.l = EFtoF( &mx->efM12 );
- b.l = EFtoF( &mx->efM22 );
- y = x * a.f + y * b.f + mx->fxDy;
-
- FLOAT_TO_INT(x, Point->x );
- FLOAT_TO_INT(y, Point->y );
-}
-
-
-BOOL
-STDCALL
-DPtoLP ( HDC hDC, LPPOINT Points, INT Count )
-{
-#if 0
- INT i;
- PDC_ATTR Dc_Attr;
-
- if (!GdiGetHandleUserData((HGDIOBJ) hDC, (PVOID) &Dc_Attr)) return FALSE;
-
- if (Dc_Attr->flXform & ( DEVICE_TO_WORLD_INVALID | // Force a full
recalibration!
- PAGE_XLATE_CHANGED | // Changes or Updates have been
made,
- PAGE_EXTENTS_CHANGED | // do processing in kernel space.
- WORLD_XFORM_CHANGED )
-#endif
- return NtGdiTransformPoints( hDC, Points, Points, Count, 0); // Last is 0 or 2
-#if 0
- else
- {
- for ( i = 0; i < Count; i++ )
- CoordCnvP ( &Dc_Attr->mxDevicetoWorld, &Points[i] );
- }
- return TRUE;
-#endif
-}
-
-
-BOOL
-STDCALL
-LPtoDP ( HDC hDC, LPPOINT Points, INT Count )
-{
-#if 0
- INT i;
- PDC_ATTR Dc_Attr;
-
- if (!GdiGetHandleUserData((HGDIOBJ) hDC, (PVOID) &Dc_Attr)) return FALSE;
-
- if (Dc_Attr->flXform & ( PAGE_XLATE_CHANGED | // Check for Changes and
Updates
- PAGE_EXTENTS_CHANGED |
- WORLD_XFORM_CHANGED )
-#endif
- return NtGdiTransformPoints( hDC, Points, Points, Count, 0);
-#if 0
- else
- {
- for ( i = 0; i < Count; i++ )
- CoordCnvP ( &Dc_Attr->mxWorldToDevice, &Points[i] );
- }
- return TRUE;
-#endif
-}
#if 0 /* FIXME: enable this as soon as we have working usermode gdi */
Modified: trunk/reactos/include/reactos/win32k/ntgdibad.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/win32k/ntg…
==============================================================================
--- trunk/reactos/include/reactos/win32k/ntgdibad.h (original)
+++ trunk/reactos/include/reactos/win32k/ntgdibad.h Fri Aug 10 10:47:00 2007
@@ -538,19 +538,6 @@
NtGdiPaintRgn(HDC hDC,
HRGN hRgn);
-/* Use NtGdiArcInternal with GdiTypePie. */
-BOOL
-STDCALL
-NtGdiPie(HDC hDC,
- int LeftRect,
- int TopRect,
- int RightRect,
- int BottomRect,
- int XRadial1,
- int YRadial1,
- int XRadial2,
- int YRadial2);
-
/* Metafiles are user-mode. */
BOOL
STDCALL
Modified: trunk/reactos/include/reactos/win32k/ntgdihdl.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/win32k/ntg…
==============================================================================
--- trunk/reactos/include/reactos/win32k/ntgdihdl.h (original)
+++ trunk/reactos/include/reactos/win32k/ntgdihdl.h Fri Aug 10 10:47:00 2007
@@ -129,8 +129,8 @@
#define DC_DIBSECTION 0x00004000
#define DC_LAST_CLIPRGN_VALID 0x00008000
#define DC_PRIMARY_DISPLAY 0x00010000
-#define DC_MODE_DIRTY 0x00020000
-#define DC_FONTTEXT_DIRTY 0x00040000
+#define DC_MODE_DIRTY 0x00200000
+#define DC_FONTTEXT_DIRTY 0x00400000
/* DC_ATTR LCD Flags */
#define LDC_LDC 0x00000001 // (init) local DC other than a normal DC