Add pixman_image_composite32()
authorBenjamin Otte <otte@redhat.com>
Tue, 26 Jan 2010 17:52:27 +0000 (18:52 +0100)
committerBenjamin Otte <otte@redhat.com>
Tue, 26 Jan 2010 19:22:52 +0000 (20:22 +0100)
This is equal to pixman_image_composite(), just with 32bit parameters.
pixman_image_composite() now just calls pixman_image_composite32()

pixman/pixman.c
pixman/pixman.h

index 0edd967..6b28093 100644 (file)
@@ -109,8 +109,8 @@ pixman_optimize_operator (pixman_op_t     op,
 
 static void
 apply_workaround (pixman_image_t *image,
-                 int16_t *       x,
-                 int16_t *       y,
+                 int32_t *       x,
+                 int32_t *       y,
                  uint32_t **     save_bits,
                  int *           save_dx,
                  int *           save_dy)
@@ -166,6 +166,24 @@ pixman_image_composite (pixman_op_t      op,
                         uint16_t         width,
                         uint16_t         height)
 {
+    pixman_image_composite32 (op, src, mask, dest, src_x, src_y, 
+                              mask_x, mask_y, dest_x, dest_y, width, height);
+}
+
+PIXMAN_EXPORT void
+pixman_image_composite32 (pixman_op_t      op,
+                          pixman_image_t * src,
+                          pixman_image_t * mask,
+                          pixman_image_t * dest,
+                          int32_t          src_x,
+                          int32_t          src_y,
+                          int32_t          mask_x,
+                          int32_t          mask_y,
+                          int32_t          dest_x,
+                          int32_t          dest_y,
+                          int32_t          width,
+                          int32_t          height)
+{
     uint32_t *src_bits;
     int src_dx, src_dy;
     uint32_t *mask_bits;
index 546f0df..ff78b95 100644 (file)
@@ -787,6 +787,18 @@ void          pixman_image_composite          (pixman_op_t        op,
                                               int16_t            dest_y,
                                               uint16_t           width,
                                               uint16_t           height);
+void          pixman_image_composite32        (pixman_op_t        op,
+                                              pixman_image_t    *src,
+                                              pixman_image_t    *mask,
+                                              pixman_image_t    *dest,
+                                              int32_t            src_x,
+                                              int32_t            src_y,
+                                              int32_t            mask_x,
+                                              int32_t            mask_y,
+                                              int32_t            dest_x,
+                                              int32_t            dest_y,
+                                              int32_t            width,
+                                              int32_t            height);
 
 /* Old X servers rely on out-of-bounds accesses when they are asked
  * to composite with a window as the source. They create a pixman image