Update ooo320-m1
[ooovba.git] / offapi / com / sun / star / rendering / XBitmapCanvas.idl
blob260422e026498fa204fd138f36ed3df1f5c868b0
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: XBitmapCanvas.idl,v $
10 * $Revision: 1.7 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef __com_sun_star_rendering_XBitmapCanvas_idl__
31 #define __com_sun_star_rendering_XBitmapCanvas_idl__
33 #ifndef __com_sun_star_uno_XInterface_idl__
34 #include <com/sun/star/uno/XInterface.idl>
35 #endif
36 #ifndef __com_sun_star_lang_IllegalArgumentException_idl__
37 #include <com/sun/star/lang/IllegalArgumentException.idl>
38 #endif
39 #ifndef __com_sun_star_geometry_RealRectangle2D_idl__
40 #include <com/sun/star/geometry/RealRectangle2D.idl>
41 #endif
42 #ifndef __com_sun_star_rendering_RenderState_idl__
43 #include <com/sun/star/rendering/RenderState.idl>
44 #endif
45 #ifndef __com_sun_star_rendering_XBitmap_idl__
46 #include <com/sun/star/rendering/XBitmap.idl>
47 #endif
48 #ifndef __com_sun_star_rendering_XCanvas_idl__
49 #include <com/sun/star/rendering/XCanvas.idl>
50 #endif
51 #ifndef __com_sun_star_rendering_VolatileContentDestroyedException_idl__
52 #include <com/sun/star/rendering/VolatileContentDestroyedException.idl>
53 #endif
56 module com { module sun { module star { module rendering {
58 /** This is a specialization of the canvas interface for bitmapped
59 canvases.<p>
61 This interface is a specialization of the canvas interface for
62 bitmapped canvases, where additional methods for accessing and
63 moving of bitmap content are provided.<p>
65 @since OOo 2.0.0
67 interface XBitmapCanvas : XCanvas
69 /** This method copies a rectangular area from a place of one
70 canvas to a place on another.<p>
72 This method copies a rectangular area from a place of one
73 canvas to a place on another. Source and destination areas are
74 permitted to overlap. If the source view or render state has a
75 clipping set, the regions clipped away from the source
76 rectangle are regarded fully transparent for the copy
77 operation. The device color for both source and destination
78 render state is ignored, the compositing mode only for the
79 source render state.<p>
81 @param sourceCanvas
82 Canvas from which to copy the bitmap data. Can be identical to
83 the canvas this method is called on, but must be valid.
85 @param sourceRect
86 Rectangle from which to copy the bitmap data. This rectangle
87 is subject to both view and render transformation, before
88 being applied. Thus, on screen, it does not necessarily
89 resemble a rectangle any more. The rectangle must be
90 non-empty, see
91 <type scope="::com::sun::star::geometry">RealRectangle2D</type>
92 for details.
94 @param sourceViewState
95 The view state to apply to the source of this copy
96 operation. The view transformation must be non-singular.
98 @param sourceRenderState
99 The render state to apply to the source of this copy
100 operation. The render transformation must be non-singular, and
101 the compositing mode must be one of the
102 <type>CompositingOperation</type> values.
104 @param destRect
105 Rectangle into which to copy the bitmap data. This rectangle
106 is subject to both view and render transformation, before
107 being applied. Thus, on screen, it does not necessarily
108 resemble a rectangle any more. The rectangle must be
109 non-empty, see
110 <type scope="::com::sun::star::geometry">RealRectangle2D</type>
111 for details.
113 @param destViewState
114 The view state to apply to the destination of this copy
115 operation. The view transformation must be non-singular.
117 @param destRenderState
119 The render state to apply to the destination of this copy
120 operation. The render transformation must be non-singular, and
121 the compositing mode must be one of the
122 <type>CompositingOperation</type> values.
124 @throws <type>com::sun::star::lang::IllegalArgumentException</type>
125 if one of the parameters are not within the specified range.
127 void copyRect( [in] XBitmapCanvas sourceCanvas,
128 [in] ::com::sun::star::geometry::RealRectangle2D sourceRect, [in] ViewState sourceViewState, [in] RenderState sourceRenderState,
129 [in] ::com::sun::star::geometry::RealRectangle2D destRect, [in] ViewState destViewState, [in] RenderState destRenderState )
130 raises (com::sun::star::lang::IllegalArgumentException,
131 VolatileContentDestroyedException);
135 //=============================================================================
137 // TODO: Multiple-inheritance interfaces
139 /** This service provides the interfaces for a <type>XBitmapCanvas</type>
141 service BitmapCanvas
143 /** Canvas interface, to issue rendering operations.
145 interface XBitmapCanvas;
147 /** Bitmap interface, to directly manipulate the pixel.
149 interface XBitmap;
152 }; }; }; };
154 #endif