diff -rup offapi-orig/com/sun/star/rendering/XColorSpace.idl offapi/com/sun/star/rendering/XColorSpace.idl
--- offapi-orig/com/sun/star/rendering/XColorSpace.idl	2007-09-05 21:51:02.000000000 +0200
+++ offapi/com/sun/star/rendering/XColorSpace.idl	2007-09-05 22:00:41.000000000 +0200
@@ -63,6 +63,7 @@ interface XColorSpace
 
 /// Shorthand for the device-dependent color components, and easier to read
 typedef double ColorComponent;
+typedef sequence<ColorComponent> Color;
 
 }; }; }; };
 
diff -rup offapi-orig/com/sun/star/rendering/XParametricPolyPolygon2DFactory.idl offapi/com/sun/star/rendering/XParametricPolyPolygon2DFactory.idl
--- offapi-orig/com/sun/star/rendering/XParametricPolyPolygon2DFactory.idl	2007-09-05 21:51:02.000000000 +0200
+++ offapi/com/sun/star/rendering/XParametricPolyPolygon2DFactory.idl	2007-09-06 17:04:28.000000000 +0200
@@ -60,11 +60,11 @@ interface XParametricPolyPolygon2DFactor
 {
     /** Create a linear gradient.
 
-		The gradient varies linearly between leftColor and rightColor
+		The gradient varies linearly between colors. the color positions on <0, 1> interval are given by stops values
 		in the x direction, and has constant color for fixed x
 		coordinate value in y direction
      */
-    XParametricPolyPolygon2D	createLinearHorizontalGradient( [in] sequence<ColorComponent> leftColor, [in] sequence<ColorComponent> rightColor )
+    XParametricPolyPolygon2D	createLinearHorizontalGradient( [in] sequence<Color> colors, [in] sequence<double> stops )
         raises (com::sun::star::lang::IllegalArgumentException); 
 
     /** Create an axial gradient.
@@ -74,7 +74,7 @@ interface XParametricPolyPolygon2DFactor
 		x direction. For fixed x coordinate, the gradient has constant
 		color value in y direction.
      */
-    XParametricPolyPolygon2D	createAxialHorizontalGradient( [in] sequence<ColorComponent> middleColor, [in] sequence<ColorComponent> endColor )
+    XParametricPolyPolygon2D	createAxialHorizontalGradient( [in] sequence<Color> colors, [in] sequence<double> stops )
         raises (com::sun::star::lang::IllegalArgumentException); 
 
     /** Create an elliptical gradient.
@@ -89,7 +89,7 @@ interface XParametricPolyPolygon2DFactor
 		center color: the gradient will not collapse into a single
 		point, but become a line of center color.
      */
-    XParametricPolyPolygon2D	createEllipticalGradient( [in] sequence<ColorComponent> centerColor, [in] sequence<ColorComponent> endColor, [in] ::com::sun::star::geometry::RealRectangle2D boundRect )
+    XParametricPolyPolygon2D	createEllipticalGradient( [in] sequence<Color> colors, [in] sequence<double> stops, [in] ::com::sun::star::geometry::RealRectangle2D boundRect )
         raises (com::sun::star::lang::IllegalArgumentException); 
 
     /** Create a rectangular gradient.
@@ -104,7 +104,7 @@ interface XParametricPolyPolygon2DFactor
 		the center color: the gradient will not collapse into a single
 		point, but become a line of center color.
      */
-    XParametricPolyPolygon2D	createRectangularGradient( [in] sequence<ColorComponent> centerColor, [in] sequence<ColorComponent> endColor, [in] ::com::sun::star::geometry::RealRectangle2D boundRect )
+    XParametricPolyPolygon2D	createRectangularGradient( [in] sequence<Color> colors, [in] sequence<double> stops, [in] ::com::sun::star::geometry::RealRectangle2D boundRect )
         raises (com::sun::star::lang::IllegalArgumentException); 
 
     /** Create a line hash of vertical lines.
