]> Pileus Git - lackey/blobdiff - src/date.h
Add event selection to day and week views
[lackey] / src / date.h
index df5f250c0bb9b4ae6e1f509386a01523103210b8..7a0c8ac8370efebfd4ec1d330a3ef432655f10e9 100644 (file)
@@ -1,16 +1,16 @@
 /*
- * Copyright (C) 2012 Andy Spencer <andy753421@gmail.com>
- * 
+ * Copyright (C) 2012-2013 Andy Spencer <andy753421@gmail.com>
+ *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation, either version 3 of the License, or
  * (at your option) any later version.
- * 
+ *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
@@ -22,6 +22,7 @@ typedef int year_t;
 typedef int day_t;
 typedef int hour_t;
 typedef int min_t;
+typedef int sec_t;
 
 typedef enum {
        JAN =  0,
@@ -54,15 +55,16 @@ typedef struct {
        day_t   day;
        hour_t  hour;
        min_t   min;
+       sec_t   sec;
 } date_t;
 
 /* Global data */
-extern year_t  YEAR;
-extern month_t MONTH;
-extern day_t   DAY;
+extern date_t NOW; // current wall clock time, refreshed at 10 Hz
+extern date_t SEL; // date and time the user is looking at
 
 /* Initialize */
 void date_init(void);
+void date_sync(void);
 
 /* Time functions */
 int is_leap_year(year_t year);
@@ -77,14 +79,16 @@ void add_months(year_t *year, month_t *month, int months);
 
 stamp_t get_stamp(date_t *date);
 int get_mins(date_t *start, date_t *end);
+int compare(date_t *a, date_t *b);
+int same_day(date_t *a, date_t *b);
 int before(date_t *start, int year, int month, int day, int hour, int min);
 
+int all_day(date_t *start, date_t *end);
+int no_date(date_t *date);
+
 /* Time to string functions */
 const char *month_to_str(month_t month);
 const char *month_to_string(month_t month);
 const char *day_to_st(wday_t day);
 const char *day_to_str(wday_t day);
 const char *day_to_string(wday_t day);
-
-/* Tests */
-void date_test(void);