1/************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27#ifndef __com_sun_star_rendering_ViewState_idl__ 28#define __com_sun_star_rendering_ViewState_idl__ 29 30#ifndef __com_sun_star_geometry_AffineMatrix2D_idl__ 31#include <com/sun/star/geometry/AffineMatrix2D.idl> 32#endif 33 34module com { module sun { module star { module rendering { 35 36published interface XPolyPolygon2D; 37 38/** This structure contains information considered the view state.<p> 39 40 This structure contains information considered the view state, 41 i.e. the invariant setup used when painting a whole view of 42 something.<p> 43 44 @since OOo 2.0 45 */ 46published struct ViewState 47{ 48 /** The affine transform associated with the view.<p> 49 50 This member is used to transform coordinates of draw 51 operations from user space to screen space.<p> 52 */ 53 ::com::sun::star::geometry::AffineMatrix2D AffineTransform; 54 55 //------------------------------------------------------------------------- 56 57 /** The clipping area associated with the view.<p> 58 59 This clipping is interpreted in the view coordinate systems, 60 i.e. subject to the view transform before mapping to the 61 device coordinate space.<p> 62 63 Specifying an empty interface denotes no clipping, 64 i.e. everything rendered to the canvas will be visible 65 (subject to device-dependent constraints, of 66 course). Specifying an empty XPolyPolygon2D, i.e. a 67 poly-polygon containing zero polygons, or an XPolyPolygon2D 68 with any number of empty sub-polygons, denotes the NULL 69 clip. That means, nothing rendered to the canvas will be 70 visible.<p> 71 */ 72 XPolyPolygon2D Clip; 73}; 74 75}; }; }; }; 76 77#endif 78