Move code around
authorSøren Sandmann Pedersen <sandmann@redhat.com>
Mon, 22 Jun 2009 02:11:07 +0000 (22:11 -0400)
committerSøren Sandmann Pedersen <sandmann@redhat.com>
Mon, 22 Jun 2009 02:36:15 +0000 (22:36 -0400)
pixman/pixman-private.h
pixman/pixman-utils.c
pixman/pixman.c

index 85cb7ee..2553e00 100644 (file)
 
 #include "pixman-compiler.h"
 
-/*
- * Various useful macros
- */
-#ifndef FALSE
-#define FALSE 0
-#endif
-
-#ifndef TRUE
-#define TRUE 1
-#endif
-
-/* Integer division that rounds towards -infinity */
-#define DIV(a,b) ((((a) < 0) == ((b) < 0)) ? (a) / (b) :               \
-                 ((a) - (b) + 1 - (((b) < 0) << 1)) / (b))
-
-/* Modulus that produces the remainder wrt. DIV */
-#define MOD(a,b) ((a) < 0 ? ((b) - ((-(a) - 1) % (b))) - 1 : (a) % (b))
-
-#define CLIP(a,b,c) ((a) < (b) ? (b) : ((a) > (c) ? (c) : (a)))
-
-#ifndef MIN
-#  define MIN(a,b) ((a < b)? a : b)
-#endif
-
-#ifndef MAX
-#  define MAX(a,b) ((a > b)? a : b)
-#endif
-
 #undef DEBUG
 #define DEBUG 0
 
-/*
- * Utilities
- */
-
-/* Memory allocation helpers */
-void          *pixman_malloc_ab (unsigned int n, unsigned int b);
-void          *pixman_malloc_abc (unsigned int a, unsigned int b, unsigned int c);
-pixman_bool_t  pixman_multiply_overflows_int (unsigned int a, unsigned int b);
-pixman_bool_t  pixman_addition_overflows_int (unsigned int a, unsigned int b);
-
-/* Compositing utilities */
-pixman_bool_t
-_pixman_run_fast_path (const pixman_fast_path_t *paths,
-                      pixman_implementation_t *imp,
-                      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);
-    
-void
-_pixman_walk_composite_region (pixman_implementation_t *imp,
-                              pixman_op_t op,
-                              pixman_image_t * pSrc,
-                              pixman_image_t * pMask,
-                              pixman_image_t * pDst,
-                              int16_t xSrc,
-                              int16_t ySrc,
-                              int16_t xMask,
-                              int16_t yMask,
-                              int16_t xDst,
-                              int16_t yDst,
-                              uint16_t width,
-                              uint16_t height,
-                              pixman_composite_func_t compositeRect);
-
 #if DEBUG
 
 #define return_if_fail(expr)                                           \
