Added get_page_size function.
[wine] / include / monthcal.h
1 /*
2  * Month calendar class extra info
3  *
4  * Copyright 1998 Eric Kohl
5  * Copyright 1999 Alex Priem
6  */
7
8 #ifndef __WINE_MONTHCAL_H
9 #define __WINE_MONTHCAL_H
10
11 #include "commctrl.h"
12 #include "windef.h"
13 #include "wingdi.h"
14
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                   
24
25 typedef struct tagMONTHCAL_INFO
26 {
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;
56                 
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;
69
70
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);
77
78 #endif  /* __WINE_MONTHCAL_H */