aboutsummaryrefslogtreecommitdiff
path: root/pixman
diff options
context:
space:
mode:
Diffstat (limited to 'pixman')
-rw-r--r--pixman/autogen.sh26
-rw-r--r--pixman/demos/gradient-test.c13
-rw-r--r--pixman/pixman/pixman-gradient-walker.c7
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;