@@ -572,6 +501,7 @@ pixman_bool_t pixman_region32_copy_from_region16 (pixman_region32_t *dst,
 pixman_bool_t pixman_region16_copy_from_region32 (pixman_region16_t *dst,
                                                  pixman_region32_t *src);
 
+
 /*
  * Implementations
  */
@@ -631,26 +561,6 @@ typedef pixman_bool_t (* pixman_fill_func_t) (pixman_implementation_t *imp,
 void _pixman_setup_combiner_functions_32 (pixman_implementation_t *imp);
 void _pixman_setup_combiner_functions_64 (pixman_implementation_t *imp);
 
-/* These "formats" both have depth 0, so they
- * will never clash with any real ones
- */
-#define PIXMAN_null            PIXMAN_FORMAT(0,0,0,0,0,0)
-#define PIXMAN_solid           PIXMAN_FORMAT(0,1,0,0,0,0)
-
-#define NEED_COMPONENT_ALPHA           (1 << 0)
-#define NEED_PIXBUF                    (1 << 1)
-#define NEED_SOLID_MASK                        (1 << 2)
-
-typedef struct
-{
-    pixman_op_t                        op;
-    pixman_format_code_t       src_format;
-    pixman_format_code_t       mask_format;
-    pixman_format_code_t       dest_format;
-    pixman_composite_func_t    func;
-    uint32_t                   flags;
-} pixman_fast_path_t;
-
 struct pixman_implementation_t
 {
     pixman_implementation_t *  toplevel;
@@ -768,6 +678,99 @@ _pixman_choose_implementation (void);
 
 
 
+
+/*
+ * Utilities
+ */
+
+/* These "formats" both have depth 0, so they
+ * will never clash with any real ones
+ */
+#define PIXMAN_null            PIXMAN_FORMAT(0,0,0,0,0,0)
+#define PIXMAN_solid           PIXMAN_FORMAT(0,1,0,0,0,0)
+
+#define NEED_COMPONENT_ALPHA           (1 << 0)
+#define NEED_PIXBUF                    (1 << 1)
+#define NEED_SOLID_MASK                        (1 << 2)
+
+typedef struct
+{
+    pixman_op_t                        op;
+    pixman_format_code_t       src_format;
+    pixman_format_code_t       mask_format;
+    pixman_format_code_t       dest_format;
+    pixman_composite_func_t    func;
+    uint32_t                   flags;
+} pixman_fast_path_t;
+
+/* Memory allocation helpers */
+void          *pixman_malloc_ab (unsigned int n, unsigned int b);
+void          *pixman_malloc_abc (unsigned int a, unsigned int b, unsigned int c);
+pixman_bool_t  pixman_multiply_overflows_int (unsigned int a, unsigned int b);
+pixman_bool_t  pixman_addition_overflows_int (unsigned int a, unsigned int b);
+
+/* Compositing utilities */
+pixman_bool_t
+_pixman_run_fast_path (const pixman_fast_path_t *paths,
+                      pixman_implementation_t *imp,
+                      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);
+    
+void
+_pixman_walk_composite_region (pixman_implementation_t *imp,
+                              pixman_op_t op,
+                              pixman_image_t * pSrc,
+                              pixman_image_t * pMask,
+                              pixman_image_t * pDst,
+                              int16_t xSrc,
+                              int16_t ySrc,
+                              int16_t xMask,
+                              int16_t yMask,
+                              int16_t xDst,
+                              int16_t yDst,
+                              uint16_t width,
+                              uint16_t height,
+                              pixman_composite_func_t compositeRect);
+
+/*
+ * Various useful macros
+ */
+#ifndef FALSE
+#define FALSE 0
+#endif
+
+#ifndef TRUE
+#define TRUE 1
+#endif
+
+/* Integer division that rounds towards -infinity */
+#define DIV(a,b) ((((a) < 0) == ((b) < 0)) ? (a) / (b) :               \
+                 ((a) - (b) + 1 - (((b) < 0) << 1)) / (b))
+
+/* Modulus that produces the remainder wrt. DIV */
+#define MOD(a,b) ((a) < 0 ? ((b) - ((-(a) - 1) % (b))) - 1 : (a) % (b))
+
+#define CLIP(a,b,c) ((a) < (b) ? (b) : ((a) > (c) ? (c) : (a)))
+
+#ifndef MIN
+#  define MIN(a,b) ((a < b)? a : b)
+#endif
+
+#ifndef MAX
+#  define MAX(a,b) ((a > b)? a : b)
+#endif
+
+
 #ifdef PIXMAN_TIMERS
 /*
  * Timers
index c313376..af81525 100644 (file)
@@ -370,116 +370,6 @@ pixman_contract(uint32_t *dst, const uint64_t *src, int width)
     }
 }
 
-/**
- * pixman_version_string:
- *
- * Returns the version of the pixman library as a human-readable string
- * of the form "X.Y.Z".
- *
- * See also pixman_version() as well as the compile-time equivalents
- * %PIXMAN_VERSION_STRING and %PIXMAN_VERSION.
- *
- * Return value: a string containing the version.
- **/
-PIXMAN_EXPORT const char*
-pixman_version_string (void)
-{
-    return PIXMAN_VERSION_STRING;
-}
-
-/**
- * pixman_format_supported_source:
- * @format: A pixman_format_code_t format
- * 
- * Return value: whether the provided format code is a supported
- * format for a pixman surface used as a source in
- * rendering.
- *
- * Currently, all pixman_format_code_t values are supported.
- **/
-PIXMAN_EXPORT pixman_bool_t
-pixman_format_supported_source (pixman_format_code_t format)
-{
-    switch (format) {
-    /* 32 bpp formats */
-    case PIXMAN_a2b10g10r10:
-    case PIXMAN_x2b10g10r10:
-    case PIXMAN_a8r8g8b8:
-    case PIXMAN_x8r8g8b8:
-    case PIXMAN_a8b8g8r8:
-    case PIXMAN_x8b8g8r8:
-    case PIXMAN_b8g8r8a8:
-    case PIXMAN_b8g8r8x8:
-    case PIXMAN_r8g8b8:
-    case PIXMAN_b8g8r8:
-    case PIXMAN_r5g6b5:
-    case PIXMAN_b5g6r5:
-    /* 16 bpp formats */
-    case PIXMAN_a1r5g5b5:
-    case PIXMAN_x1r5g5b5:
-    case PIXMAN_a1b5g5r5:
-    case PIXMAN_x1b5g5r5:
-    case PIXMAN_a4r4g4b4:
-    case PIXMAN_x4r4g4b4:
-    case PIXMAN_a4b4g4r4:
-    case PIXMAN_x4b4g4r4:
-    /* 8bpp formats */
-    case PIXMAN_a8:
-    case PIXMAN_r3g3b2:
-    case PIXMAN_b2g3r3:
-    case PIXMAN_a2r2g2b2:
-    case PIXMAN_a2b2g2r2:
-    case PIXMAN_c8:
-    case PIXMAN_g8:
-    case PIXMAN_x4a4:
-    /* Collides with PIXMAN_c8
-    case PIXMAN_x4c4:
-    */
-    /* Collides with PIXMAN_g8
-    case PIXMAN_x4g4:
-    */
-    /* 4bpp formats */
-    case PIXMAN_a4:
-    case PIXMAN_r1g2b1:
-    case PIXMAN_b1g2r1:
-    case PIXMAN_a1r1g1b1:
-    case PIXMAN_a1b1g1r1:
-    case PIXMAN_c4:
-    case PIXMAN_g4:
-    /* 1bpp formats */
-    case PIXMAN_a1:
-    case PIXMAN_g1:
-    /* YUV formats */
-    case PIXMAN_yuy2:
-    case PIXMAN_yv12:
-       return TRUE;
-
-    default:
-       return FALSE;
-    }
-}
-
-/**
- * pixman_format_supported_destination:
- * @format: A pixman_format_code_t format
- * 
- * Return value: whether the provided format code is a supported
- * format for a pixman surface used as a destination in
- * rendering.
- *
- * Currently, all pixman_format_code_t values are supported
- * except for the YUV formats.
- **/
-PIXMAN_EXPORT pixman_bool_t
-pixman_format_supported_destination (pixman_format_code_t format)
-{
-    /* YUV formats cannot be written to at the moment */
-    if (format == PIXMAN_yuy2 || format == PIXMAN_yv12)
-       return FALSE;
-
-    return pixman_format_supported_source (format);
-}
-
 static void
 walk_region_internal (pixman_implementation_t *imp,
                      pixman_op_t op,
index 263cb89..ab9c3e1 100644 (file)
@@ -344,3 +344,112 @@ pixman_version (void)
     return PIXMAN_VERSION;
 }
 
+/**
+ * pixman_version_string:
+ *
+ * Returns the version of the pixman library as a human-readable string
+ * of the form "X.Y.Z".
+ *
+ * See also pixman_version() as well as the compile-time equivalents
+ * %PIXMAN_VERSION_STRING and %PIXMAN_VERSION.
+ *
+ * Return value: a string containing the version.
+ **/
+PIXMAN_EXPORT const char*
+pixman_version_string (void)
+{
+    return PIXMAN_VERSION_STRING;
+}
+
+/**
+ * pixman_format_supported_source:
+ * @format: A pixman_format_code_t format
+ * 
+ * Return value: whether the provided format code is a supported
+ * format for a pixman surface used as a source in
+ * rendering.
+ *
+ * Currently, all pixman_format_code_t values are supported.
+ **/
+PIXMAN_EXPORT pixman_bool_t
+pixman_format_supported_source (pixman_format_code_t format)
+{
+    switch (format) {
+    /* 32 bpp formats */
+    case PIXMAN_a2b10g10r10:
+    case PIXMAN_x2b10g10r10:
+    case PIXMAN_a8r8g8b8:
+    case PIXMAN_x8r8g8b8:
+    case PIXMAN_a8b8g8r8:
+    case PIXMAN_x8b8g8r8:
+    case PIXMAN_b8g8r8a8:
+    case PIXMAN_b8g8r8x8:
+    case PIXMAN_r8g8b8:
+    case PIXMAN_b8g8r8:
+    case PIXMAN_r5g6b5:
+    case PIXMAN_b5g6r5:
+    /* 16 bpp formats */
+    case PIXMAN_a1r5g5b5:
+    case PIXMAN_x1r5g5b5:
+    case PIXMAN_a1b5g5r5:
+    case PIXMAN_x1b5g5r5:
+    case PIXMAN_a4r4g4b4:
+    case PIXMAN_x4r4g4b4:
+    case PIXMAN_a4b4g4r4:
+    case PIXMAN_x4b4g4r4:
+    /* 8bpp formats */
+    case PIXMAN_a8:
+    case PIXMAN_r3g3b2:
+    case PIXMAN_b2g3r3:
+    case PIXMAN_a2r2g2b2:
+    case PIXMAN_a2b2g2r2:
+    case PIXMAN_c8:
+    case PIXMAN_g8:
+    case PIXMAN_x4a4:
+    /* Collides with PIXMAN_c8
+    case PIXMAN_x4c4:
+    */
+    /* Collides with PIXMAN_g8
+    case PIXMAN_x4g4:
+    */
+    /* 4bpp formats */
+    case PIXMAN_a4:
+    case PIXMAN_r1g2b1:
+    case PIXMAN_b1g2r1:
+    case PIXMAN_a1r1g1b1:
+    case PIXMAN_a1b1g1r1:
+    case PIXMAN_c4:
+    case PIXMAN_g4:
+    /* 1bpp formats */
+    case PIXMAN_a1:
+    case PIXMAN_g1:
+    /* YUV formats */
+    case PIXMAN_yuy2:
+    case PIXMAN_yv12:
+       return TRUE;
+
+    default:
+       return FALSE;
+    }
+}
+
+/**
+ * pixman_format_supported_destination:
+ * @format: A pixman_format_code_t format
+ * 
+ * Return value: whether the provided format code is a supported
+ * format for a pixman surface used as a destination in
+ * rendering.
+ *
+ * Currently, all pixman_format_code_t values are supported
+ * except for the YUV formats.
+ **/
+PIXMAN_EXPORT pixman_bool_t
+pixman_format_supported_destination (pixman_format_code_t format)
+{
+    /* YUV formats cannot be written to at the moment */
+    if (format == PIXMAN_yuy2 || format == PIXMAN_yv12)
+       return FALSE;
+
+    return pixman_format_supported_source (format);
+}