public void RunOnce(GDIRenderer aPort)
{
// Do some path stuff
GPath aPath = new GPath();
aPath.Begin();
aPath.MoveTo(10, 10, false);
aPath.LineTo(10, 100, false);
aPath.LineTo(100, 100, true);
aPath.End();
GDIBrush pathBrush = new GDIBrush(BrushStyle.Solid, HatchStyle.BDiagonal, RGBColor.Cyan, Guid.NewGuid());
aPort.FillPath(pathBrush, aPath);
GDIPen pathPen = new GDIPen(PenType.Geometric,
PenStyle.Solid,
PenJoinStyle.Round,
PenEndCap.Round,
RGBColor.Black,
10,
Guid.NewGuid());
//aPort.DrawPath(pathPen, aPath);
// Now use a GDIPath
aPort.SetBkMode((int)BackgroundMixMode.Transparent);
aPort.SetTextColor(RGBColor.Black);
GDIFont aFont = new GDIFont("Impact", 96, Guid.NewGuid());
GDIContext dc = aPort.DeviceContext;
GDIPath gdipath = new GDIPath(dc, Guid.NewGuid());
gdipath.Begin();
aPort.SetFont(aFont);
aPort.DrawString(200, 200, "The Scaled Text");
gdipath.End();
aPort.Flush();
// First fill the text
aPort.FillPath(pathBrush, gdipath);
// Then stroke the path around it
GDIPen textPen = new GDIPen(PenType.Geometric,
PenStyle.Solid,
PenJoinStyle.Round,
PenEndCap.Round,
RGBColor.Black,
2,
Guid.NewGuid());
aPort.DrawPath(textPen, gdipath);
aPort.Flush();
}
}