/* -*- 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 . */ #ifndef __com_sun_star_drawing_FillProperties_idl__ #define __com_sun_star_drawing_FillProperties_idl__ #include #include #include #include #include #include #include #include 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 #FillStyle is set to FillStyle::SOLID, this is the color used. */ [property] com::sun::star::util::Color FillColor; /** This is the transparence of the filled area.

This property is only valid if the property #FillStyle is set to FillStyle::SOLID. */ [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 #FillStyle is set to FillStyle::GRADIENT, this is the name of the used fill gradient style. */ [property] string FillGradientName; /** If the property #FillStyle is set to FillStyle::GRADIENT, this describes the gradient used. */ [optional, property] com::sun::star::awt::Gradient FillGradient; /** If the property #FillStyle is set to FillStyle::HATCH, this is the name of the used fill hatch style. */ [property] string FillHatchName; /** If the property #FillStyle is set to FillStyle::HATCH, 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 #FillStyle is set to FillStyle::BITMAP, this is the name of the used fill bitmap style. */ [property] string FillBitmapName; /** If the property #FillStyle is set to FillStyle::BITMAP, this is the bitmap used. */ [optional, property] com::sun::star::awt::XBitmap FillBitmap; /** If the property #FillStyle is set to FillStyle::BITMAP, this is a URL to the bitmap used. @deprecated as of LibreOffice 6.1, use FillBitmap Note the new behaviour since it this was deprecated: This property can only be set and only external URLs are supported (no more vnd.sun.star.GraphicObject scheme). When a URL is set, then it will load the bitmap and set the FillBitmap property. */ [optional, property] string FillBitmapURL; /** This is the horizontal offset where the tile starts.

It is given in percent in relation to the width of the bitmap.

*/ [property] short FillBitmapPositionOffsetX; /** This is the vertical offset where the tile starts.

It is given in percent in relation to the height of the bitmap.

*/ [property] short FillBitmapPositionOffsetY; /** Every second line of tiles is moved the given percent of the width 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.

If this is `TRUE`, the properties #FillBitmapSizeX and #FillBitmapSizeY 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.

Depending on the property #FillBitmapLogicalSize, this is either relative or absolute. */ [property] long FillBitmapSizeX; /** This is the height of the tile for filling.

Depending on the property #FillBitmapLogicalSize, this is either relative or absolute. */ [property] long FillBitmapSizeY; /** this enum selects how a area is filled with a single bitmap.

This property corresponds to the properties #FillBitmapStretch and #FillBitmapTile.

If set to BitmapMode::REPEAT, the property FillBitmapStretch is set to `FALSE`, and the property FillBitmapTile is set to `TRUE`.

If set to BitmapMode::STRETCH, the property FillBitmapStretch is set to `TRUE`, and the property FillBitmapTile is set to `FALSE`.

If set to BitmapMode::NO_REPEAT, both properties FillBitmapStretch and FillBitmapTile are set to `FALSE`.

*/ [property] BitmapMode FillBitmapMode; /** if set, the fill bitmap is stretched to fill the area of the shape.

This property should not be used anymore and is included here for completeness. The #FillBitmapMode property can be used instead to set all supported bitmap modes.

If set to `TRUE`, the value of the FillBitmapMode property changes to BitmapMode::STRETCH. BUT: behavior is undefined, if the property #FillBitmapTile is `TRUE` too.

If set to `FALSE`, the value of the FillBitmapMode property changes to BitmapMode::REPEAT or BitmapMode::NO_REPEAT, depending on the current value of the #FillBitmapTile property.

*/ [optional, property] boolean FillBitmapStretch; /** if set, the fill bitmap is repeated to fill the area of the shape.

This property should not be used anymore and is included here for completeness. The #FillBitmapMode property can be used instead to set all supported bitmap modes.

If set to `TRUE`, the value of the FillBitmapMode property changes to BitmapMode::REPEAT. BUT: behavior is undefined, if the property #FillBitmapStretch is `TRUE` too.

If set to `FALSE`, the value of the FillBitmapMode property changes to BitmapMode::STRETCH or BitmapMode::NO_REPEAT, depending on the current value of the #FillBitmapStretch property.

*/ [optional, property] boolean FillBitmapTile; /** contains the cropping of the object. If the property #FillBitmapMode is set to BitmapMode::STRETCH, this is the cropping, otherwise it is empty. @see com::sun::star::text::GraphicCrop @since LibreOffice 4.3 */ [optional, property] com::sun::star::text::GraphicCrop GraphicCrop; }; }; }; }; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */