diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
commit | ed5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch) | |
tree | 7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /offapi/com/sun/star/rendering/Texture.idl | |
parent | Initial commit. (diff) | |
download | libreoffice-upstream.tar.xz libreoffice-upstream.zip |
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | offapi/com/sun/star/rendering/Texture.idl | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/offapi/com/sun/star/rendering/Texture.idl b/offapi/com/sun/star/rendering/Texture.idl new file mode 100644 index 000000000..78f223dd3 --- /dev/null +++ b/offapi/com/sun/star/rendering/Texture.idl @@ -0,0 +1,139 @@ +/* -*- 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_rendering_Texture_idl__ +#define __com_sun_star_rendering_Texture_idl__ + +#include <com/sun/star/geometry/AffineMatrix2D.idl> +#include <com/sun/star/rendering/StrokeAttributes.idl> + +module com { module sun { module star { module rendering { + +interface XBitmap; +interface XParametricPolyPolygon2D; + +/** Contains all information needed to define a texture.<p> + + This structure contains all information necessary to define a + texture. A texture describes the filled area of polygonal shapes, + providing its own transformation matrix, repeat mode, and + transparency.<p> + + To achieve uniformity, if this texture has a bitmap set, it is + scaled in such a way that it will cover the same [0,1]x[0,1] box + as the hatch and the gradient. The transformation member can then + be used to scale the complete texture as it fits suit.<p> + + @since OOo 2.0 + */ +struct Texture +{ + /** Texture transformation from texture to primitive space.<p> + + This member allows arbitrary transformations of the texture, + relative to the textured primitive. Thus, the total + transformation from the [0,1]x[0,1] texture space to the + device coordinate space is the concatenation of texture, + render state, and view state transformation (with only render + state and view state transformation being applied to the + textured primitive).<p> + */ + ::com::sun::star::geometry::AffineMatrix2D AffineTransform; + + + /** Overall transparency of the texturing.<p> + + The valid range for this value is [0,1], where 0 denotes + complete transparency, and 1 denotes fully opaque.<p> + */ + double Alpha; + + + /** Specifies the number of parameterized polygons used for the texture.<p> + + This member specifies the number of polygons the parametric + polygon interface is queried. The continuous range [0,1] of + the XParametricPolyPolygon::getOutline() method is divided up + into numberOfHatchPolygons equal parts, and for everyone of + these parts, the start of the interval is plugged into the + getOutline method. For example, if numberOfHatchPolygons is 2, + then getOutline is called twice, once with 0.0 and once with + 0.5. Use this parameter to control the density of the + hatching.<p> + */ + long NumberOfHatchPolygons; + + + /** Texture bitmap.<p> + + This member can be used together with gradient and hatching.<p> + + The bitmap is scaled to a one-by-one rectangle, to cover the + same area as both the gradient and the hatching.<p> + */ + XBitmap Bitmap; + + + /** Texture gradient.<p> + + This member can be used together with bitmap and hatching. The + parametric polygons color value is used to fill the returned + polygonal outlines.<p> + */ + XParametricPolyPolygon2D Gradient; + + + /** Texture hatching.<p> + + This member can be used together with bitmap and gradient. The + parametric polygons color value is used to stroke the returned + polygonal outlines.<p> + */ + XParametricPolyPolygon2D Hatching; + + + /** Specifies the stroke attributes used for hatching.<p> + + Use 0.0 as the strokeWidth here to indicate hair lines.<p> + */ + StrokeAttributes HatchAttributes; + + + /** Repeat mode of the texture, x direction.<p> + + The repeat mode is separated into x and y direction, this is + the x direction part. Permissible values are from the + TexturingMode constants.<p> + */ + byte RepeatModeX; + + /** Repeat mode of the texture, y direction.<p> + + The repeat mode is separated into x and y direction, this is + the y direction part. Permissible values are from the + TexturingMode constants.<p> + */ + byte RepeatModeY; + +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |