summaryrefslogtreecommitdiff
path: root/offapi
diff options
context:
space:
mode:
authorRüdiger Timm <rt@openoffice.org>2008-12-09 13:22:21 +0000
committerRüdiger Timm <rt@openoffice.org>2008-12-09 13:22:21 +0000
commit30f14e03375e1bcf3dbd577371346fc772bd9a56 (patch)
tree12e9c1096ef2b3a57a6632e6bcd790f9ea9b08c8 /offapi
parentec7fe07d774a1a45695ade0cb883cd8ba42fdf70 (diff)
CWS-TOOLING: integrate CWS canvas06
2008-11-14 18:59:03 +0100 thb r263697 : Reverted fAlpha setup to previous state, as this was bogus as well - code path is apparently not taken for test, but anyway 2008-11-13 21:32:45 +0100 thb r263663 : WaE fix (and a bad bug as well - int color would have overflown) 2008-11-13 16:51:37 +0100 pl r263654 : remove warnings 2008-11-13 09:46:28 +0100 thb r263623 : #i95317# Fixed typo (thx WaE for finding) 2008-11-12 21:25:19 +0100 thb r263617 : #i96047# call update() on hidden sprite shape as well, to force actual hiding 2008-11-12 21:23:31 +0100 thb r263616 : #i95209# Merge from CWS thb11 - revives canvasbitmap unit tests, fixes nasty corner case in x11 salbmp (for 16bpp) 2008-11-12 21:21:46 +0100 thb r263615 : #i95197# Shuffled code to make valgrind quiet during bmp loading 2008-11-12 21:18:06 +0100 thb r263614 : #i93382# Make --disable-moz build work 2008-11-12 21:16:55 +0100 thb r263613 : #i95317# Fixed mis-named traits methods for min and max numbers 2008-11-12 20:59:01 +0100 thb r263612 : #i95317#, #i92902#: migrate CWS canvas06 to SVN.
Diffstat (limited to 'offapi')
-rw-r--r--offapi/com/sun/star/rendering/ColorComponentTag.idl38
-rw-r--r--offapi/com/sun/star/rendering/XColorSpace.idl47
-rw-r--r--offapi/com/sun/star/rendering/XIntegerBitmapColorSpace.idl46
3 files changed, 115 insertions, 16 deletions
diff --git a/offapi/com/sun/star/rendering/ColorComponentTag.idl b/offapi/com/sun/star/rendering/ColorComponentTag.idl
index 692ffdbd7469..73fdc78a4de4 100644
--- a/offapi/com/sun/star/rendering/ColorComponentTag.idl
+++ b/offapi/com/sun/star/rendering/ColorComponentTag.idl
@@ -84,50 +84,58 @@ constants ColorComponentTag
/// Grey value. Used for monochrome color spaces
const byte GREY=13;
+ /** Premultiplied alpha channel<p>
+
+ Note that this alpha format actually influences the other color
+ components, in that their values are pre-multiplied with the
+ alpha value.<p>
+ */
+ const byte PREMULTIPLIED_ALPHA=14;
+
/// CieXYZ X value
- const byte CIEXYZ_X=14;
+ const byte CIEXYZ_X=15;
/// CieXYZ Y value
- const byte CIEXYZ_Y=15;
+ const byte CIEXYZ_Y=16;
/// CieXYZ Z value
- const byte CIEXYZ_Z=16;
+ const byte CIEXYZ_Z=17;
/// CieLab L value
- const byte CIELAB_L=17;
+ const byte CIELAB_L=18;
/// CieLab a value
- const byte CIELAB_A=18;
+ const byte CIELAB_A=19;
/// CieLab b value
- const byte CIELAB_B=19;
+ const byte CIELAB_B=20;
/// HSV H value
- const byte HSV_H=20;
+ const byte HSV_H=21;
/// HSV S value
- const byte HSV_S=21;
+ const byte HSV_S=22;
/// HSV V value
- const byte HSV_V=22;
+ const byte HSV_V=23;
/// HSL H value
- const byte HSL_H=23;
+ const byte HSL_H=24;
/// HSL S value
- const byte HSL_S=24;
+ const byte HSL_S=25;
/// HSL L value
- const byte HSL_L=25;
+ const byte HSL_L=26;
/// YCbCr Y value
- const byte YCBCR_Y=26;
+ const byte YCBCR_Y=27;
/// YCbCr Cb value
- const byte YCBCR_CB=27;
+ const byte YCBCR_CB=28;
/// YCbCr Cr value
- const byte YCBCR_CR=28;
+ const byte YCBCR_CR=29;
};
}; }; }; };
diff --git a/offapi/com/sun/star/rendering/XColorSpace.idl b/offapi/com/sun/star/rendering/XColorSpace.idl
index 4b27f4a6c567..20459f46ff88 100644
--- a/offapi/com/sun/star/rendering/XColorSpace.idl
+++ b/offapi/com/sun/star/rendering/XColorSpace.idl
@@ -208,6 +208,30 @@ interface XColorSpace
sequence<ARGBColor> convertToARGB( [in] sequence<ColorComponent> deviceColor )
raises (com::sun::star::lang::IllegalArgumentException);
+ /** Convert color value in this color space to premultiplied sRGB
+ color values, with linear alpha.<p>
+
+ If the given input color does not carry alpha information, an
+ alpha value of 1.0 (fully opaque) is assumed. The resulting
+ individual RGB color values are premultiplied by the alpha
+ value (e.g. if alpha is 0.5, each color value has only half of
+ the original intensity).<p>
+
+ @param deviceColor Sequence of device color components. Is
+ permitted to contain more than one device color element,
+ therefore, batch conversion of multiple color values is
+ possible.
+
+ @return the corresponding sequence of colors in the sRGB color
+ space.
+
+ @throws a
+ <type>com::sun::star::lang::IllegalArgumentException</type>,
+ if the input sequence does not match the device color format.
+ */
+ sequence<ARGBColor> convertToPARGB( [in] sequence<ColorComponent> deviceColor )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
/** Convert sRGB color to a representation in this color space.<p>
If this color space conveys alpha information, it is assumed
@@ -231,7 +255,7 @@ interface XColorSpace
If this color space does not convey alpha information, the
specified alpha value is silently ignored.
- @param deviceColor Sequence of sRGB color components. Is
+ @param rgbColor Sequence of sRGB color components. Is
permitted to contain more than one color element, therefore,
batch conversion of multiple color values is possible.
@@ -243,6 +267,27 @@ interface XColorSpace
*/
sequence<ColorComponent> convertFromARGB( [in] sequence<ARGBColor> rgbColor )
raises (com::sun::star::lang::IllegalArgumentException);
+
+ /** Convert premultiplied sRGB color with linear alpha into this
+ color space.<p>
+
+ If this color space does not convey alpha information, the
+ specified alpha value is silently ignored.
+
+ @param rgbColor Sequence of sRGB color components. Is
+ permitted to contain more than one color element, therefore,
+ batch conversion of multiple color values is possible. The
+ individual color values are assumed to be premultiplied by the
+ alpha value.
+
+ @return the corresponding sequence of device colors.
+
+ @throws a
+ <type>com::sun::star::lang::IllegalArgumentException</type>,
+ if the input sequence does not match the device color format.
+ */
+ sequence<ColorComponent> convertFromPARGB( [in] sequence<ARGBColor> rgbColor )
+ raises (com::sun::star::lang::IllegalArgumentException);
};
}; }; }; };
diff --git a/offapi/com/sun/star/rendering/XIntegerBitmapColorSpace.idl b/offapi/com/sun/star/rendering/XIntegerBitmapColorSpace.idl
index 879d390cf125..1ceaa1b3ac91 100644
--- a/offapi/com/sun/star/rendering/XIntegerBitmapColorSpace.idl
+++ b/offapi/com/sun/star/rendering/XIntegerBitmapColorSpace.idl
@@ -185,6 +185,30 @@ interface XIntegerBitmapColorSpace : XColorSpace
sequence<ARGBColor> convertIntegerToARGB( [in] sequence<byte> deviceColor )
raises (com::sun::star::lang::IllegalArgumentException);
+ /** Convert color value in this color space to premultiplied sRGB
+ color values, with linear alpha.<p>
+
+ If the given input color does not carry alpha information, an
+ alpha value of 1.0 (fully opaque) is assumed. Color values
+ are properly rounded and clipped, to be valid in the target
+ color space. The resulting individual RGB color values are
+ premultiplied by the alpha value (e.g. if alpha is 0.5, each
+ color value has only half of the original intensity).<p>
+
+ @param deviceColor Sequence of device color components. Is
+ permitted to contain more than one device color element,
+ therefore, batch conversion of multiple color values is
+ possible.
+
+ @return the corresponding sequence of sRGB colors.
+
+ @throws a
+ <type>com::sun::star::lang::IllegalArgumentException</type>,
+ if the input sequence does not match the device color format.
+ */
+ sequence<ARGBColor> convertIntegerToPARGB( [in] sequence<byte> deviceColor )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
/** Convert sRGB color to an integer representation in this color
space.<p>
@@ -226,6 +250,28 @@ interface XIntegerBitmapColorSpace : XColorSpace
sequence<byte> convertIntegerFromARGB( [in] sequence<ARGBColor> rgbColor )
raises (com::sun::star::lang::IllegalArgumentException);
+ /** Convert premultiplied sRGB color with linear alpha into this
+ color space.<p>
+
+ If this color space does not convey alpha information, the
+ specified alpha value is silently ignored. Color values are
+ properly rounded and clipped, to be valid in the target color
+ space.<p>
+
+ @param deviceColor Sequence of sRGB color components. Is
+ permitted to contain more than one color element, therefore,
+ batch conversion of multiple color values is possible. The
+ individual RGB color values are assumed to be premultiplied by
+ the alpha value already.
+
+ @return the corresponding sequence of device colors.
+
+ @throws a
+ <type>com::sun::star::lang::IllegalArgumentException</type>,
+ if the input sequence does not match the device color format.
+ */
+ sequence<byte> convertIntegerFromPARGB( [in] sequence<ARGBColor> rgbColor )
+ raises (com::sun::star::lang::IllegalArgumentException);
};
}; }; }; };