Version 5.2.6.1, tag libreoffice-5.2.6.1
[LibreOffice.git] / offapi / com / sun / star / rendering / ViewState.idl
bloba3c7e6acacf744fee1bdbca16a86d42428a37f44
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef __com_sun_star_rendering_ViewState_idl__
20 #define __com_sun_star_rendering_ViewState_idl__
22 #include <com/sun/star/geometry/AffineMatrix2D.idl>
24 module com { module sun { module star { module rendering {
26 interface XPolyPolygon2D;
28 /** This structure contains information considered the view state.<p>
30 This structure contains information considered the view state,
31 i.e. the invariant setup used when painting a whole view of
32 something.<p>
34 @since OOo 2.0
36 struct ViewState
38 /** The affine transform associated with the view.<p>
40 This member is used to transform coordinates of draw
41 operations from user space to screen space.<p>
43 ::com::sun::star::geometry::AffineMatrix2D AffineTransform;
46 /** The clipping area associated with the view.<p>
48 This clipping is interpreted in the view coordinate systems,
49 i.e. subject to the view transform before mapping to the
50 device coordinate space.<p>
52 Specifying an empty interface denotes no clipping,
53 i.e. everything rendered to the canvas will be visible
54 (subject to device-dependent constraints, of
55 course). Specifying an empty XPolyPolygon2D, i.e. a
56 poly-polygon containing zero polygons, or an XPolyPolygon2D
57 with any number of empty sub-polygons, denotes the NULL
58 clip. That means, nothing rendered to the canvas will be
59 visible.<p>
61 XPolyPolygon2D Clip;
64 }; }; }; };
66 #endif
68 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */