private void DrawDay(PaintEventArgs e, Rectangle rect, DateTime time)
{
//renderer.DrawDayBackground(e.Graphics, rect);
Rectangle workingHoursRectangle = GetHourRangeRectangle(workStart, workEnd, rect);
if (workingHoursRectangle.Y < this.HeaderHeight)
{
workingHoursRectangle.Y = this.HeaderHeight;
}
if (!((time.DayOfWeek == DayOfWeek.Saturday) || (time.DayOfWeek == DayOfWeek.Sunday))) //weekends off -> no working hours
{
renderer.DrawHourRange(e.Graphics, workingHoursRectangle, false, false);
}
if ((selection == SelectionType.DateRange) && (time.Day == selectionStart.Day))
{
Rectangle selectionRectangle = GetHourRangeRectangle(selectionStart, selectionEnd, rect);
renderer.DrawHourRange(e.Graphics, selectionRectangle, false, true);
}
e.Graphics.SetClip(rect);
for (int hour = 0; hour < 24 * 2; hour++)
{
int y = rect.Top + (hour * halfHourHeight) - scrollbar.Value;
using (Pen pen = new Pen(((hour % 2) == 0 ? renderer.HourSeperatorColor : renderer.HalfHourSeperatorColor)))
e.Graphics.DrawLine(pen, rect.Left, y, rect.Right, y);
if (y > rect.Bottom)
{
break;
}
}
renderer.DrawDayGripper(e.Graphics, rect, appointmentGripWidth);
e.Graphics.ResetClip();
DrawAppointments(e, rect, time);
}