diff options
author | Søren Sandmann Pedersen <ssp@redhat.com> | 2013-02-25 02:40:37 -0500 |
---|---|---|
committer | Søren Sandmann Pedersen <ssp@redhat.com> | 2013-02-25 02:40:37 -0500 |
commit | 4574f803e8fc370e748047935bfc708478cf84ef (patch) | |
tree | f50ad0c3d38c005dc77674457bd44113c0649ff9 | |
parent | 671d68dc71dd28c570f92c925c270a7a81f5863d (diff) |
Some changes to pics.c
-rw-r--r-- | pics.c | 85 |
1 files changed, 43 insertions, 42 deletions
@@ -5,11 +5,10 @@ #define SOURCE_COLOR 0.8, 0.3, 0.2 #define DEST_COLOR 0.2, 0.2, 0.4 -#define LIGHT 0.98 -#define DARK 0.95 +#define LIGHT 0.95 +#define DARK 0.87 #define LIGHT_CHECK LIGHT, LIGHT, LIGHT #define DARK_CHECK DARK, DARK, DARK -#define DARKEN (1 - DARK / LIGHT) #define SCALE_FACTOR 0.8 @@ -26,6 +25,9 @@ get_cairo (int width, int height) cr = cairo_create (target); + cairo_set_source_rgb (cr, DARK_CHECK); + cairo_paint (cr); + cairo_scale (cr, SCALE_FACTOR, SCALE_FACTOR); for (i = 0; i < width; i += CHECK_SIZE) @@ -34,12 +36,12 @@ get_cairo (int width, int height) int light = !!(((i / CHECK_SIZE) ^ (j / CHECK_SIZE)) & 1); if (light) - cairo_set_source_rgb (cr, LIGHT_CHECK); - else - cairo_set_source_rgb (cr, DARK_CHECK); + { + cairo_set_source_rgb (cr, LIGHT_CHECK); - cairo_rectangle (cr, i, j, CHECK_SIZE, CHECK_SIZE); - cairo_fill (cr); + cairo_rectangle (cr, i, j, CHECK_SIZE, CHECK_SIZE); + cairo_fill (cr); + } } cairo_push_group (cr); @@ -236,20 +238,20 @@ create_porter_duff_table (void) { static const op_info_t ops[] = { - "Source", CAIRO_OPERATOR_SOURCE, - "Atop", CAIRO_OPERATOR_ATOP, - "Over", CAIRO_OPERATOR_OVER, - "In", CAIRO_OPERATOR_IN, - "Out", CAIRO_OPERATOR_OUT, - - "Dest", CAIRO_OPERATOR_DEST, - "Dest Atop", CAIRO_OPERATOR_DEST_ATOP, - "Dest Over", CAIRO_OPERATOR_DEST_OVER, - "Dest In", CAIRO_OPERATOR_DEST_IN, - "Dest Out", CAIRO_OPERATOR_DEST_OUT, - - "Clear", CAIRO_OPERATOR_CLEAR, - "Xor", CAIRO_OPERATOR_XOR, + { "Source", CAIRO_OPERATOR_SOURCE }, + { "Atop", CAIRO_OPERATOR_ATOP }, + { "Over", CAIRO_OPERATOR_OVER }, + { "In", CAIRO_OPERATOR_IN }, + { "Out", CAIRO_OPERATOR_OUT }, + + { "Dest", CAIRO_OPERATOR_DEST }, + { "Dest Atop", CAIRO_OPERATOR_DEST_ATOP }, + { "Dest Over", CAIRO_OPERATOR_DEST_OVER }, + { "Dest In", CAIRO_OPERATOR_DEST_IN }, + { "Dest Out", CAIRO_OPERATOR_DEST_OUT }, + + { "Clear", CAIRO_OPERATOR_CLEAR }, + { "Xor", CAIRO_OPERATOR_XOR }, }; cairo_t *cr = get_cairo (CELL_WIDTH * 5 + XPAD, @@ -396,20 +398,20 @@ create_color_dodge_table (void) { static const op_info_t ops[] = { - "Clear", CAIRO_OPERATOR_CLEAR, - "Out", CAIRO_OPERATOR_OUT, - "Dest Out", CAIRO_OPERATOR_DEST_OUT, - "Xor", CAIRO_OPERATOR_XOR, - - "In", CAIRO_OPERATOR_IN, - "Source", CAIRO_OPERATOR_SOURCE, - "Atop", CAIRO_OPERATOR_ATOP, - "Over", CAIRO_OPERATOR_OVER, - - "Dest In", CAIRO_OPERATOR_DEST_IN, - "Dest Atop", CAIRO_OPERATOR_DEST_ATOP, - "Dest", CAIRO_OPERATOR_DEST, - "Dest Over", CAIRO_OPERATOR_DEST_OVER, + { "Clear", CAIRO_OPERATOR_CLEAR }, + { "Out", CAIRO_OPERATOR_OUT }, + { "Dest Out", CAIRO_OPERATOR_DEST_OUT }, + { "Xor", CAIRO_OPERATOR_XOR }, + + { "In", CAIRO_OPERATOR_IN, }, + { "Source", CAIRO_OPERATOR_SOURCE }, + { "Atop", CAIRO_OPERATOR_ATOP }, + { "Over", CAIRO_OPERATOR_OVER }, + + { "Dest In", CAIRO_OPERATOR_DEST_IN }, + { "Dest Atop", CAIRO_OPERATOR_DEST_ATOP }, + { "Dest", CAIRO_OPERATOR_DEST }, + { "Dest Over", CAIRO_OPERATOR_DEST_OVER }, }; #define N_ROWS 9 @@ -429,9 +431,9 @@ create_color_dodge_table (void) cairo_translate (cr, 0, 2 * YPAD); - for (i = YPAD; i < CELL_HEIGHT * N_ROWS + 2 * YPAD; i += 2 * CELL_HEIGHT) + for (i = YPAD + CELL_HEIGHT; i < CELL_HEIGHT * N_ROWS + 2 * YPAD; i += 2 * CELL_HEIGHT) { - cairo_set_source_rgba (cr, 0, 0, 0, DARKEN); + cairo_set_source_rgba (cr, 1, 1, 1, 0.3); cairo_rectangle (cr, 0, i, CELL_WIDTH * 4 + XPAD + FIRSTCOL, CELL_HEIGHT); cairo_fill (cr); } @@ -741,7 +743,6 @@ static void color_dodge_none (void) { cairo_t *cr = get_cairo (CELL_WIDTH, CELL_HEIGHT); - cairo_pattern_t *pattern; draw_blend_none (cr, CAIRO_OPERATOR_COLOR_DODGE, 20, 16); @@ -752,7 +753,6 @@ static void color_dodge_dest (void) { cairo_t *cr = get_cairo (CELL_WIDTH, CELL_HEIGHT); - cairo_pattern_t *pattern; draw_blend_dest (cr, CAIRO_OPERATOR_COLOR_DODGE, 20, 16); @@ -763,7 +763,6 @@ static void color_dodge_source (void) { cairo_t *cr = get_cairo (CELL_WIDTH, CELL_HEIGHT); - cairo_pattern_t *pattern; draw_blend_source (cr, CAIRO_OPERATOR_COLOR_DODGE, 20, 16); @@ -773,7 +772,7 @@ color_dodge_source (void) } int -main (int argc, char *argv) +main (int argc, char **argv) { create_op (CAIRO_OPERATOR_SOURCE, "Source", "source.png"); create_op (CAIRO_OPERATOR_DEST, "Destination", "dest.png"); @@ -792,4 +791,6 @@ main (int argc, char *argv) create_op (CAIRO_OPERATOR_COLOR_DODGE, "Color Dodge", "colordodge-both.png"); create_color_dodge_table (); + + return 0; } |