Added more drawing tests
|
@ -74,6 +74,25 @@ namespace Xwt
|
|||
CheckImage ("Line.png");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void LineWidth ()
|
||||
{
|
||||
InitBlank ();
|
||||
context.MoveTo (10, 20.5);
|
||||
context.LineTo (40, 20.5);
|
||||
context.SetLineWidth (1);
|
||||
context.Stroke ();
|
||||
context.MoveTo (10, 25);
|
||||
context.LineTo (40, 25);
|
||||
context.SetLineWidth (2);
|
||||
context.Stroke ();
|
||||
context.MoveTo (10, 30);
|
||||
context.LineTo (40, 30);
|
||||
context.SetLineWidth (4);
|
||||
context.Stroke ();
|
||||
CheckImage ("LineWidth.png");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Rectangle ()
|
||||
{
|
||||
|
@ -83,6 +102,147 @@ namespace Xwt
|
|||
CheckImage ("Rectangle.png");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void RectangleFill ()
|
||||
{
|
||||
InitBlank ();
|
||||
context.Rectangle (1, 1, 20, 20);
|
||||
context.SetColor (Colors.Blue);
|
||||
context.Fill ();
|
||||
CheckImage ("RectangleFill.png");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void FillPreserve ()
|
||||
{
|
||||
InitBlank ();
|
||||
context.Rectangle (1, 1, 20, 20);
|
||||
context.SetColor (Colors.Yellow);
|
||||
context.FillPreserve ();
|
||||
context.SetColor (Colors.Blue);
|
||||
context.SetLineWidth (2);
|
||||
context.Stroke ();
|
||||
CheckImage ("FillPreserve.png");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void StrokePreserve ()
|
||||
{
|
||||
InitBlank ();
|
||||
context.MoveTo (10, 25);
|
||||
context.LineTo (40, 25);
|
||||
context.SetColor (Colors.Blue);
|
||||
context.SetLineWidth (10);
|
||||
context.StrokePreserve ();
|
||||
context.SetLineWidth (5);
|
||||
context.SetColor (Colors.Yellow);
|
||||
context.Stroke ();
|
||||
CheckImage ("StrokePreserve.png");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Arc ()
|
||||
{
|
||||
InitBlank ();
|
||||
context.Arc (25, 25, 20, 0, 90);
|
||||
context.SetColor (Colors.Black);
|
||||
context.Stroke ();
|
||||
CheckImage ("Arc.png");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ArcStartingNegative ()
|
||||
{
|
||||
InitBlank ();
|
||||
context.Arc (25, 25, 20, -45, 45);
|
||||
context.SetColor (Colors.Black);
|
||||
context.Stroke ();
|
||||
CheckImage ("ArcStartingNegative.png");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ArcSwappedAngles ()
|
||||
{
|
||||
InitBlank ();
|
||||
context.Arc (25, 25, 20, 300, 0);
|
||||
context.SetColor (Colors.Black);
|
||||
context.Stroke ();
|
||||
CheckImage ("ArcSwappedAngles.png");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ArcMultipleLoops ()
|
||||
{
|
||||
InitBlank ();
|
||||
context.Arc (25, 25, 20, 0, 360 + 180);
|
||||
context.SetColor (Colors.Black.WithAlpha (0.5));
|
||||
context.SetLineWidth (5);
|
||||
context.Stroke ();
|
||||
CheckImage ("ArcMultipleLoops.png");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ArcFill ()
|
||||
{
|
||||
InitBlank ();
|
||||
context.Arc (25, 25, 20, 0, 135);
|
||||
context.SetColor (Colors.Black);
|
||||
context.Fill ();
|
||||
CheckImage ("ArcFill.png");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ArcNegative ()
|
||||
{
|
||||
InitBlank ();
|
||||
context.ArcNegative (25, 25, 20, 0, 90);
|
||||
context.SetColor (Colors.Black);
|
||||
context.Stroke ();
|
||||
CheckImage ("ArcNegative.png");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ArcNegativeStartingNegative ()
|
||||
{
|
||||
InitBlank ();
|
||||
context.ArcNegative (25, 25, 20, -45, 45);
|
||||
context.SetColor (Colors.Black);
|
||||
context.Stroke ();
|
||||
CheckImage ("ArcNegativeStartingNegative.png");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ArcNegativeSwappedAngles ()
|
||||
{
|
||||
InitBlank ();
|
||||
context.ArcNegative (25, 25, 20, 300, 0);
|
||||
context.SetColor (Colors.Black);
|
||||
context.Stroke ();
|
||||
CheckImage ("ArcNegativeSwappedAngles.png");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ArcNegativeMultipleLoops ()
|
||||
{
|
||||
InitBlank ();
|
||||
context.ArcNegative (25, 25, 20, 0, 360 + 180);
|
||||
context.SetColor (Colors.Black.WithAlpha (0.5));
|
||||
context.SetLineWidth (5);
|
||||
context.Stroke ();
|
||||
CheckImage ("ArcNegativeMultipleLoops.png");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ArcNegativeFill ()
|
||||
{
|
||||
InitBlank ();
|
||||
context.ArcNegative (25, 25, 20, 0, 135);
|
||||
context.SetColor (Colors.Black);
|
||||
context.Fill ();
|
||||
CheckImage ("ArcNegativeFill.png");
|
||||
}
|
||||
|
||||
|
||||
[Test]
|
||||
public void ImagePattern ()
|
||||
{
|
||||
|
@ -105,6 +265,89 @@ namespace Xwt
|
|||
context.Fill ();
|
||||
CheckImage ("ImagePatternWithTranslateTransform.png");
|
||||
}
|
||||
|
||||
void DrawSimplePattern ()
|
||||
{
|
||||
context.Rectangle (0, 0, 20, 20);
|
||||
context.SetColor (Colors.Red);
|
||||
context.Fill ();
|
||||
context.Rectangle (20, 0, 20, 20);
|
||||
context.SetColor (Colors.Blue);
|
||||
context.Fill ();
|
||||
context.Rectangle (0, 20, 20, 20);
|
||||
context.SetColor (Colors.Green);
|
||||
context.Fill ();
|
||||
context.Rectangle (20, 20, 20, 20);
|
||||
context.SetColor (Colors.Yellow);
|
||||
context.Fill ();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Clip ()
|
||||
{
|
||||
InitBlank ();
|
||||
|
||||
context.Rectangle (15, 15, 20, 20);
|
||||
context.Clip ();
|
||||
DrawSimplePattern ();
|
||||
|
||||
CheckImage ("Clip.png");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ClipAccumulated ()
|
||||
{
|
||||
InitBlank ();
|
||||
|
||||
context.Rectangle (15, 15, 20, 20);
|
||||
context.Clip ();
|
||||
context.Rectangle (0, 0, 20, 20);
|
||||
context.Clip ();
|
||||
DrawSimplePattern ();
|
||||
|
||||
CheckImage ("ClipAccumulated.png");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ClipPreserve ()
|
||||
{
|
||||
InitBlank ();
|
||||
|
||||
DrawSimplePattern ();
|
||||
context.Rectangle (15, 15, 20, 20);
|
||||
context.ClipPreserve ();
|
||||
context.SetColor (Colors.Violet);
|
||||
context.Fill ();
|
||||
|
||||
CheckImage ("ClipPreserve.png");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ClipSaveRestore ()
|
||||
{
|
||||
InitBlank ();
|
||||
context.Rectangle (15, 15, 20, 20);
|
||||
context.Clip ();
|
||||
context.Save ();
|
||||
context.Rectangle (0, 0, 20, 20);
|
||||
context.Clip ();
|
||||
context.Restore ();
|
||||
DrawSimplePattern ();
|
||||
CheckImage ("ClipSaveRestore.png");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void NewPath ()
|
||||
{
|
||||
InitBlank ();
|
||||
context.MoveTo (1, 1.5);
|
||||
context.LineTo (20, 1.5);
|
||||
context.NewPath ();
|
||||
context.MoveTo (0, 0);
|
||||
context.LineTo (20, 20);
|
||||
context.Stroke ();
|
||||
CheckImage ("NewPath.png");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
После Ширина: | Высота: | Размер: 529 B |
После Ширина: | Высота: | Размер: 666 B |
После Ширина: | Высота: | Размер: 1.6 KiB |
После Ширина: | Высота: | Размер: 1.1 KiB |
После Ширина: | Высота: | Размер: 867 B |
После Ширина: | Высота: | Размер: 996 B |
После Ширина: | Высота: | Размер: 1021 B |
После Ширина: | Высота: | Размер: 1.2 KiB |
После Ширина: | Высота: | Размер: 521 B |
После Ширина: | Высота: | Размер: 449 B |
После Ширина: | Высота: | Размер: 202 B |
После Ширина: | Высота: | Размер: 183 B |
После Ширина: | Высота: | Размер: 234 B |
После Ширина: | Высота: | Размер: 202 B |
После Ширина: | Высота: | Размер: 195 B |
После Ширина: | Высота: | Размер: 190 B |
После Ширина: | Высота: | Размер: 277 B |
После Ширина: | Высота: | Размер: 180 B |
После Ширина: | Высота: | Размер: 217 B |
|
@ -94,6 +94,63 @@
|
|||
<EmbeddedResource Include="ReferenceImages\ImagePatternWithTranslateTransform.png">
|
||||
<LogicalName>ImagePatternWithTranslateTransform.png</LogicalName>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ReferenceImages\Clip.png">
|
||||
<LogicalName>Clip.png</LogicalName>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ReferenceImages\ClipAccumulated.png">
|
||||
<LogicalName>ClipAccumulated.png</LogicalName>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ReferenceImages\ClipPreserve.png">
|
||||
<LogicalName>ClipPreserve.png</LogicalName>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ReferenceImages\ClipSaveRestore.png">
|
||||
<LogicalName>ClipSaveRestore.png</LogicalName>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ReferenceImages\ArcMultipleLoops.png">
|
||||
<LogicalName>ArcMultipleLoops.png</LogicalName>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ReferenceImages\ArcStartingNegative.png">
|
||||
<LogicalName>ArcStartingNegative.png</LogicalName>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ReferenceImages\ArcSwappedAngles.png">
|
||||
<LogicalName>ArcSwappedAngles.png</LogicalName>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ReferenceImages\RectangleFill.png">
|
||||
<LogicalName>RectangleFill.png</LogicalName>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ReferenceImages\ArcFill.png">
|
||||
<LogicalName>ArcFill.png</LogicalName>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ReferenceImages\ArcNegative.png">
|
||||
<LogicalName>ArcNegative.png</LogicalName>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ReferenceImages\Arc.png">
|
||||
<LogicalName>Arc.png</LogicalName>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ReferenceImages\ArcNegativeFill.png">
|
||||
<LogicalName>ArcNegativeFill.png</LogicalName>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ReferenceImages\ArcNegativeMultipleLoops.png">
|
||||
<LogicalName>ArcNegativeMultipleLoops.png</LogicalName>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ReferenceImages\ArcNegativeStartingNegative.png">
|
||||
<LogicalName>ArcNegativeStartingNegative.png</LogicalName>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ReferenceImages\ArcNegativeSwappedAngles.png">
|
||||
<LogicalName>ArcNegativeSwappedAngles.png</LogicalName>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ReferenceImages\FillPreserve.png">
|
||||
<LogicalName>FillPreserve.png</LogicalName>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ReferenceImages\NewPath.png">
|
||||
<LogicalName>NewPath.png</LogicalName>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ReferenceImages\StrokePreserve.png">
|
||||
<LogicalName>StrokePreserve.png</LogicalName>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ReferenceImages\LineWidth.png">
|
||||
<LogicalName>LineWidth.png</LogicalName>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ProjectExtensions>
|
||||
<MonoDevelop>
|
||||
|
|