diff options
author | Søren Sandmann Pedersen <ssp@redhat.com> | 2013-01-14 06:13:19 -0500 |
---|---|---|
committer | Søren Sandmann Pedersen <ssp@redhat.com> | 2013-01-14 06:13:19 -0500 |
commit | 9aabff83c1cd698f371a9c13b66868ad1228c301 (patch) | |
tree | fa38d803fbeb1ef6e465fc8b6a0ddf06245b9ab7 | |
parent | dfce703f762f5b1601e18cf6f976be45d7e0333b (diff) |
asdf
-rw-r--r-- | pics.c | 47 |
1 files changed, 47 insertions, 0 deletions
@@ -536,6 +536,8 @@ clear_to_white (cairo_t *cr) static void draw_pixel_box (cairo_t *cr) { + cairo_save (cr); + cairo_set_line_width (cr, 1.4142135623730951); cairo_set_source_rgb (cr, 0, 0, 0); cairo_rectangle (cr, 1, 1, 178, 178); cairo_move_to (cr, 1, 1); @@ -543,6 +545,7 @@ draw_pixel_box (cairo_t *cr) cairo_move_to (cr, 179, 1); cairo_line_to (cr, 1, 179); cairo_stroke (cr); + cairo_restore (cr); } static void @@ -563,6 +566,49 @@ general_pixel_diagram (const char *filename) } static void +over_diagram (const char *filename) +{ + cairo_t *cr = get_cairo (180, 180); + + cairo_move_to (cr, 1, 1); + cairo_line_to (cr, 90, 90); + cairo_line_to (cr, 179, 1); + cairo_set_source_rgb (cr, SOURCE_COLOR); + cairo_fill (cr); + + cairo_set_source_rgb (cr, 1, 1, 1); + centered_text (cr, 90, 45, "Both"); + + cairo_move_to (cr, 1, 1); + cairo_line_to (cr, 90, 90); + cairo_line_to (cr, 1, 179); + cairo_set_source_rgb (cr, SOURCE_COLOR); + cairo_fill (cr); + + cairo_set_source_rgb (cr, 1, 1, 1); + centered_text (cr, 35, 90, "Source"); + + cairo_move_to (cr, 179, 1); + cairo_line_to (cr, 90, 90); + cairo_line_to (cr, 179, 179); + cairo_set_source_rgb (cr, DEST_COLOR); + cairo_fill (cr); + + cairo_set_source_rgb (cr, 1, 1, 1); + centered_text (cr, 145, 90, "Dest"); + + cairo_set_source_rgb (cr, 0, 0, 0); + centered_text (cr, 90, 147, "Neither"); + + cairo_new_path (cr); + + cairo_set_operator (cr, CAIRO_OPERATOR_OVER); + draw_pixel_box (cr); + + finish (cr, filename); +} + +static void dest_atop_diagram (const char *filename) { cairo_t *cr = get_cairo (180, 180); @@ -724,6 +770,7 @@ main (int argc, char *argv) create_op (CAIRO_OPERATOR_OVER, "Over", "over.png"); create_porter_duff_table (); general_pixel_diagram ("diagram.png"); + over_diagram ("over-diagram.png"); dest_atop_diagram ("destatop-diagram.png"); color_dodge_diagram ("colordodge-diagram.png"); color_dodge_dest_diagram ("colordodge-dest-diagram.png"); |