[maemo-commits] [maemo-commits] r18808 - in projects/haf/trunk/libcairo/debian: . patches

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Tue Jun 30 14:58:53 EEST 2009
Author: herzi
Date: 2009-06-30 14:58:42 +0300 (Tue, 30 Jun 2009)
New Revision: 18808

Added:
   projects/haf/trunk/libcairo/debian/patches/003-cairo16bpp.diff
Modified:
   projects/haf/trunk/libcairo/debian/changelog
Log:
cairo (1.8.6-0maemo2) unstable; urgency=low

  * Fixes: NB#115160 - Cairo 16bpp cairo_image_surface support
  * debian/patches/003-cairo16bpp.diff: re-enabled the 565 RGB mode

 -- Sven Herzberg <sven at lanedo.com>  Tue, 30 Jun 2009 13:53:27 +0200


Modified: projects/haf/trunk/libcairo/debian/changelog
===================================================================
--- projects/haf/trunk/libcairo/debian/changelog	2009-06-30 11:37:36 UTC (rev 18807)
+++ projects/haf/trunk/libcairo/debian/changelog	2009-06-30 11:58:42 UTC (rev 18808)
@@ -1,3 +1,10 @@
+cairo (1.8.6-0maemo2) unstable; urgency=low
+
+  * Fixes: NB#115160 (Cairo 16bpp cairo_image_surface support)
+  * debian/patches/003-cairo16bpp.diff: re-enabled the 565 RGB mode
+
+ -- Sven Herzberg <sven at lanedo.com>  Tue, 30 Jun 2009 13:53:27 +0200
+
 cairo (1.8.6-0maemo1) unstable; urgency=low
 
   [ Sven Herzberg ]

