1/************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23#ifndef __com_sun_star_rendering_ViewState_idl__ 24#define __com_sun_star_rendering_ViewState_idl__ 25 26#ifndef __com_sun_star_geometry_AffineMatrix2D_idl__ 27#include <com/sun/star/geometry/AffineMatrix2D.idl> 28#endif 29 30module com { module sun { module star { module rendering { 31 32published interface XPolyPolygon2D; 33 34/** This structure contains information considered the view state.<p> 35 36 This structure contains information considered the view state, 37 i.e. the invariant setup used when painting a whole view of 38 something.<p> 39 40 @since OpenOffice 2.0 41 */ 42published struct ViewState 43{ 44 /** The affine transform associated with the view.<p> 45 46 This member is used to transform coordinates of draw 47 operations from user space to screen space.<p> 48 */ 49 ::com::sun::star::geometry::AffineMatrix2D AffineTransform; 50 51 //------------------------------------------------------------------------- 52 53 /** The clipping area associated with the view.<p> 54 55 This clipping is interpreted in the view coordinate systems, 56 i.e. subject to the view transform before mapping to the 57 device coordinate space.<p> 58 59 Specifying an empty interface denotes no clipping, 60 i.e. everything rendered to the canvas will be visible 61 (subject to device-dependent constraints, of 62 course). Specifying an empty XPolyPolygon2D, i.e. a 63 poly-polygon containing zero polygons, or an XPolyPolygon2D 64 with any number of empty sub-polygons, denotes the NULL 65 clip. That means, nothing rendered to the canvas will be 66 visible.<p> 67 */ 68 XPolyPolygon2D Clip; 69}; 70 71}; }; }; }; 72 73#endif 74