gdiplus: Store the rect passed to GdipCreateLineBrushFromRect.

This commit is contained in:
Vincent Povirk 2009-05-07 11:40:13 -05:00 committed by Alexandre Julliard
parent 173a1f6f79
commit aaee4d7f9d
2 changed files with 11 additions and 5 deletions

View file

@ -301,6 +301,7 @@ GpStatus WINGDIPAPI GdipCreateLineBrushFromRect(GDIPCONST GpRectF* rect,
GpLineGradient **line) GpLineGradient **line)
{ {
GpPointF start, end; GpPointF start, end;
GpStatus stat;
TRACE("(%p, %x, %x, %d, %d, %p)\n", rect, startcolor, endcolor, mode, TRACE("(%p, %x, %x, %d, %d, %p)\n", rect, startcolor, endcolor, mode,
wrap, line); wrap, line);
@ -313,7 +314,12 @@ GpStatus WINGDIPAPI GdipCreateLineBrushFromRect(GDIPCONST GpRectF* rect,
end.X = rect->X + rect->Width; end.X = rect->X + rect->Width;
end.Y = rect->Y + rect->Height; end.Y = rect->Y + rect->Height;
return GdipCreateLineBrush(&start, &end, startcolor, endcolor, wrap, line); stat = GdipCreateLineBrush(&start, &end, startcolor, endcolor, wrap, line);
if (stat == Ok)
(*line)->rect = *rect;
return stat;
} }
GpStatus WINGDIPAPI GdipCreateLineBrushFromRectI(GDIPCONST GpRect* rect, GpStatus WINGDIPAPI GdipCreateLineBrushFromRectI(GDIPCONST GpRect* rect,

View file

@ -379,10 +379,10 @@ static void test_gradientgetrect(void)
memset(&rectf, 0, sizeof(GpRectF)); memset(&rectf, 0, sizeof(GpRectF));
status = GdipGetLineRect(brush, &rectf); status = GdipGetLineRect(brush, &rectf);
expect(Ok, status); expect(Ok, status);
todo_wine expectf(10.0, rectf.X); expectf(10.0, rectf.X);
todo_wine expectf(10.0, rectf.Y); expectf(10.0, rectf.Y);
todo_wine expectf(-100.0, rectf.Width); expectf(-100.0, rectf.Width);
todo_wine expectf(-100.0, rectf.Height); expectf(-100.0, rectf.Height);
status = GdipDeleteBrush((GpBrush*)brush); status = GdipDeleteBrush((GpBrush*)brush);
} }