diff options
author | Søren Sandmann Pedersen <ssp@redhat.com> | 2013-02-25 01:07:57 -0500 |
---|---|---|
committer | Søren Sandmann Pedersen <ssp@redhat.com> | 2013-02-25 01:07:57 -0500 |
commit | ca87394636ad098ed9391a3ec31e29002a474e6f (patch) | |
tree | 40129839e565819bb17388bdb19ce3e020d788c3 | |
parent | 642431ffe77f357d2f57a0b8eb16f52f2895dac3 (diff) |
asdf
-rw-r--r-- | clusters.c | 66 |
1 files changed, 34 insertions, 32 deletions
@@ -17,15 +17,15 @@ sample_exp (double lambda) #define FALSE 0 #define TRUE 1 -#define WIDTH 6000 +#define WIDTH 12000 #define HEIGHT 20 -#define N_YEARS 10 -#define DEATHS_PER_YEAR 10 +#define N_YEARS 20 +#define DEATHS_PER_YEAR 7 #define BG_COLOR 1, 1, 1 -#define CLUSTER_WIDTH 10.0 -#define CLUSTER_COLOR 0.0, 0.6, 0.3, 0.4 -#define LINE_WIDTH 1.0 +#define CLUSTER_WIDTH 16.0 +#define CLUSTER_COLOR 0.2, 0.5, 0.3, 0.4 +#define LINE_WIDTH 2.0 #define LINE_COLOR 0.0, 0.0, 0.0 #define DEATH_WIDTH 1.0 #define DEATH_COLOR 0.0, 0.0, 0.0 @@ -81,32 +81,6 @@ main () cairo_move_to (cr, 0.0, y); - for (i = 1; i < n_deaths; ++i) - { - double d0 = deaths[i - 1]; - double d1 = deaths[i]; - double x0 = (d0 / N_YEARS) * WIDTH; - double x1 = (d1 / N_YEARS) * WIDTH; - - cairo_set_line_width (cr, LINE_WIDTH); - cairo_set_source_rgb (cr, LINE_COLOR); - cairo_move_to (cr, x0, y); - cairo_line_to (cr, x1, y); - cairo_stroke (cr); - } - - for (i = 0; i < n_deaths; ++i) - { - double d = deaths[i]; - double x = (d / N_YEARS) * WIDTH; - - cairo_set_line_width (cr, DEATH_WIDTH); - cairo_move_to (cr, x, (0.5 - DEATH_HEIGHT / 2.0) * HEIGHT); - cairo_line_to (cr, x, (0.5 + DEATH_HEIGHT / 2.0) * HEIGHT); - cairo_set_source_rgb (cr, DEATH_COLOR); - cairo_stroke (cr); - } - in_cluster = 0; for (i = 1; i < n_deaths; ++i) { @@ -123,17 +97,45 @@ main () { double x1 = (d0 / N_YEARS) * WIDTH; + cairo_save (cr); cairo_set_line_cap (cr, CAIRO_LINE_CAP_SQUARE); cairo_move_to (cr, cluster_x0, y); cairo_line_to (cr, x1, y); cairo_set_line_width (cr, CLUSTER_WIDTH); cairo_set_source_rgba (cr, CLUSTER_COLOR); cairo_stroke (cr); + cairo_restore (cr); in_cluster = 0; } } + for (i = 1; i < n_deaths; ++i) + { + double d0 = deaths[i - 1]; + double d1 = deaths[i]; + double x0 = (d0 / N_YEARS) * WIDTH; + double x1 = (d1 / N_YEARS) * WIDTH; + + cairo_set_line_width (cr, LINE_WIDTH); + cairo_set_source_rgb (cr, LINE_COLOR); + cairo_move_to (cr, x0, y + 4); + cairo_line_to (cr, x1, y + 4); + cairo_stroke (cr); + } + + for (i = 0; i < n_deaths; ++i) + { + double d = deaths[i]; + double x = (d / N_YEARS) * WIDTH; + + cairo_set_line_width (cr, DEATH_WIDTH); + cairo_move_to (cr, x, (0.5 - DEATH_HEIGHT / 2.0) * HEIGHT); + cairo_line_to (cr, x, (0.5 + DEATH_HEIGHT / 2.0) * HEIGHT); + cairo_set_source_rgb (cr, DEATH_COLOR); + cairo_stroke (cr); + } + cairo_surface_write_to_png (surface, "diagram.png"); return 0; |