ooo-build r11780 - in trunk: . patches/src680



Author: rodo
Date: Mon Mar  3 14:08:31 2008
New Revision: 11780
URL: http://svn.gnome.org/viewvc/ooo-build?rev=11780&view=rev

Log:
2008-03-03  Radek Doulik  <rodo novell com>

	* patches/src680/apply: added
	cairocanvas-alpha-pixmap-rewrite.diff with changes described below

	* build/ooh680-m8/canvas/source/cairo/cairo_canvasbitmap.cxx: do
	not create 24bit grey pixmap for alpha mask, use 8bit - vcl will
	be now happy with it



Added:
   trunk/patches/src680/cairocanvas-alpha-pixmap-rewrite.diff
Modified:
   trunk/ChangeLog
   trunk/patches/src680/apply

Modified: trunk/patches/src680/apply
==============================================================================
--- trunk/patches/src680/apply	(original)
+++ trunk/patches/src680/apply	Mon Mar  3 14:08:31 2008
@@ -2285,3 +2285,4 @@
 sd-slideshow-slideshowview-transformation-fix.diff, rodo
 cairocanvas-fix-image-cache.diff, rodo
 vcl-grey-alpha-unix-sal-bitmap.diff, rodo
+cairocanvas-alpha-pixmap-rewrite.diff, rodo

Added: trunk/patches/src680/cairocanvas-alpha-pixmap-rewrite.diff
==============================================================================
--- (empty file)
+++ trunk/patches/src680/cairocanvas-alpha-pixmap-rewrite.diff	Mon Mar  3 14:08:31 2008
@@ -0,0 +1,62 @@
+diff -rup canvas-orig/source/cairo/cairo_canvasbitmap.cxx canvas/source/cairo/cairo_canvasbitmap.cxx
+--- canvas-orig/source/cairo/cairo_canvasbitmap.cxx	2008-03-03 14:58:28.000000000 +0100
++++ canvas/source/cairo/cairo_canvasbitmap.cxx	2008-03-03 15:00:52.000000000 +0100
+@@ -120,9 +120,7 @@ namespace cairocanvas
+         case 2: {
+ #ifdef CAIRO_HAS_XLIB_SURFACE
+         ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > args( 3 );
+-        Surface* pSurface = mpDevice->getSurface( maCanvasHelper.maSize, CAIRO_CONTENT_COLOR_ALPHA );
+         Surface* pAlphaSurface = mpDevice->getSurface( maCanvasHelper.maSize, CAIRO_CONTENT_ALPHA );
+-        Cairo* pCairo = pSurface->getCairo();
+         Cairo* pAlphaCairo = pAlphaSurface->getCairo();
+ 
+         // create RGB image (levels of gray) of alpha channel of original picture
+@@ -131,20 +129,11 @@ namespace cairocanvas
+         cairo_paint( pAlphaCairo );
+         cairo_destroy( pAlphaCairo );
+ 
+-        cairo_set_source_rgba(pCairo, 1, 1, 1, 1 );
+-        cairo_set_operator( pCairo, CAIRO_OPERATOR_SOURCE );
+-        cairo_paint( pCairo );
+-        cairo_set_source_surface( pCairo, pAlphaSurface->mpSurface, 0, 0 );
+-        cairo_set_operator( pCairo, CAIRO_OPERATOR_OVER );
+-        cairo_paint( pCairo );
+-
+-        delete pAlphaSurface;
+-        cairo_destroy( pCairo );
+-        pSurface->doNotFreePixmap();
++        pAlphaSurface->doNotFreePixmap();
+         args[0] = ::com::sun::star::uno::Any( true );
+-        args[1] = ::com::sun::star::uno::Any( pSurface->getPixmap () );
+-        args[2] = ::com::sun::star::uno::Any( sal_Int32( pSurface->getDepth () ) );
+-        delete pSurface;
++        args[1] = ::com::sun::star::uno::Any( pAlphaSurface->getPixmap () );
++        args[2] = ::com::sun::star::uno::Any( sal_Int32( pAlphaSurface->getDepth () ) );
++        delete pAlphaSurface;
+ 
+         // return pixmap and alphachannel pixmap - it will be used in BitmapEx
+         aRV = ::com::sun::star::uno::Any( args );
+diff -rup canvas-orig/source/cairo/cairo_canvasbitmap.hxx canvas/source/cairo/cairo_canvasbitmap.hxx
+--- canvas-orig/source/cairo/cairo_canvasbitmap.hxx	2008-03-03 14:58:28.000000000 +0100
++++ canvas/source/cairo/cairo_canvasbitmap.hxx	2008-03-03 15:02:47.000000000 +0100
+@@ -110,7 +110,7 @@ namespace cairocanvas
+         //     2nd the pixmap handle
+         //     3rd the pixmap depth
+         virtual ::com::sun::star::uno::Any SAL_CALL getFastPropertyValue(sal_Int32 nHandle)  throw (::com::sun::star::uno::RuntimeException);
+-        virtual void SAL_CALL setFastPropertyValue(sal_Int32 nHandle, const ::com::sun::star::uno::Any&)  throw (::com::sun::star::uno::RuntimeException) {}
++        virtual void SAL_CALL setFastPropertyValue(sal_Int32 /* nHandle */, const ::com::sun::star::uno::Any&)  throw (::com::sun::star::uno::RuntimeException) {}
+ 
+     private:
+         /** MUST hold here, too, since CanvasHelper only contains a
+diff -rup canvas-orig/source/cairo/cairo_canvashelper.cxx canvas/source/cairo/cairo_canvashelper.cxx
+--- canvas-orig/source/cairo/cairo_canvashelper.cxx	2008-03-03 14:58:28.000000000 +0100
++++ canvas/source/cairo/cairo_canvashelper.cxx	2008-03-03 15:03:26.000000000 +0100
+@@ -734,7 +734,7 @@ namespace cairocanvas
+ 	    cy = 0.5;
+ 	    r0 = 0;
+ 	    r1 = 0.5;
+-	    Matrix aScaleMatrix;
++//	    Matrix aScaleMatrix;
+ 
+ 	    pPattern = cairo_pattern_create_radial( cx, cy, r0, cx, cy, r1 );
+ 	    addColorStops( pPattern, aValues.maColors, aValues.maStops, true );



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]