| /************************************************************** |
| * |
| * 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_RenderState_idl__ |
| #define __com_sun_star_rendering_RenderState_idl__ |
| |
| #ifndef __com_sun_star_geometry_AffineMatrix2D_idl__ |
| #include <com/sun/star/geometry/AffineMatrix2D.idl> |
| #endif |
| #ifndef __com_sun_star_rendering_XColorSpace_idl__ |
| #include <com/sun/star/rendering/XColorSpace.idl> |
| #endif |
| |
| module com { module sun { module star { module rendering { |
| |
| published interface XPolyPolygon2D; |
| |
| /** This structure contains information passed to each |
| <type>XCanvas</type> render operation.<p> |
| |
| This structure contains information considered as the render |
| state, i.e. the common setup required to render each individual |
| <type>XCanvas</type> primitive.<p> |
| |
| @since OpenOffice 2.0 |
| */ |
| published struct RenderState |
| { |
| /** The affine transform associated with this render |
| operation.<p> |
| |
| This is used to transform coordinates of canvas primitives |
| from user space to view space (from which they are |
| subsequently transformed to device space by the view |
| transform).<p> |
| */ |
| ::com::sun::star::geometry::AffineMatrix2D AffineTransform; |
| |
| //------------------------------------------------------------------------- |
| |
| /** The clipping area associated with this render operation.<p> |
| |
| This clipping is interpreted in the user coordinate system, |
| i.e. subject to the render state transform followed by the |
| view transform before mapped to device coordinate space.<p> |
| |
| Specifying an empty interface denotes no clipping, |
| i.e. everything rendered to the canvas will be visible |
| (subject to device-dependent constraints, of |
| course). Specifying an empty XPolyPolygon2D, i.e. a |
| poly-polygon containing zero polygons, or an XPolyPolygon2D |
| with any number of empty sub-polygons, denotes the NULL |
| clip. That means, nothing rendered to the canvas will be |
| visible.<p> |
| */ |
| XPolyPolygon2D Clip; |
| |
| //------------------------------------------------------------------------- |
| |
| /** The device color associated with this render operation.<p> |
| |
| Note that this need not be RGB here, but depends on the active |
| device color space.<p> |
| |
| @see XGraphicDevice |
| @see XColorSpace |
| */ |
| sequence<ColorComponent> DeviceColor; |
| |
| //------------------------------------------------------------------------- |
| |
| /** The composition mode associated with this render |
| operation.<p> |
| |
| The composite mode determines in which way the primitive and |
| possibly existing background is combined. The permissible |
| values must be one out of the <type>CompositeOperation</type> |
| constants.<p> |
| */ |
| byte CompositeOperation; |
| }; |
| |
| }; }; }; }; |
| |
| #endif |