Remap zero-pages when decomitting a page range (based on a patch by
[wine/testsucceed.git] / include / monthcal.h
blob556fc9f36a861f7d904886a37b005bf48dc8d1f3
1 /*
2 * Month calendar class extra info
4 * Copyright 1998 Eric Kohl
5 * Copyright 1999 Alex Priem
6 */
8 #ifndef __WINE_MONTHCAL_H
9 #define __WINE_MONTHCAL_H
11 #include "commctrl.h"
12 #include "windef.h"
13 #include "wingdi.h"
15 #define MC_SEL_LBUTUP 0 /* Left button released */
16 #define MC_SEL_LBUTDOWN 1 /* Left button pressed in calendar */
17 #define MC_PREVPRESSED 1 /* Prev month button pressed */
18 #define MC_NEXTPRESSED 2 /* Next month button pressed */
19 #define MC_NEXTMONTHDELAY 500 /* when continuously pressing `next */
20 /* month', wait 500 ms before going */
21 /* to the next month */
22 #define MC_NEXTMONTHTIMER 1 /* Timer ID's */
23 #define MC_PREVMONTHTIMER 2
25 typedef struct tagMONTHCAL_INFO
27 COLORREF bk;
28 COLORREF txt;
29 COLORREF titlebk;
30 COLORREF titletxt;
31 COLORREF monthbk;
32 COLORREF trailingtxt;
33 HFONT hFont;
34 HFONT hBoldFont;
35 int textHeight;
36 int textWidth;
37 int firstDayplace; /* place of the first day of the current month */
38 int delta; /* scroll rate; # of months that the */
39 /* control moves when user clicks a scroll button */
40 int visible; /* # of months visible */
41 int firstDay; /* Start month calendar with firstDay's day */
42 int monthRange;
43 MONTHDAYSTATE *monthdayState;
44 SYSTEMTIME todaysDate;
45 DWORD currentMonth;
46 DWORD currentYear;
47 int status; /* See MC_SEL flags */
48 int curSelDay; /* current selected day */
49 int firstSelDay; /* first selected day */
50 int maxSelCount;
51 SYSTEMTIME minSel;
52 SYSTEMTIME maxSel;
53 DWORD rangeValid;
54 SYSTEMTIME minDate;
55 SYSTEMTIME maxDate;
57 RECT rcClient; /* rect for whole client area */
58 RECT title; /* rect for the header above the calendar */
59 RECT titlebtnnext; /* the `next month' button in the header */
60 RECT titlebtnprev; /* the `prev month' button in the header */
61 RECT titlemonth; /* the `month name' txt in the header */
62 RECT titleyear; /* the `year number' txt in the header */
63 RECT prevmonth; /* day numbers of the previous month */
64 RECT nextmonth; /* day numbers of the next month */
65 RECT days; /* week numbers at left side */
66 RECT weeknums; /* week numbers at left side */
67 RECT today; /* `today: xx/xx/xx' text rect */
68 } MONTHCAL_INFO, *LPMONTHCAL_INFO;
71 extern void MONTHCAL_CopyTime (const SYSTEMTIME *from, SYSTEMTIME *to);
72 extern int MONTHCAL_CalculateDayOfWeek (DWORD day, DWORD month, DWORD year);
73 extern char *daytxt[];
74 extern char *monthtxt[];
75 extern void MONTHCAL_Register (void);
76 extern void MONTHCAL_Unregister (void);
78 #endif /* __WINE_MONTHCAL_H */