void HatchWave(CGContext context)
{
var hatchWidth = getHatchWidth (hatchStyle);
var hatchHeight = getHatchHeight (hatchStyle);
var lineWidth = getLineWidth (hatchStyle);
initializeContext(context, hatchHeight, false);
/* draw background */
drawBackground (context, backColor, hatchWidth, hatchHeight);
/* draw lines in the foreground color */
context.SetFillColor(foreColor.ToCGColor());
CGRect rect = new CGRect (0,0,1,1);
// We could maybe draw some arcs here but there are so few pixels
// that it just is not worth it.
rect.X = 1;
setPixels(context, rect);
rect.X = 2;
setPixels(context, rect);
rect.Y = 1;
rect.X = 0;
setPixels(context, rect);
rect.X = 3;
setPixels(context, rect);
rect.X = 6;
setPixels(context, rect);
rect.Y = 2;
rect.X = 4;
setPixels(context, rect);
rect.X = 5;
setPixels(context, rect);
}