/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project .
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License , v . 2 . 0 . If a copy of the MPL was not distributed with this
* file , You can obtain one at http : //mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice :
*
* Licensed to the Apache Software Foundation ( ASF ) under one or more
* contributor license agreements . See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership . The ASF licenses this file to you under the Apache
* License , Version 2 . 0 ( the " License " ) ; you may not use this file
* except in compliance with the License . You may obtain a copy of
* the License at http : //www.apache.org/licenses/LICENSE-2.0 .
*/
module com { module sun { module star { module rendering {
/** Information how to interpret certain color data.<p>
This interface encapsulates all information that is necessary to
interpret color data , by defining a describing color space , like
for example CMYK or sRGB . You can either convert between this and
an arbitrary other color space , or into the standard RGB or ARGB
formats ( because those are so overwhelmingly common in computer
graphics ) . < p >
All canvas interfaces standardize to sequences of IEEE doubles for
color representation . As this is overly verbose when used for
bitmap data , derived interfaces exist ,
e . g . XIntegerBitmapColorSpace , which use sequences of
integers for color representation . < p >
*/
interface XColorSpace
{
/** Query type of this color space.<p>
@ return a value from the ColorSpaceType constant
group .
*/
byte getType();
/** Query the kind for each color component.<p>
Color space components tend to correspond to physical
attributes like the amount of one specific colorant contained
in the final output color . This method returns a sequence of
tags , specifying for each component of a color value , to what
color attribute ( if any ) it corresponds . The values must be
one of the ColorComponentTag constants . < p >
At the same time , the number of elements in this sequence
corresponds to the number of color channels for this color
space . < p >
@ remark For the standard RGB color space , ComponentTags
consists of three elements , containing RGB_RED , RGB_GREEN and
RGB_BLUE tags , respectively
*/
sequence<byte> getComponentTags();
/** Query rendering intent of this color space.<p>
@ return a value from the RenderingIntent constant
group .
*/
byte getRenderingIntent();
/** Query various optional properties from the color space.<p>
If this color space has an ICC color profile , the sequence
contains an element named ICCProfile . Some color spaces also
have properties Gamma , Whitepoint and Blackpoint . Background
information for these is available < a
href = " http : //en.wikipedia.org/wiki/Color_temperature">here</a>.
*/
sequence< ::com::sun::star::beans::PropertyValue > getProperties();
/** Convert to color of another color space.<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 .
@ param targetColorSpace the color space to convert to .
@ return the corresponding sequence of device colors in the
target color space ( e . g . ` sequence < double > ` or
` sequence < byte > ` ) .
@ throws a
com : : sun : : star : : lang : : IllegalArgumentException ,
if the input sequence does not match the device color format
( e . g . if the number of components is wrong )
*/
sequence<ColorComponent> convertColorSpace( [in] sequence<ColorComponent> deviceColor, [in] XColorSpace targetColorSpace )
raises (com::sun::star::lang::IllegalArgumentException);
/** Convert color value in this color space to sRGB color values.<p>
Any information not representable in the RGBColor
struct is discarded during the conversion . This includes alpha
information .
@ 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
com : : sun : : star : : lang : : IllegalArgumentException ,
if the input sequence does not match the device color format .
@ see convertToARGB ( )
*/
sequence<RGBColor> convertToRGB( [in] sequence<ColorComponent> deviceColor )
raises (com::sun::star::lang::IllegalArgumentException);
/** Convert color value in this color space to 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 .
@ 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
com : : sun : : star : : lang : : IllegalArgumentException ,
if the input sequence does not match the device color format .
*/
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
com : : sun : : star : : lang : : IllegalArgumentException ,
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
be fully opaque for the given RGB color value .
@ 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 .
@ return the corresponding sequence of device colors .
@ throws a
com : : sun : : star : : lang : : IllegalArgumentException ,
if the input sequence does not match the device color format .
*/
sequence<ColorComponent> convertFromRGB( [in] sequence<RGBColor> rgbColor )
raises (com::sun::star::lang::IllegalArgumentException);
/** Convert 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 .
@ return the corresponding sequence of device colors .
@ throws a
com : : sun : : star : : lang : : IllegalArgumentException ,
if the input sequence does not match the device color format .
*/
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
com : : sun : : star : : lang : : IllegalArgumentException ,
if the input sequence does not match the device color format .
*/
sequence<ColorComponent> convertFromPARGB( [in] sequence<ARGBColor> rgbColor )
raises (com::sun::star::lang::IllegalArgumentException);
};
}; }; }; };
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Messung V0.5 in Prozent C=96 H=100 G=97
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet am 2026-10-05)
¤
*© Formatika GbR, Deutschland