public static void PrintMonthHeader(Cairo.Context cr, int year, int month, bool outputMonthHeaderRect = false)
{
if (outputMonthHeaderRect)
{
var MonthHeaderRect = new Rectangle(
MarginLeft, MarginUp,
ContentWidth,
MonthHeader);
cr.Rectangle(MonthHeaderRect);
}
var Month = MonthNames[month];
cr.SetFontSize(MonthHeader * 0.8);
var te = cr.TextExtents(Month);
cr.MoveTo(MarginLeft - te.XBearing,
MarginUp + MonthHeader - ((MonthHeader - te.Height) / 2) - (te.Height + te.YBearing));
cr.ShowText(Month);
te = cr.TextExtents(year.ToString());
cr.MoveTo(width - MarginRight - te.Width - te.XBearing,
MarginUp + MonthHeader - ((MonthHeader - te.Height) / 2) - (te.Height + te.YBearing));
cr.ShowText(year.ToString());
}