| /************************************************************** |
| * |
| * 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_rendering_Texture_idl__ |
| #define __com_sun_star_rendering_Texture_idl__ |
| |
| #ifndef __com_sun_star_geometry_AffineMatrix2D_idl__ |
| #include <com/sun/star/geometry/AffineMatrix2D.idl> |
| #endif |
| #ifndef __com_sun_star_rendering_StrokeAttributes_idl__ |
| #include <com/sun/star/rendering/StrokeAttributes.idl> |
| #endif |
| |
| module com { module sun { module star { module rendering { |
| |
| published interface XBitmap; |
| published 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 OpenOffice 2.0 |
| */ |
| published 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 |
| <type>TexturingMode</type> 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 |
| <type>TexturingMode</type> constants.<p> |
| */ |
| byte RepeatModeY; |
| |
| }; |
| |
| }; }; }; }; |
| |
| #endif |