summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSøren Sandmann Pedersen <ssp@redhat.com>2013-02-25 02:40:37 -0500
committerSøren Sandmann Pedersen <ssp@redhat.com>2013-02-25 02:40:37 -0500
commit4574f803e8fc370e748047935bfc708478cf84ef (patch)
treef50ad0c3d38c005dc77674457bd44113c0649ff9
parent671d68dc71dd28c570f92c925c270a7a81f5863d (diff)
Some changes to pics.c
-rw-r--r--pics.c85
1 files changed, 43 insertions, 42 deletions
diff --git a/pics.c b/pics.c
index 50c0ec2..6f9e5d4 100644
--- a/pics.c
+++ b/pics.c
@@ -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;
}