blob: d6ee572828fe51e43381ffdfc10c7543ebf03ec2 [file] [log] [blame]
/**************************************************************
*
* 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
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#ifndef __com_sun_star_drawing_FillProperties_idl__
#define __com_sun_star_drawing_FillProperties_idl__
#ifndef __com_sun_star_drawing_FillStyle_idl__
#include <com/sun/star/drawing/FillStyle.idl>
#endif
#ifndef __com_sun_star_util_Color_idl__
#include <com/sun/star/util/Color.idl>
#endif
#ifndef __com_sun_star_awt_Gradient_idl__
#include <com/sun/star/awt/Gradient.idl>
#endif
#ifndef __com_sun_star_drawing_Hatch_idl__
#include <com/sun/star/drawing/Hatch.idl>
#endif
#ifndef __com_sun_star_drawing_BitmapMode_idl__
#include <com/sun/star/drawing/BitmapMode.idl>
#endif
#ifndef __com_sun_star_awt_XBitmap_idl__
#include <com/sun/star/awt/XBitmap.idl>
#endif
#ifndef __com_sun_star_drawing_RectanglePoint_idl__
#include <com/sun/star/drawing/RectanglePoint.idl>
#endif
//=============================================================================
module com { module sun { module star { module drawing {
//=============================================================================
/** This is a set of properties to describe the style for rendering an area.
*/
published service FillProperties
{
//-------------------------------------------------------------------------
/** This enumeration selects the style the area will be filled with.
*/
[property] FillStyle FillStyle;
//-------------------------------------------------------------------------
/** If the property <member>FillStyle</member> is set to <const>
FillStyle::SOLID</const>, this is the color used.
*/
[property] com::sun::star::util::Color FillColor;
//-------------------------------------------------------------------------
/** This is the transparence of the filled area.
<p>This property is only valid if the property <member>FillStyle
</member> is set to <const>FillStyle::SOLID</const>.
*/
[property] short FillTransparence;
//-------------------------------------------------------------------------
/** If a gradient is used for transparency, this is the name of the
used transparence gradient style or it is empty. If you set the name
of a transparence gradient style contained in the document, this
style used.
*/
[property] string FillTransparenceGradientName;
//-------------------------------------------------------------------------
/** This describes the transparency of the fill area as a gradient.
*/
[optional, property] com::sun::star::awt::Gradient FillTransparenceGradient;
//-------------------------------------------------------------------------
/** If the property <member>FillStyle</member> is set to <const>
FillStyle::GRADIENT</const>, this is the name of the used fill
gradient style.
*/
[property] string FillGradientName;
//-------------------------------------------------------------------------
/** If the property <member>FillStyle</member> is set to <const>
FillStyle::GRADIENT</const>, this describes the gradient used.
*/
[optional, property] com::sun::star::awt::Gradient FillGradient;
//-------------------------------------------------------------------------
/** If the property <member>FillStyle</member> is set to <const>
FillStyle::HATCH</const>, this is the name of the used fill hatch
style.
*/
[property] string FillHatchName;
//-------------------------------------------------------------------------
/** If the property <member>FillStyle</member> is set to <const>
FillStyle::HATCH</const>, this describes the hatch used.
*/
[optional, property] Hatch FillHatch;
//-------------------------------------------------------------------------
/** if this is <TRUE/>, the transparent background of a
hatch filled area is drawn in the current background color.
*/
[property] boolean FillBackground;
//-------------------------------------------------------------------------
/** If the property <memebr>FillStyle</member> is set to <const>
FillStyle::BITMAP</const>, this is the name of the used fill bitmap
style.
*/
[property] string FillBitmapName;
//-------------------------------------------------------------------------
/** If the property <member>FillStyle</member> is set to <const>
FillStyle::BITMAP</const>, this is the bitmap used.
*/
[optional, property] com::sun::star::awt::XBitmap FillBitmap;
//-------------------------------------------------------------------------
/** If the property <member>FillStyle</member> is set to <const>
FillStyle::BITMAP</const>, this is a URL to the bitmap used.
*/
[optional, property] string FillBitmapURL;
//-------------------------------------------------------------------------
/** This is the horizontal offset where the tile starts.
<p>It is given in percent in relation to the width of the bitmap.</p>
*/
[property] short FillBitmapPositionOffsetX;
//-------------------------------------------------------------------------
/** This is the vertical offset where the tile starts.
<p>It is given in percent in relation to the height of the bitmap.</p>
*/
[property] short FillBitmapPositionOffsetY;
//-------------------------------------------------------------------------
/** Every second line of tiles is moved the given percent of the
witdh of the bitmap.
*/
[property] short FillBitmapOffsetX;
//-------------------------------------------------------------------------
/** Every second row of tiles is moved the given percent of the
height of the bitmap.
*/
[property] short FillBitmapOffsetY;
//-------------------------------------------------------------------------
/** The RectanglePoint specifies the position inside of the bitmap to
use as the top left position for rendering.
*/
[property] RectanglePoint FillBitmapRectanglePoint;
//-------------------------------------------------------------------------
/** specifies if the size is given in percentage or as an absolute value.
<p>If this is <TRUE/>, the properties <member>FillBitmapSizeX</member>
and <member>FillBitmapSizeY</member> contain the size of the tile in
percent of the size of the original bitmap. If this is <FALSE/>, the
size of the tile is specified with 1/100th mm.
*/
[property] boolean FillBitmapLogicalSize;
//-------------------------------------------------------------------------
/** This is the width of the tile for filling.
<p>Depending on the property <member>FillBitmapLogicalSize</member>,
this is either relative or absolute.
*/
[property] long FillBitmapSizeX;
//-------------------------------------------------------------------------
/** This is the height of the tile for filling.
<p>Depending on the property <member>FillBitmapLogicalSize</member>,
this is either relative or absolute.
*/
[property] long FillBitmapSizeY;
//-------------------------------------------------------------------------
/** this enum selects how a area is filled with a single bitmap.
<p>This property corresponds to the properties <member>
FillBitmapStretch</member> and <member>FillBitmapTile</member>.</p>
<p>If set to <const>BitmapMode::REPEAT</const>, the property
FillBitmapStretch is set to <FALSE/>, and the property FillBitmapTile
is set to <TRUE/>.</p>
<p>If set to <const>BitmapMode::STRETCH</const>, the property
FillBitmapStretch is set to <TRUE/>, and the property FillBitmapTile
is set to <FALSE/>.</p>
<p>If set to <const>BitmapMode::NO_REPEAT</const>, both properties
FillBitmapStretch and FillBitmapTile are set to <FALSE/>.</p>
*/
[property] BitmapMode FillBitmapMode;
//-------------------------------------------------------------------------
/** if set, the fill bitmap is stretched to fill the area of the shape.
<p>This property should not be used anymore and is included here for
completeness. The <member>FillBitmapMode</member> property can be used
instead to set all supported bitmap modes.</p>
<p>If set to <TRUE/>, the value of the FillBitmapMode property changes
to <const>BitmapMode::STRETCH</const>. BUT: behaviour is undefined, if
the property <member>FillBitmapTile</member> is <TRUE/> too.</p>
<p>If set to <FALSE/>, the value of the FillBitmapMode property
changes to <const>BitmapMode::REPEAT</const> or <const>
BitmapMode::NO_REPEAT</const>, depending on the current value of the
<member>FillBitmapTile</member> property.</p>
*/
[optional, property] boolean FillBitmapStretch;
//-------------------------------------------------------------------------
/** if set, the fill bitmap is repeated to fill the area of the shape.
<p>This property should not be used anymore and is included here for
completeness. The <member>FillBitmapMode</member> property can be used
instead to set all supported bitmap modes.</p>
<p>If set to <TRUE/>, the value of the FillBitmapMode property changes
to <const>BitmapMode::REPEAT</const>. BUT: behaviour is undefined, if
the property <member>FillBitmapStretch</member> is <TRUE/> too.</p>
<p>If set to <FALSE/>, the value of the FillBitmapMode property
changes to <const>BitmapMode::STRETCH</const> or <const>
BitmapMode::NO_REPEAT</const>, depending on the current value of the
<member>FillBitmapStretch</member> property.</p>
*/
[optional, property] boolean FillBitmapTile;
//-------------------------------------------------------------------------
};
//=============================================================================
}; }; }; };
#endif