1*d1766043SAndrew Rist/************************************************************** 2*d1766043SAndrew Rist * 3*d1766043SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*d1766043SAndrew Rist * or more contributor license agreements. See the NOTICE file 5*d1766043SAndrew Rist * distributed with this work for additional information 6*d1766043SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*d1766043SAndrew Rist * to you under the Apache License, Version 2.0 (the 8*d1766043SAndrew Rist * "License"); you may not use this file except in compliance 9*d1766043SAndrew Rist * with the License. You may obtain a copy of the License at 10*d1766043SAndrew Rist * 11*d1766043SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12*d1766043SAndrew Rist * 13*d1766043SAndrew Rist * Unless required by applicable law or agreed to in writing, 14*d1766043SAndrew Rist * software distributed under the License is distributed on an 15*d1766043SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*d1766043SAndrew Rist * KIND, either express or implied. See the License for the 17*d1766043SAndrew Rist * specific language governing permissions and limitations 18*d1766043SAndrew Rist * under the License. 19*d1766043SAndrew Rist * 20*d1766043SAndrew Rist *************************************************************/ 21*d1766043SAndrew Rist 22*d1766043SAndrew Rist 23cdf0e10cSrcweir#ifndef __com_sun_star_rendering_RenderState_idl__ 24cdf0e10cSrcweir#define __com_sun_star_rendering_RenderState_idl__ 25cdf0e10cSrcweir 26cdf0e10cSrcweir#ifndef __com_sun_star_geometry_AffineMatrix2D_idl__ 27cdf0e10cSrcweir#include <com/sun/star/geometry/AffineMatrix2D.idl> 28cdf0e10cSrcweir#endif 29cdf0e10cSrcweir#ifndef __com_sun_star_rendering_XColorSpace_idl__ 30cdf0e10cSrcweir#include <com/sun/star/rendering/XColorSpace.idl> 31cdf0e10cSrcweir#endif 32cdf0e10cSrcweir 33cdf0e10cSrcweirmodule com { module sun { module star { module rendering { 34cdf0e10cSrcweir 35cdf0e10cSrcweirpublished interface XPolyPolygon2D; 36cdf0e10cSrcweir 37cdf0e10cSrcweir/** This structure contains information passed to each 38cdf0e10cSrcweir <type>XCanvas</type> render operation.<p> 39cdf0e10cSrcweir 40cdf0e10cSrcweir This structure contains information considered as the render 41cdf0e10cSrcweir state, i.e. the common setup required to render each individual 42cdf0e10cSrcweir <type>XCanvas</type> primitive.<p> 43cdf0e10cSrcweir 44cdf0e10cSrcweir @since OOo 2.0 45cdf0e10cSrcweir */ 46cdf0e10cSrcweirpublished struct RenderState 47cdf0e10cSrcweir{ 48cdf0e10cSrcweir /** The affine transform associated with this render 49cdf0e10cSrcweir operation.<p> 50cdf0e10cSrcweir 51cdf0e10cSrcweir This is used to transform coordinates of canvas primitives 52cdf0e10cSrcweir from user space to view space (from which they are 53cdf0e10cSrcweir subsequently transformed to device space by the view 54cdf0e10cSrcweir transform).<p> 55cdf0e10cSrcweir */ 56cdf0e10cSrcweir ::com::sun::star::geometry::AffineMatrix2D AffineTransform; 57cdf0e10cSrcweir 58cdf0e10cSrcweir //------------------------------------------------------------------------- 59cdf0e10cSrcweir 60cdf0e10cSrcweir /** The clipping area associated with this render operation.<p> 61cdf0e10cSrcweir 62cdf0e10cSrcweir This clipping is interpreted in the user coordinate system, 63cdf0e10cSrcweir i.e. subject to the render state transform followed by the 64cdf0e10cSrcweir view transform before mapped to device coordinate space.<p> 65cdf0e10cSrcweir 66cdf0e10cSrcweir Specifying an empty interface denotes no clipping, 67cdf0e10cSrcweir i.e. everything rendered to the canvas will be visible 68cdf0e10cSrcweir (subject to device-dependent constraints, of 69cdf0e10cSrcweir course). Specifying an empty XPolyPolygon2D, i.e. a 70cdf0e10cSrcweir poly-polygon containing zero polygons, or an XPolyPolygon2D 71cdf0e10cSrcweir with any number of empty sub-polygons, denotes the NULL 72cdf0e10cSrcweir clip. That means, nothing rendered to the canvas will be 73cdf0e10cSrcweir visible.<p> 74cdf0e10cSrcweir */ 75cdf0e10cSrcweir XPolyPolygon2D Clip; 76cdf0e10cSrcweir 77cdf0e10cSrcweir //------------------------------------------------------------------------- 78cdf0e10cSrcweir 79cdf0e10cSrcweir /** The device color associated with this render operation.<p> 80cdf0e10cSrcweir 81cdf0e10cSrcweir Note that this need not be RGB here, but depends on the active 82cdf0e10cSrcweir device color space.<p> 83cdf0e10cSrcweir 84cdf0e10cSrcweir @see XGraphicDevice 85cdf0e10cSrcweir @see XColorSpace 86cdf0e10cSrcweir */ 87cdf0e10cSrcweir sequence<ColorComponent> DeviceColor; 88cdf0e10cSrcweir 89cdf0e10cSrcweir //------------------------------------------------------------------------- 90cdf0e10cSrcweir 91cdf0e10cSrcweir /** The composition mode associated with this render 92cdf0e10cSrcweir operation.<p> 93cdf0e10cSrcweir 94cdf0e10cSrcweir The composite mode determines in which way the primitive and 95cdf0e10cSrcweir possibly existing background is combined. The permissible 96cdf0e10cSrcweir values must be one out of the <type>CompositeOperation</type> 97cdf0e10cSrcweir constants.<p> 98cdf0e10cSrcweir */ 99cdf0e10cSrcweir byte CompositeOperation; 100cdf0e10cSrcweir}; 101cdf0e10cSrcweir 102cdf0e10cSrcweir}; }; }; }; 103cdf0e10cSrcweir 104cdf0e10cSrcweir#endif 105