text: #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);
  }
  