Add to git.
[monolith.git] / calendar / ml_calendar_lib.h
1 /* Monolith calendar widget.
2  * - by Richard W.M. Jones <rich@annexia.org>
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Library General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Library General Public License for more details.
13  *
14  * You should have received a copy of the GNU Library General Public
15  * License along with this library; if not, write to the Free
16  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17  *
18  * $Id: ml_calendar_lib.h,v 1.4 2003/02/22 12:56:24 rich Exp $
19  */
20
21 #ifndef ML_CALENDAR_LIB_H
22 #define ML_CALENDAR_LIB_H
23
24 extern const char *_ml_calendar_text_month (int mm);
25 extern inline int
26 _ml_calendar_days_in_month (int mm, int yyyy)
27 {
28   int is_leap_year;
29   static int dm[] = { 0, 31, 0, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
30
31   if (mm != 2) return dm[mm];
32   is_leap_year = ((yyyy % 4 == 0) && (yyyy % 100 != 0))
33     || (yyyy % 400 == 0);
34   return is_leap_year ? 29 : 28;
35 }
36 extern int _ml_calendar_first_wday_of_month (int mm, int yyyy);
37 extern const char *_ml_calendar_colour (int resid);
38
39 #endif /* ML_CALENDAR_LIB_H */