diff options
| author | foswret <foswret@posteo.com> | 2025-11-18 14:59:54 -0600 |
|---|---|---|
| committer | foswret <foswret@posteo.com> | 2025-11-18 14:59:54 -0600 |
| commit | 36d72aed1800f3e2c514bf264164a6f2a6ba5f5e (patch) | |
| tree | 44aacb0804660a8363d1e7d2c1e1974bab569038 | |
| parent | 8bb9c7ebf9d902774134bc6aa94b0886fbf82933 (diff) | |
removed /include, moved some stuff around
| -rw-r--r-- | 0.pdf | bin | 7285 -> 7286 bytes | |||
| -rw-r--r-- | color.h (renamed from include/color.h) | 0 | ||||
| -rw-r--r-- | date.h (renamed from include/date.h) | 0 | ||||
| -rw-r--r-- | draw.h (renamed from include/draw.h) | 0 | ||||
| -rw-r--r-- | main.c | 67 |
5 files changed, 43 insertions, 24 deletions
| Binary files differ diff --git a/include/color.h b/color.h index e2b4cc0..e2b4cc0 100644 --- a/include/color.h +++ b/color.h @@ -1,34 +1,35 @@ -#include <cairo/cairo-pdf.h> -#include <cairo/cairo.h> +/* Standard Libraries */ #include <string.h> #include <stdio.h> #include <stdlib.h> #include <math.h> #include <ctype.h> #include <unistd.h> -#include "include/color.h" -#include "include/date.h" -#include "include/draw.h" +#include <time.h> + +/* Cairo Libraries */ +#include <cairo/cairo-pdf.h> +#include <cairo/cairo.h> -#define US_LETTER_PAPER_WIDTH 8.5; -#define US_LETTER_PAPER_HEIGHT 11; +/* calp Libraries */ +#include "color.h" +#include "date.h" +#include "draw.h" int main (int argc, char *argv[]) { - int rows = 5; - int columns = 7; - double margin = 0.5; + /* Dimension initialization */ + int rows = 5; /* Number of weeks in a month */ + int columns = 7; /* Number of days in a week */ + double margin = 0.5; /* 0.5" */ int number_of_days = 28; double month_origin_x = margin; double month_origin_y = 3.0; - - double paper_width = US_LETTER_PAPER_WIDTH; - double paper_height = US_LETTER_PAPER_HEIGHT; - + double paper_width = 8.5; + double paper_height = 11; double month_width = paper_width - (month_origin_x * 2); double month_height = paper_height - month_origin_y - margin; - double day_box_width = month_width / columns; double day_box_height = month_height / rows; @@ -44,35 +45,53 @@ int main (int argc, char *argv[]) { margin, /* m */ }; - char date_strings[number_of_days][2]; - char months[12][10] = { + /* Date Setup */ + char *months[] = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }; int days_in_month[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; + const char *weekday_names[] = { + "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" + }; - char weekday_abbr[7][5] = { - "Su", "Mo", "Tue", "Wed", - "Thurs", "Fri", "Sat" + const char *weekdays_abbr[] = { + "Su", "Mo", "Tue", "Wed", "Thurs", "Fri", "Sat" }; - cairo_surface_t * surface = cairo_pdf_surface_create("0.pdf", paper_width * 72, paper_height * 72); + int year = 2025; + int month = 2; + + struct tm day; + day.tm_mon = month - 1; + day.tm_mday = 1; + day.tm_year = year - 1900; + + /* tm.hour, tm_min, & tm_sec are not used, but need to be zeroed. */ + day.tm_hour = 0; + day.tm_min = 0; + day.tm_sec = 0; + + mktime(&day); + + cairo_surface_t * surface = cairo_pdf_surface_create("0.pdf", dim.pw * 72, dim.ph * 72); cairo_t *cr = cairo_create(surface); + cairo_scale(cr, 72, 72); - cairo_set_line_width(cr, 0.03); set_color(cr, "BLACK"); + cairo_set_line_width (cr, 0.03); + draw_calendar(cr, month_origin_x, month_origin_y, dim); set_color(cr, "GRAY"); - draw_numbers(cr, month_origin_x, month_origin_y, dim, 6, number_of_days); + draw_numbers(cr, month_origin_x, month_origin_y, dim, day.tm_wday, number_of_days); draw_month_name(cr, months[1], dim); /* Clean Up */ cairo_destroy(cr); cairo_surface_destroy(surface); - return(0); } |
