From 9aabff83c1cd698f371a9c13b66868ad1228c301 Mon Sep 17 00:00:00 2001 From: Søren Sandmann Pedersen Date: Mon, 14 Jan 2013 06:13:19 -0500 Subject: asdf --- pics.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/pics.c b/pics.c index 9c344de..794b375 100644 --- a/pics.c +++ b/pics.c @@ -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 @@ -562,6 +565,49 @@ general_pixel_diagram (const char *filename) finish (cr, 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) { @@ -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"); -- cgit v1.2.3