ultimatepp/examples/PainterExamples/Curves.cpp
cxl 91e75c2404 Painter1.0 to archive
git-svn-id: svn://ultimatepp.org/upp/trunk@855 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2009-02-12 16:30:42 +00:00

47 lines
1.4 KiB
C++

#include "Examples.h"
void Triangle(Painter& sw)
{
sw.Move(100, 100).Line(300, 102).Line(200, 300).Fill(Red()).Stroke(3, Blue());
sw.Translate(500, 0);
sw.Move(100, 100).Line(300, 102).Line(200, 300).Fill(Red()).Dash("10").Stroke(5, Blue());
}
void Cubic(Painter& sw)
{
sw.Move(100, 200).Cubic(100, 100, 250, 100, 250, 200).Cubic(400, 300, 400, 200)
.Stroke(2, Red());
}
void CubicDashed(Painter& sw)
{
sw.Move(100, 200).Cubic(100, 100, 250, 100, 250, 200).Cubic(400, 300, 400, 200)
.Dash("4")
.Stroke(2, Red());
}
void Cubics(Painter& sw)
{
sw.Begin();
sw.Scale(0.5);
sw.Path("M100,200 C100,100 400,100 400,200").Stroke(5, Red());
sw.Path("M100,500 C25,400 475,400 400,500").Stroke(5, Red());
sw.Path("M100,800 C175,700 325,700 400,800").Stroke(5, Red());
sw.Path("M600,200 C675,100 975,100 900,200").Stroke(5, Red());
sw.Path("M600,500 C600,350 900,650 900,500").Stroke(5, Red());
sw.Path("M600,800 C625,700 725,700 750,800 S875,900 900,800").Stroke(5, Red());
sw.End();
}
void Quadratic(Painter& sw)
{
sw.Move(200, 300).Quadratic(400, 50, 600, 300).Quadratic(1000, 300).Stroke(10, Blue());
}
INITBLOCK {
RegisterExample("Path: Move, Line, Fill, Stroke", Triangle);
RegisterExample("Path: Cubic", Cubic);
RegisterExample("Path: Cubic, Dashed stroke", CubicDashed);
RegisterExample("Path: Cubics, using Path", Cubics);
RegisterExample("Path: Quadratic", Quadratic);
}