forked from stevencohn/OneMore
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathICalendarView.cs
72 lines (58 loc) · 1.71 KB
/
ICalendarView.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
//************************************************************************************************
// Copyright © 2021 Steven M. Cohn. All Rights Reserved.
//************************************************************************************************
namespace OneMoreCalendar
{
using System;
using System.Drawing;
internal delegate void CalendarDayHandler(object sender, CalendarDayEventArgs e);
internal delegate void CalendarHoverHandler(object sender, CalendarPageEventArgs e);
internal delegate void CalendarPageHandler(object sender, CalendarPageEventArgs e);
internal delegate void CalendarSnapshotHandler(object sender, CalendarSnapshotEventArgs e);
/// <summary>
///
/// </summary>
internal class CalendarDayEventArgs : EventArgs
{
public CalendarDayEventArgs(DateTime dayDate)
: base()
{
DayDate = dayDate;
}
public DateTime DayDate { get; private set; }
}
/// <summary>
///
/// </summary>
internal class CalendarPageEventArgs : EventArgs
{
public CalendarPageEventArgs(CalendarPage page)
: base()
{
Page = page;
}
public CalendarPage Page { get; private set; }
}
internal class CalendarSnapshotEventArgs : EventArgs
{
public CalendarSnapshotEventArgs(CalendarPage page, Rectangle bounds)
: base()
{
Page = page;
Bounds = bounds;
}
public CalendarPage Page { get; private set; }
public Rectangle Bounds { get; private set; }
}
/// <summary>
///
/// </summary>
internal interface ICalendarView
{
event CalendarDayHandler ClickedDay;
event CalendarHoverHandler HoverPage;
event CalendarPageHandler ClickedPage;
event CalendarSnapshotHandler SnappedPage;
void SetRange(DateTime startDate, DateTime endDate, CalendarPages pages);
}
}