Author: sginsberg Date: Tue Dec 16 12:41:07 2008 New Revision: 38123
URL: http://svn.reactos.org/svn/reactos?rev=38123&view=rev Log: - Sync gdiplus with Wine head
Modified: trunk/reactos/dll/win32/gdiplus/font.c trunk/reactos/dll/win32/gdiplus/gdiplus.spec trunk/reactos/dll/win32/gdiplus/graphics.c trunk/reactos/dll/win32/gdiplus/graphicspath.c trunk/reactos/dll/win32/gdiplus/pen.c trunk/reactos/dll/win32/gdiplus/region.c trunk/reactos/include/psdk/gdiplusflat.h
Modified: trunk/reactos/dll/win32/gdiplus/font.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdiplus/font.c?re... ============================================================================== --- trunk/reactos/dll/win32/gdiplus/font.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/gdiplus/font.c [iso-8859-1] Tue Dec 16 12:41:07 2008 @@ -195,6 +195,7 @@
(*font)->lfw.lfHeight = -textmet.tmHeight; (*font)->lfw.lfWeight = textmet.tmWeight; + (*font)->lfw.lfCharSet = textmet.tmCharSet;
(*font)->height = 1; /* FIXME: need NEWTEXTMETRIC.ntmSizeEM here */ (*font)->line_spacing = textmet.tmAscent + textmet.tmDescent + textmet.tmExternalLeading;
Modified: trunk/reactos/dll/win32/gdiplus/gdiplus.spec URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdiplus/gdiplus.s... ============================================================================== --- trunk/reactos/dll/win32/gdiplus/gdiplus.spec [iso-8859-1] (original) +++ trunk/reactos/dll/win32/gdiplus/gdiplus.spec [iso-8859-1] Tue Dec 16 12:41:07 2008 @@ -10,8 +10,8 @@ @ stdcall GdipAddPathClosedCurveI(ptr ptr long) @ stdcall GdipAddPathCurve2(ptr ptr long long) @ stdcall GdipAddPathCurve2I(ptr ptr long long) -@ stub GdipAddPathCurve3 -@ stub GdipAddPathCurve3I +@ stdcall GdipAddPathCurve3(ptr ptr long long long long) +@ stdcall GdipAddPathCurve3I(ptr ptr long long long long) @ stdcall GdipAddPathCurve(ptr ptr long) @ stdcall GdipAddPathCurveI(ptr ptr long) @ stdcall GdipAddPathEllipse(ptr long long long long) @@ -320,7 +320,7 @@ @ stdcall GdipGetMetafileHeaderFromMetafile(ptr ptr) @ stub GdipGetMetafileHeaderFromStream @ stub GdipGetMetafileHeaderFromWmf -@ stub GdipGetNearestColor +@ stdcall GdipGetNearestColor(ptr ptr) @ stdcall GdipGetPageScale(ptr ptr) @ stdcall GdipGetPageUnit(ptr ptr) @ stdcall GdipGetPathData(ptr ptr)
Modified: trunk/reactos/dll/win32/gdiplus/graphics.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdiplus/graphics.... ============================================================================== --- trunk/reactos/dll/win32/gdiplus/graphics.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/gdiplus/graphics.c [iso-8859-1] Tue Dec 16 12:41:07 2008 @@ -2456,6 +2456,19 @@ return Ok; }
+GpStatus WINGDIPAPI GdipGetNearestColor(GpGraphics *graphics, ARGB* argb) +{ + if(!graphics || !argb) + return InvalidParameter; + + if(graphics->busy) + return ObjectBusy; + + FIXME("(%p, %p): stub\n", graphics, argb); + + return NotImplemented; +} + GpStatus WINGDIPAPI GdipGetPageScale(GpGraphics *graphics, REAL *scale) { TRACE("(%p, %p)\n", graphics, scale);
Modified: trunk/reactos/dll/win32/gdiplus/graphicspath.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdiplus/graphicsp... ============================================================================== --- trunk/reactos/dll/win32/gdiplus/graphicspath.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/gdiplus/graphicspath.c [iso-8859-1] Tue Dec 16 12:41:07 2008 @@ -524,6 +524,28 @@ return stat; }
+GpStatus WINGDIPAPI GdipAddPathCurve3(GpPath *path, GDIPCONST GpPointF *points, + INT count, INT offset, INT nseg, REAL tension) +{ + TRACE("(%p, %p, %d, %d, %d, %.2f)\n", path, points, count, offset, nseg, tension); + + if(!path || !points || offset + 1 >= count || count - offset < nseg + 1) + return InvalidParameter; + + return GdipAddPathCurve2(path, &points[offset], nseg + 1, tension); +} + +GpStatus WINGDIPAPI GdipAddPathCurve3I(GpPath *path, GDIPCONST GpPoint *points, + INT count, INT offset, INT nseg, REAL tension) +{ + TRACE("(%p, %p, %d, %d, %d, %.2f)\n", path, points, count, offset, nseg, tension); + + if(!path || !points || offset + 1 >= count || count - offset < nseg + 1) + return InvalidParameter; + + return GdipAddPathCurve2I(path, &points[offset], nseg + 1, tension); +} + GpStatus WINGDIPAPI GdipAddPathEllipse(GpPath *path, REAL x, REAL y, REAL width, REAL height) {
Modified: trunk/reactos/dll/win32/gdiplus/pen.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdiplus/pen.c?rev... ============================================================================== --- trunk/reactos/dll/win32/gdiplus/pen.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/gdiplus/pen.c [iso-8859-1] Tue Dec 16 12:41:07 2008 @@ -412,7 +412,7 @@ GpStatus WINGDIPAPI GdipSetPenCompoundArray(GpPen *pen, GDIPCONST REAL *dash, INT count) { - FIXME("(%p, %p, %i): stub", pen, dash, count); + FIXME("(%p, %p, %i): stub\n", pen, dash, count);
if (!pen || !dash || count < 2 || count%2 == 1) return InvalidParameter;
Modified: trunk/reactos/dll/win32/gdiplus/region.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdiplus/region.c?... ============================================================================== --- trunk/reactos/dll/win32/gdiplus/region.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/gdiplus/region.c [iso-8859-1] Tue Dec 16 12:41:07 2008 @@ -360,6 +360,7 @@
delete_element(®ion1->node); memcpy(region1, reg2copy, sizeof(GpRegion)); + GdipFree(reg2copy); return Ok; }
Modified: trunk/reactos/include/psdk/gdiplusflat.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/gdiplusflat.h?... ============================================================================== --- trunk/reactos/include/psdk/gdiplusflat.h [iso-8859-1] (original) +++ trunk/reactos/include/psdk/gdiplusflat.h [iso-8859-1] Tue Dec 16 12:41:07 2008 @@ -196,6 +196,7 @@ GpStatus WINGDIPAPI GdipGetDpiY(GpGraphics*,REAL*); GpStatus WINGDIPAPI GdipGetImageGraphicsContext(GpImage*,GpGraphics**); GpStatus WINGDIPAPI GdipGetInterpolationMode(GpGraphics*,InterpolationMode*); +GpStatus WINGDIPAPI GdipGetNearestColor(GpGraphics*,ARGB*); GpStatus WINGDIPAPI GdipGetPageScale(GpGraphics*,REAL*); GpStatus WINGDIPAPI GdipGetPageUnit(GpGraphics*,GpUnit*); GpStatus WINGDIPAPI GdipGetPixelOffsetMode(GpGraphics*,PixelOffsetMode*); @@ -255,6 +256,8 @@ GpStatus WINGDIPAPI GdipAddPathCurveI(GpPath*,GDIPCONST GpPoint*,INT); GpStatus WINGDIPAPI GdipAddPathCurve2(GpPath*,GDIPCONST GpPointF*,INT,REAL); GpStatus WINGDIPAPI GdipAddPathCurve2I(GpPath*,GDIPCONST GpPoint*,INT,REAL); +GpStatus WINGDIPAPI GdipAddPathCurve3(GpPath*,GDIPCONST GpPointF*,INT,INT,INT,REAL); +GpStatus WINGDIPAPI GdipAddPathCurve3I(GpPath*,GDIPCONST GpPoint*,INT,INT,INT,REAL); GpStatus WINGDIPAPI GdipAddPathEllipse(GpPath*,REAL,REAL,REAL,REAL); GpStatus WINGDIPAPI GdipAddPathEllipseI(GpPath*,INT,INT,INT,INT); GpStatus WINGDIPAPI GdipAddPathLine(GpPath*,REAL,REAL,REAL,REAL);