gdiplus: Some tests for LinearGradientBrush.
This commit is contained in:
parent
17db41c349
commit
8496db4976
|
@ -283,6 +283,67 @@ static void test_texturewrap(void)
|
|||
ReleaseDC(0, hdc);
|
||||
}
|
||||
|
||||
static void test_gradientgetrect(void)
|
||||
{
|
||||
GpLineGradient *brush;
|
||||
GpRectF rectf;
|
||||
GpStatus status;
|
||||
GpPointF pt1, pt2;
|
||||
|
||||
pt1.X = pt1.Y = 1.0;
|
||||
pt2.X = pt2.Y = 100.0;
|
||||
status = GdipCreateLineBrush(&pt1, &pt2, 0, 0, WrapModeTile, &brush);
|
||||
expect(Ok, status);
|
||||
memset(&rectf, 0, sizeof(GpRectF));
|
||||
status = GdipGetLineRect(brush, &rectf);
|
||||
expect(Ok, status);
|
||||
expectf(1.0, rectf.X);
|
||||
expectf(1.0, rectf.Y);
|
||||
expectf(99.0, rectf.Width);
|
||||
expectf(99.0, rectf.Height);
|
||||
status = GdipDeleteBrush((GpBrush*)brush);
|
||||
/* vertical gradient */
|
||||
pt1.X = pt1.Y = pt2.X = 0.0;
|
||||
pt2.Y = 10.0;
|
||||
status = GdipCreateLineBrush(&pt1, &pt2, 0, 0, WrapModeTile, &brush);
|
||||
expect(Ok, status);
|
||||
memset(&rectf, 0, sizeof(GpRectF));
|
||||
status = GdipGetLineRect(brush, &rectf);
|
||||
expect(Ok, status);
|
||||
todo_wine expectf(-5.0, rectf.X);
|
||||
expectf(0.0, rectf.Y);
|
||||
todo_wine expectf(10.0, rectf.Width);
|
||||
expectf(10.0, rectf.Height);
|
||||
status = GdipDeleteBrush((GpBrush*)brush);
|
||||
/* horizontal gradient */
|
||||
pt1.X = pt1.Y = pt2.Y = 0.0;
|
||||
pt2.X = 10.0;
|
||||
status = GdipCreateLineBrush(&pt1, &pt2, 0, 0, WrapModeTile, &brush);
|
||||
expect(Ok, status);
|
||||
memset(&rectf, 0, sizeof(GpRectF));
|
||||
status = GdipGetLineRect(brush, &rectf);
|
||||
expect(Ok, status);
|
||||
expectf(0.0, rectf.X);
|
||||
todo_wine expectf(-5.0, rectf.Y);
|
||||
expectf(10.0, rectf.Width);
|
||||
todo_wine expectf(10.0, rectf.Height);
|
||||
status = GdipDeleteBrush((GpBrush*)brush);
|
||||
/* from rect with LinearGradientModeHorizontal */
|
||||
rectf.X = rectf.Y = 10.0;
|
||||
rectf.Width = rectf.Height = 100.0;
|
||||
status = GdipCreateLineBrushFromRect(&rectf, 0, 0, LinearGradientModeHorizontal,
|
||||
WrapModeTile, &brush);
|
||||
expect(Ok, status);
|
||||
memset(&rectf, 0, sizeof(GpRectF));
|
||||
status = GdipGetLineRect(brush, &rectf);
|
||||
expect(Ok, status);
|
||||
expectf(10.0, rectf.X);
|
||||
expectf(10.0, rectf.Y);
|
||||
expectf(100.0, rectf.Width);
|
||||
expectf(100.0, rectf.Height);
|
||||
status = GdipDeleteBrush((GpBrush*)brush);
|
||||
}
|
||||
|
||||
START_TEST(brush)
|
||||
{
|
||||
struct GdiplusStartupInput gdiplusStartupInput;
|
||||
|
@ -303,6 +364,7 @@ START_TEST(brush)
|
|||
test_getgamma();
|
||||
test_transform();
|
||||
test_texturewrap();
|
||||
test_gradientgetrect();
|
||||
|
||||
GdiplusShutdown(gdiplusToken);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue