summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSøren Sandmann Pedersen <ssp@redhat.com>2013-02-25 01:07:57 -0500
committerSøren Sandmann Pedersen <ssp@redhat.com>2013-02-25 01:07:57 -0500
commitca87394636ad098ed9391a3ec31e29002a474e6f (patch)
tree40129839e565819bb17388bdb19ce3e020d788c3
parent642431ffe77f357d2f57a0b8eb16f52f2895dac3 (diff)
asdf
-rw-r--r--clusters.c66
1 files changed, 34 insertions, 32 deletions
diff --git a/clusters.c b/clusters.c
index ef80ee3..e5ccc69 100644
--- a/clusters.c
+++ b/clusters.c
@@ -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;