1*b1cdbd2cSJim Jagielski/************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_drawing_FillProperties_idl__ 24*b1cdbd2cSJim Jagielski#define __com_sun_star_drawing_FillProperties_idl__ 25*b1cdbd2cSJim Jagielski 26*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_drawing_FillStyle_idl__ 27*b1cdbd2cSJim Jagielski#include <com/sun/star/drawing/FillStyle.idl> 28*b1cdbd2cSJim Jagielski#endif 29*b1cdbd2cSJim Jagielski 30*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_util_Color_idl__ 31*b1cdbd2cSJim Jagielski#include <com/sun/star/util/Color.idl> 32*b1cdbd2cSJim Jagielski#endif 33*b1cdbd2cSJim Jagielski 34*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_awt_Gradient_idl__ 35*b1cdbd2cSJim Jagielski#include <com/sun/star/awt/Gradient.idl> 36*b1cdbd2cSJim Jagielski#endif 37*b1cdbd2cSJim Jagielski 38*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_drawing_Hatch_idl__ 39*b1cdbd2cSJim Jagielski#include <com/sun/star/drawing/Hatch.idl> 40*b1cdbd2cSJim Jagielski#endif 41*b1cdbd2cSJim Jagielski 42*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_drawing_BitmapMode_idl__ 43*b1cdbd2cSJim Jagielski#include <com/sun/star/drawing/BitmapMode.idl> 44*b1cdbd2cSJim Jagielski#endif 45*b1cdbd2cSJim Jagielski 46*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_awt_XBitmap_idl__ 47*b1cdbd2cSJim Jagielski#include <com/sun/star/awt/XBitmap.idl> 48*b1cdbd2cSJim Jagielski#endif 49*b1cdbd2cSJim Jagielski 50*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_drawing_RectanglePoint_idl__ 51*b1cdbd2cSJim Jagielski#include <com/sun/star/drawing/RectanglePoint.idl> 52*b1cdbd2cSJim Jagielski#endif 53*b1cdbd2cSJim Jagielski 54*b1cdbd2cSJim Jagielski 55*b1cdbd2cSJim Jagielski//============================================================================= 56*b1cdbd2cSJim Jagielski 57*b1cdbd2cSJim Jagielskimodule com { module sun { module star { module drawing { 58*b1cdbd2cSJim Jagielski 59*b1cdbd2cSJim Jagielski//============================================================================= 60*b1cdbd2cSJim Jagielski 61*b1cdbd2cSJim Jagielski/** This is a set of properties to describe the style for rendering an area. 62*b1cdbd2cSJim Jagielski */ 63*b1cdbd2cSJim Jagielskipublished service FillProperties 64*b1cdbd2cSJim Jagielski{ 65*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 66*b1cdbd2cSJim Jagielski /** This enumeration selects the style the area will be filled with. 67*b1cdbd2cSJim Jagielski */ 68*b1cdbd2cSJim Jagielski [property] FillStyle FillStyle; 69*b1cdbd2cSJim Jagielski 70*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 71*b1cdbd2cSJim Jagielski /** If the property <member>FillStyle</member> is set to <const> 72*b1cdbd2cSJim Jagielski FillStyle::SOLID</const>, this is the color used. 73*b1cdbd2cSJim Jagielski */ 74*b1cdbd2cSJim Jagielski [property] com::sun::star::util::Color FillColor; 75*b1cdbd2cSJim Jagielski 76*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 77*b1cdbd2cSJim Jagielski /** This is the transparence of the filled area. 78*b1cdbd2cSJim Jagielski 79*b1cdbd2cSJim Jagielski <p>This property is only valid if the property <member>FillStyle 80*b1cdbd2cSJim Jagielski </member> is set to <const>FillStyle::SOLID</const>. 81*b1cdbd2cSJim Jagielski */ 82*b1cdbd2cSJim Jagielski [property] short FillTransparence; 83*b1cdbd2cSJim Jagielski 84*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 85*b1cdbd2cSJim Jagielski /** If a gradient is used for transparency, this is the name of the 86*b1cdbd2cSJim Jagielski used transparence gradient style or it is empty. If you set the name 87*b1cdbd2cSJim Jagielski of a transparence gradient style contained in the document, this 88*b1cdbd2cSJim Jagielski style used. 89*b1cdbd2cSJim Jagielski */ 90*b1cdbd2cSJim Jagielski [property] string FillTransparenceGradientName; 91*b1cdbd2cSJim Jagielski 92*b1cdbd2cSJim Jagielski 93*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 94*b1cdbd2cSJim Jagielski /** This describes the transparency of the fill area as a gradient. 95*b1cdbd2cSJim Jagielski */ 96*b1cdbd2cSJim Jagielski [optional, property] com::sun::star::awt::Gradient FillTransparenceGradient; 97*b1cdbd2cSJim Jagielski 98*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 99*b1cdbd2cSJim Jagielski /** If the property <member>FillStyle</member> is set to <const> 100*b1cdbd2cSJim Jagielski FillStyle::GRADIENT</const>, this is the name of the used fill 101*b1cdbd2cSJim Jagielski gradient style. 102*b1cdbd2cSJim Jagielski */ 103*b1cdbd2cSJim Jagielski [property] string FillGradientName; 104*b1cdbd2cSJim Jagielski 105*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 106*b1cdbd2cSJim Jagielski /** If the property <member>FillStyle</member> is set to <const> 107*b1cdbd2cSJim Jagielski FillStyle::GRADIENT</const>, this describes the gradient used. 108*b1cdbd2cSJim Jagielski */ 109*b1cdbd2cSJim Jagielski [optional, property] com::sun::star::awt::Gradient FillGradient; 110*b1cdbd2cSJim Jagielski 111*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 112*b1cdbd2cSJim Jagielski /** If the property <member>FillStyle</member> is set to <const> 113*b1cdbd2cSJim Jagielski FillStyle::HATCH</const>, this is the name of the used fill hatch 114*b1cdbd2cSJim Jagielski style. 115*b1cdbd2cSJim Jagielski */ 116*b1cdbd2cSJim Jagielski [property] string FillHatchName; 117*b1cdbd2cSJim Jagielski 118*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 119*b1cdbd2cSJim Jagielski /** If the property <member>FillStyle</member> is set to <const> 120*b1cdbd2cSJim Jagielski FillStyle::HATCH</const>, this describes the hatch used. 121*b1cdbd2cSJim Jagielski */ 122*b1cdbd2cSJim Jagielski [optional, property] Hatch FillHatch; 123*b1cdbd2cSJim Jagielski 124*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 125*b1cdbd2cSJim Jagielski /** if this is <TRUE/>, the transparent background of a 126*b1cdbd2cSJim Jagielski hatch filled area is drawn in the current background color. 127*b1cdbd2cSJim Jagielski */ 128*b1cdbd2cSJim Jagielski [property] boolean FillBackground; 129*b1cdbd2cSJim Jagielski 130*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 131*b1cdbd2cSJim Jagielski /** If the property <memebr>FillStyle</member> is set to <const> 132*b1cdbd2cSJim Jagielski FillStyle::BITMAP</const>, this is the name of the used fill bitmap 133*b1cdbd2cSJim Jagielski style. 134*b1cdbd2cSJim Jagielski */ 135*b1cdbd2cSJim Jagielski [property] string FillBitmapName; 136*b1cdbd2cSJim Jagielski 137*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 138*b1cdbd2cSJim Jagielski /** If the property <member>FillStyle</member> is set to <const> 139*b1cdbd2cSJim Jagielski FillStyle::BITMAP</const>, this is the bitmap used. 140*b1cdbd2cSJim Jagielski */ 141*b1cdbd2cSJim Jagielski [optional, property] com::sun::star::awt::XBitmap FillBitmap; 142*b1cdbd2cSJim Jagielski 143*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 144*b1cdbd2cSJim Jagielski /** If the property <member>FillStyle</member> is set to <const> 145*b1cdbd2cSJim Jagielski FillStyle::BITMAP</const>, this is a URL to the bitmap used. 146*b1cdbd2cSJim Jagielski */ 147*b1cdbd2cSJim Jagielski [optional, property] string FillBitmapURL; 148*b1cdbd2cSJim Jagielski 149*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 150*b1cdbd2cSJim Jagielski /** This is the horizontal offset where the tile starts. 151*b1cdbd2cSJim Jagielski 152*b1cdbd2cSJim Jagielski <p>It is given in percent in relation to the width of the bitmap.</p> 153*b1cdbd2cSJim Jagielski */ 154*b1cdbd2cSJim Jagielski [property] short FillBitmapPositionOffsetX; 155*b1cdbd2cSJim Jagielski 156*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 157*b1cdbd2cSJim Jagielski /** This is the vertical offset where the tile starts. 158*b1cdbd2cSJim Jagielski 159*b1cdbd2cSJim Jagielski <p>It is given in percent in relation to the height of the bitmap.</p> 160*b1cdbd2cSJim Jagielski */ 161*b1cdbd2cSJim Jagielski [property] short FillBitmapPositionOffsetY; 162*b1cdbd2cSJim Jagielski 163*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 164*b1cdbd2cSJim Jagielski /** Every second line of tiles is moved the given percent of the 165*b1cdbd2cSJim Jagielski witdh of the bitmap. 166*b1cdbd2cSJim Jagielski */ 167*b1cdbd2cSJim Jagielski [property] short FillBitmapOffsetX; 168*b1cdbd2cSJim Jagielski 169*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 170*b1cdbd2cSJim Jagielski /** Every second row of tiles is moved the given percent of the 171*b1cdbd2cSJim Jagielski height of the bitmap. 172*b1cdbd2cSJim Jagielski */ 173*b1cdbd2cSJim Jagielski [property] short FillBitmapOffsetY; 174*b1cdbd2cSJim Jagielski 175*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 176*b1cdbd2cSJim Jagielski /** The RectanglePoint specifies the position inside of the bitmap to 177*b1cdbd2cSJim Jagielski use as the top left position for rendering. 178*b1cdbd2cSJim Jagielski */ 179*b1cdbd2cSJim Jagielski [property] RectanglePoint FillBitmapRectanglePoint; 180*b1cdbd2cSJim Jagielski 181*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 182*b1cdbd2cSJim Jagielski /** specifies if the size is given in percentage or as an absolute value. 183*b1cdbd2cSJim Jagielski 184*b1cdbd2cSJim Jagielski <p>If this is <TRUE/>, the properties <member>FillBitmapSizeX</member> 185*b1cdbd2cSJim Jagielski and <member>FillBitmapSizeY</member> contain the size of the tile in 186*b1cdbd2cSJim Jagielski percent of the size of the original bitmap. If this is <FALSE/>, the 187*b1cdbd2cSJim Jagielski size of the tile is specified with 1/100th mm. 188*b1cdbd2cSJim Jagielski */ 189*b1cdbd2cSJim Jagielski [property] boolean FillBitmapLogicalSize; 190*b1cdbd2cSJim Jagielski 191*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 192*b1cdbd2cSJim Jagielski /** This is the width of the tile for filling. 193*b1cdbd2cSJim Jagielski 194*b1cdbd2cSJim Jagielski <p>Depending on the property <member>FillBitmapLogicalSize</member>, 195*b1cdbd2cSJim Jagielski this is either relative or absolute. 196*b1cdbd2cSJim Jagielski */ 197*b1cdbd2cSJim Jagielski [property] long FillBitmapSizeX; 198*b1cdbd2cSJim Jagielski 199*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 200*b1cdbd2cSJim Jagielski /** This is the height of the tile for filling. 201*b1cdbd2cSJim Jagielski 202*b1cdbd2cSJim Jagielski <p>Depending on the property <member>FillBitmapLogicalSize</member>, 203*b1cdbd2cSJim Jagielski this is either relative or absolute. 204*b1cdbd2cSJim Jagielski */ 205*b1cdbd2cSJim Jagielski [property] long FillBitmapSizeY; 206*b1cdbd2cSJim Jagielski 207*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 208*b1cdbd2cSJim Jagielski /** this enum selects how a area is filled with a single bitmap. 209*b1cdbd2cSJim Jagielski 210*b1cdbd2cSJim Jagielski <p>This property corresponds to the properties <member> 211*b1cdbd2cSJim Jagielski FillBitmapStretch</member> and <member>FillBitmapTile</member>.</p> 212*b1cdbd2cSJim Jagielski 213*b1cdbd2cSJim Jagielski <p>If set to <const>BitmapMode::REPEAT</const>, the property 214*b1cdbd2cSJim Jagielski FillBitmapStretch is set to <FALSE/>, and the property FillBitmapTile 215*b1cdbd2cSJim Jagielski is set to <TRUE/>.</p> 216*b1cdbd2cSJim Jagielski 217*b1cdbd2cSJim Jagielski <p>If set to <const>BitmapMode::STRETCH</const>, the property 218*b1cdbd2cSJim Jagielski FillBitmapStretch is set to <TRUE/>, and the property FillBitmapTile 219*b1cdbd2cSJim Jagielski is set to <FALSE/>.</p> 220*b1cdbd2cSJim Jagielski 221*b1cdbd2cSJim Jagielski <p>If set to <const>BitmapMode::NO_REPEAT</const>, both properties 222*b1cdbd2cSJim Jagielski FillBitmapStretch and FillBitmapTile are set to <FALSE/>.</p> 223*b1cdbd2cSJim Jagielski */ 224*b1cdbd2cSJim Jagielski [property] BitmapMode FillBitmapMode; 225*b1cdbd2cSJim Jagielski 226*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 227*b1cdbd2cSJim Jagielski /** if set, the fill bitmap is stretched to fill the area of the shape. 228*b1cdbd2cSJim Jagielski 229*b1cdbd2cSJim Jagielski <p>This property should not be used anymore and is included here for 230*b1cdbd2cSJim Jagielski completeness. The <member>FillBitmapMode</member> property can be used 231*b1cdbd2cSJim Jagielski instead to set all supported bitmap modes.</p> 232*b1cdbd2cSJim Jagielski 233*b1cdbd2cSJim Jagielski <p>If set to <TRUE/>, the value of the FillBitmapMode property changes 234*b1cdbd2cSJim Jagielski to <const>BitmapMode::STRETCH</const>. BUT: behaviour is undefined, if 235*b1cdbd2cSJim Jagielski the property <member>FillBitmapTile</member> is <TRUE/> too.</p> 236*b1cdbd2cSJim Jagielski 237*b1cdbd2cSJim Jagielski <p>If set to <FALSE/>, the value of the FillBitmapMode property 238*b1cdbd2cSJim Jagielski changes to <const>BitmapMode::REPEAT</const> or <const> 239*b1cdbd2cSJim Jagielski BitmapMode::NO_REPEAT</const>, depending on the current value of the 240*b1cdbd2cSJim Jagielski <member>FillBitmapTile</member> property.</p> 241*b1cdbd2cSJim Jagielski */ 242*b1cdbd2cSJim Jagielski [optional, property] boolean FillBitmapStretch; 243*b1cdbd2cSJim Jagielski 244*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 245*b1cdbd2cSJim Jagielski /** if set, the fill bitmap is repeated to fill the area of the shape. 246*b1cdbd2cSJim Jagielski 247*b1cdbd2cSJim Jagielski <p>This property should not be used anymore and is included here for 248*b1cdbd2cSJim Jagielski completeness. The <member>FillBitmapMode</member> property can be used 249*b1cdbd2cSJim Jagielski instead to set all supported bitmap modes.</p> 250*b1cdbd2cSJim Jagielski 251*b1cdbd2cSJim Jagielski <p>If set to <TRUE/>, the value of the FillBitmapMode property changes 252*b1cdbd2cSJim Jagielski to <const>BitmapMode::REPEAT</const>. BUT: behaviour is undefined, if 253*b1cdbd2cSJim Jagielski the property <member>FillBitmapStretch</member> is <TRUE/> too.</p> 254*b1cdbd2cSJim Jagielski 255*b1cdbd2cSJim Jagielski <p>If set to <FALSE/>, the value of the FillBitmapMode property 256*b1cdbd2cSJim Jagielski changes to <const>BitmapMode::STRETCH</const> or <const> 257*b1cdbd2cSJim Jagielski BitmapMode::NO_REPEAT</const>, depending on the current value of the 258*b1cdbd2cSJim Jagielski <member>FillBitmapStretch</member> property.</p> 259*b1cdbd2cSJim Jagielski */ 260*b1cdbd2cSJim Jagielski [optional, property] boolean FillBitmapTile; 261*b1cdbd2cSJim Jagielski 262*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 263*b1cdbd2cSJim Jagielski}; 264*b1cdbd2cSJim Jagielski 265*b1cdbd2cSJim Jagielski//============================================================================= 266*b1cdbd2cSJim Jagielski 267*b1cdbd2cSJim Jagielski}; }; }; }; 268*b1cdbd2cSJim Jagielski 269*b1cdbd2cSJim Jagielski#endif 270*b1cdbd2cSJim Jagielski 271