diff options
Diffstat (limited to 'pixman')
-rw-r--r-- | pixman/autogen.sh | 26 | ||||
-rw-r--r-- | pixman/demos/gradient-test.c | 13 | ||||
-rw-r--r-- | pixman/pixman/pixman-gradient-walker.c | 7 |
3 files changed, 27 insertions, 19 deletions
diff --git a/pixman/autogen.sh b/pixman/autogen.sh index c0c20d541..fc34bd55c 100644 --- a/pixman/autogen.sh +++ b/pixman/autogen.sh @@ -1,12 +1,14 @@ -#! /bin/sh
-
-srcdir=`dirname $0`
-test -z "$srcdir" && srcdir=.
-
-ORIGDIR=`pwd`
-cd $srcdir
-
-autoreconf -v --install || exit 1
-cd $ORIGDIR || exit $?
-
-$srcdir/configure "$@"
+#! /bin/sh + +srcdir=`dirname $0` +test -z "$srcdir" && srcdir=. + +ORIGDIR=`pwd` +cd $srcdir + +autoreconf -v --install || exit 1 +cd $ORIGDIR || exit $? + +if test -z "$NOCONFIGURE"; then + $srcdir/configure "$@" +fi diff --git a/pixman/demos/gradient-test.c b/pixman/demos/gradient-test.c index 20f78a6aa..e68f69a5f 100644 --- a/pixman/demos/gradient-test.c +++ b/pixman/demos/gradient-test.c @@ -15,12 +15,11 @@ main (int argc, char **argv) int i; pixman_gradient_stop_t stops[2] = { - { pixman_int_to_fixed (0), { 0xffff, 0xeeee, 0xeeee, 0xeeee } }, - { pixman_int_to_fixed (1), { 0xffff, 0x1111, 0x1111, 0x1111 } } + { pixman_int_to_fixed (0), { 0x0000, 0x0000, 0xffff, 0xffff } }, + { pixman_int_to_fixed (1), { 0xffff, 0x1111, 0x1111, 0xffff } } }; - pixman_point_fixed_t p1 = { pixman_double_to_fixed (0), 0 }; - pixman_point_fixed_t p2 = { pixman_double_to_fixed (WIDTH / 8.), - pixman_int_to_fixed (0) }; + pixman_point_fixed_t p1 = { pixman_double_to_fixed (50), 0 }; + pixman_point_fixed_t p2 = { pixman_double_to_fixed (200), 0 }; #if 0 pixman_transform_t trans = { { { pixman_double_to_fixed (2), pixman_double_to_fixed (0.5), pixman_double_to_fixed (-100), }, @@ -44,7 +43,7 @@ main (int argc, char **argv) #endif for (i = 0; i < WIDTH * HEIGHT; ++i) - dest[i] = 0x4f00004f; /* pale blue */ + dest[i] = 0xff00ff00; dest_img = pixman_image_create_bits (PIXMAN_a8r8g8b8, WIDTH, HEIGHT, @@ -74,7 +73,7 @@ main (int argc, char **argv) stops, 2); pixman_image_set_transform (src_img, &trans); - pixman_image_set_repeat (src_img, PIXMAN_REPEAT_PAD); + pixman_image_set_repeat (src_img, PIXMAN_REPEAT_NONE); pixman_image_composite (PIXMAN_OP_OVER, src_img, NULL, dest_img, 0, 0, 0, 0, 0, 0, 10 * WIDTH, HEIGHT); diff --git a/pixman/pixman/pixman-gradient-walker.c b/pixman/pixman/pixman-gradient-walker.c index 048039e89..e7e724fa6 100644 --- a/pixman/pixman/pixman-gradient-walker.c +++ b/pixman/pixman/pixman-gradient-walker.c @@ -108,6 +108,13 @@ gradient_walker_reset (pixman_gradient_walker_t *walker, left_x += (pos - x); right_x += (pos - x); } + else if (walker->repeat == PIXMAN_REPEAT_NONE) + { + if (n == 0) + right_c = left_c; + else if (n == count) + left_c = right_c; + } walker->left_x = left_x; walker->right_x = right_x; |