Added: projects/haf/trunk/libcairo/debian/patches/003-cairo16bpp.diff
===================================================================
--- projects/haf/trunk/libcairo/debian/patches/003-cairo16bpp.diff	2009-06-30 11:37:36 UTC (rev 18807)
+++ projects/haf/trunk/libcairo/debian/patches/003-cairo16bpp.diff	2009-06-30 11:58:42 UTC (rev 18808)
@@ -0,0 +1,123 @@
+diff -ruN -p cairo-1.8.6.orig/src/cairo-deprecated.h cairo-1.8.6/src/cairo-deprecated.h
+--- cairo-1.8.6.orig/src/cairo-deprecated.h	2008-12-12 14:48:04.000000000 +0200
++++ cairo-1.8.6/src/cairo-deprecated.h	2009-05-04 20:30:38.000000000 +0300
+@@ -48,7 +48,7 @@
+  * completely implemented. So while this format value is currently
+  * deprecated, it may eventually acquire complete support in the future.
+  */
+-#define CAIRO_FORMAT_RGB16_565 4
++//#define CAIRO_FORMAT_RGB16_565 4
+ 
+ #define CAIRO_FONT_TYPE_ATSUI CAIRO_FONT_TYPE_QUARTZ
+ 
+diff -ruN -p cairo-1.8.6.orig/src/cairo.h cairo-1.8.6/src/cairo.h
+--- cairo-1.8.6.orig/src/cairo.h	2008-12-12 14:48:05.000000000 +0200
++++ cairo-1.8.6/src/cairo.h	2009-05-04 20:30:38.000000000 +0300
+@@ -301,7 +301,8 @@ typedef enum _cairo_status {
+ typedef enum _cairo_content {
+     CAIRO_CONTENT_COLOR		= 0x1000,
+     CAIRO_CONTENT_ALPHA		= 0x2000,
+-    CAIRO_CONTENT_COLOR_ALPHA	= 0x3000
++    CAIRO_CONTENT_COLOR_ALPHA	= 0x3000,
++    HILDON__DONT_USE_THIS_ONE__CAIRO_CONTENT_COLOR16	= 0x4000
+ } cairo_content_t;
+ 
+ /**
+@@ -2024,11 +2025,8 @@ typedef enum _cairo_format {
+     CAIRO_FORMAT_ARGB32,
+     CAIRO_FORMAT_RGB24,
+     CAIRO_FORMAT_A8,
+-    CAIRO_FORMAT_A1
+-    /* The value of 4 is reserved by a deprecated enum value.
+-     * The next format added must have an explicit value of 5.
+-    CAIRO_FORMAT_RGB16_565 = 4,
+-    */
++    CAIRO_FORMAT_A1,
++    CAIRO_FORMAT_RGB16_565
+ } cairo_format_t;
+ 
+ cairo_public cairo_surface_t *
+diff -ruN -p cairo-1.8.6.orig/src/cairo-image-surface.c cairo-1.8.6/src/cairo-image-surface.c
+--- cairo-1.8.6.orig/src/cairo-image-surface.c	2008-12-12 14:48:04.000000000 +0200
++++ cairo-1.8.6/src/cairo-image-surface.c	2009-05-04 20:30:57.000000000 +0300
+@@ -49,8 +49,10 @@ _cairo_format_from_pixman_format (pixman
+ 	return CAIRO_FORMAT_A8;
+     case PIXMAN_a1:
+ 	return CAIRO_FORMAT_A1;
++    case PIXMAN_r5g6b5:
++	return CAIRO_FORMAT_RGB16_565;
+     case PIXMAN_a8b8g8r8: case PIXMAN_x8b8g8r8: case PIXMAN_r8g8b8:
+-    case PIXMAN_b8g8r8:   case PIXMAN_r5g6b5:   case PIXMAN_b5g6r5:
++    case PIXMAN_b8g8r8:   case PIXMAN_b5g6r5:
+     case PIXMAN_a1r5g5b5: case PIXMAN_x1r5g5b5: case PIXMAN_a1b5g5r5:
+     case PIXMAN_x1b5g5r5: case PIXMAN_a4r4g4b4: case PIXMAN_x4r4g4b4:
+     case PIXMAN_a4b4g4r4: case PIXMAN_x4b4g4r4: case PIXMAN_r3g3b2:
+@@ -306,6 +308,9 @@ _cairo_format_to_pixman_format_code (cai
+     case CAIRO_FORMAT_RGB24:
+ 	ret = PIXMAN_x8r8g8b8;
+ 	break;
++    case CAIRO_FORMAT_RGB16_565:
++	ret = PIXMAN_r5g6b5;
++	break;
+     case CAIRO_FORMAT_ARGB32:
+     default:
+ 	ret = PIXMAN_a8r8g8b8;
+@@ -651,6 +656,8 @@ cairo_format_t
+ _cairo_format_from_content (cairo_content_t content)
+ {
+     switch (content) {
++    case HILDON__DONT_USE_THIS_ONE__CAIRO_CONTENT_COLOR16:
++	return CAIRO_FORMAT_RGB16_565;
+     case CAIRO_CONTENT_COLOR:
+ 	return CAIRO_FORMAT_RGB24;
+     case CAIRO_CONTENT_ALPHA:
+@@ -671,6 +678,8 @@ _cairo_content_from_format (cairo_format
+ 	return CAIRO_CONTENT_COLOR_ALPHA;
+     case CAIRO_FORMAT_RGB24:
+ 	return CAIRO_CONTENT_COLOR;
++    case CAIRO_FORMAT_RGB16_565:
++	return HILDON__DONT_USE_THIS_ONE__CAIRO_CONTENT_COLOR16;
+     case CAIRO_FORMAT_A8:
+     case CAIRO_FORMAT_A1:
+ 	return CAIRO_CONTENT_ALPHA;
+@@ -688,6 +697,8 @@ _cairo_format_bits_per_pixel (cairo_form
+ 	return 32;
+     case CAIRO_FORMAT_RGB24:
+ 	return 32;
++    case CAIRO_FORMAT_RGB16_565:
++	return 16;
+     case CAIRO_FORMAT_A8:
+ 	return 8;
+     case CAIRO_FORMAT_A1:
+@@ -1364,6 +1375,11 @@ _cairo_image_analyze_transparency (cairo
+ 	return CAIRO_IMAGE_IS_OPAQUE;
+     }
+ 
++    if (image->format == CAIRO_FORMAT_RGB16_565) {
++	image->transparency = CAIRO_IMAGE_IS_OPAQUE;
++	return CAIRO_IMAGE_IS_OPAQUE;
++    }
++
+     if (image->format != CAIRO_FORMAT_ARGB32) {
+ 	image->transparency = CAIRO_IMAGE_HAS_ALPHA;
+ 	return CAIRO_IMAGE_HAS_ALPHA;
+diff -ruN -p cairo-1.8.6.orig/src/cairoint.h cairo-1.8.6/src/cairoint.h
+--- cairo-1.8.6.orig/src/cairoint.h	2008-12-12 14:48:05.000000000 +0200
++++ cairo-1.8.6/src/cairoint.h	2009-05-04 20:30:38.000000000 +0300
+@@ -1973,7 +1973,7 @@ _cairo_surface_has_device_transform (cai
+  * in cairo-xlib-surface.c--again see -Wswitch-enum).
+  */
+ #define CAIRO_FORMAT_INVALID ((unsigned int) -1)
+-#define CAIRO_FORMAT_VALID(format) ((format) <= CAIRO_FORMAT_A1)
++#define CAIRO_FORMAT_VALID(format) ((format) <= CAIRO_FORMAT_RGB16_565)
+ 
+ /* pixman-required stride alignment in bytes. */
+ #define CAIRO_STRIDE_ALIGNMENT (sizeof (uint32_t))
+@@ -1983,6 +1983,7 @@ _cairo_surface_has_device_transform (cai
+ #define CAIRO_CONTENT_VALID(content) ((content) && 			         \
+ 				      (((content) & ~(CAIRO_CONTENT_COLOR |      \
+ 						      CAIRO_CONTENT_ALPHA |      \
++						      HILDON__DONT_USE_THIS_ONE__CAIRO_CONTENT_COLOR16 |    \
+ 						      CAIRO_CONTENT_COLOR_ALPHA))\
+ 				       == 0))
+ 

More information about the maemo-commits mailing list