1d1766043SAndrew Rist/**************************************************************
2d1766043SAndrew Rist *
3d1766043SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4d1766043SAndrew Rist * or more contributor license agreements.  See the NOTICE file
5d1766043SAndrew Rist * distributed with this work for additional information
6d1766043SAndrew Rist * regarding copyright ownership.  The ASF licenses this file
7d1766043SAndrew Rist * to you under the Apache License, Version 2.0 (the
8d1766043SAndrew Rist * "License"); you may not use this file except in compliance
9d1766043SAndrew Rist * with the License.  You may obtain a copy of the License at
10d1766043SAndrew Rist *
11d1766043SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12d1766043SAndrew Rist *
13d1766043SAndrew Rist * Unless required by applicable law or agreed to in writing,
14d1766043SAndrew Rist * software distributed under the License is distributed on an
15d1766043SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16d1766043SAndrew Rist * KIND, either express or implied.  See the License for the
17d1766043SAndrew Rist * specific language governing permissions and limitations
18d1766043SAndrew Rist * under the License.
19d1766043SAndrew Rist *
20d1766043SAndrew Rist *************************************************************/
21d1766043SAndrew Rist
22d1766043SAndrew Rist
23cdf0e10cSrcweir#ifndef __com_sun_star_rendering_XBitmapCanvas_idl__
24cdf0e10cSrcweir#define __com_sun_star_rendering_XBitmapCanvas_idl__
25cdf0e10cSrcweir
26cdf0e10cSrcweir#ifndef __com_sun_star_uno_XInterface_idl__
27cdf0e10cSrcweir#include <com/sun/star/uno/XInterface.idl>
28cdf0e10cSrcweir#endif
29cdf0e10cSrcweir#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
30cdf0e10cSrcweir#include <com/sun/star/lang/IllegalArgumentException.idl>
31cdf0e10cSrcweir#endif
32cdf0e10cSrcweir#ifndef __com_sun_star_geometry_RealRectangle2D_idl__
33cdf0e10cSrcweir#include <com/sun/star/geometry/RealRectangle2D.idl>
34cdf0e10cSrcweir#endif
35cdf0e10cSrcweir#ifndef __com_sun_star_rendering_RenderState_idl__
36cdf0e10cSrcweir#include <com/sun/star/rendering/RenderState.idl>
37cdf0e10cSrcweir#endif
38cdf0e10cSrcweir#ifndef __com_sun_star_rendering_XCanvas_idl__
39cdf0e10cSrcweir#include <com/sun/star/rendering/XCanvas.idl>
40cdf0e10cSrcweir#endif
41cdf0e10cSrcweir#ifndef __com_sun_star_rendering_VolatileContentDestroyedException_idl__
42cdf0e10cSrcweir#include <com/sun/star/rendering/VolatileContentDestroyedException.idl>
43cdf0e10cSrcweir#endif
44cdf0e10cSrcweir
45cdf0e10cSrcweir
46cdf0e10cSrcweirmodule com { module sun { module star { module rendering {
47cdf0e10cSrcweir
48cdf0e10cSrcweir/** This is a specialization of the canvas interface for bitmapped
49cdf0e10cSrcweir    canvases.<p>
50cdf0e10cSrcweir
51cdf0e10cSrcweir    This interface is a specialization of the canvas interface for
52cdf0e10cSrcweir    bitmapped canvases, where additional methods for accessing and
53cdf0e10cSrcweir    moving of bitmap content are provided.<p>
54cdf0e10cSrcweir
55*d695a2a0SJürgen Schmidt    @since OpenOffice 2.0
56cdf0e10cSrcweir */
57cdf0e10cSrcweirpublished interface XBitmapCanvas : XCanvas
58cdf0e10cSrcweir{
59cdf0e10cSrcweir    /** This method copies a rectangular area from a place of one
60cdf0e10cSrcweir        canvas to a place on another.<p>
61cdf0e10cSrcweir
62cdf0e10cSrcweir        This method copies a rectangular area from a place of one
63cdf0e10cSrcweir        canvas to a place on another. Source and destination areas are
64cdf0e10cSrcweir        permitted to overlap. If the source view or render state has a
65cdf0e10cSrcweir        clipping set, the regions clipped away from the source
66cdf0e10cSrcweir        rectangle are regarded fully transparent for the copy
67cdf0e10cSrcweir        operation. The device color for both source and destination
68cdf0e10cSrcweir        render state is ignored, the compositing mode only for the
69cdf0e10cSrcweir        source render state.<p>
70cdf0e10cSrcweir
71cdf0e10cSrcweir        @param sourceCanvas
72cdf0e10cSrcweir        Canvas from which to copy the bitmap data. Can be identical to
73cdf0e10cSrcweir        the canvas this method is called on, but must be valid.
74cdf0e10cSrcweir
75cdf0e10cSrcweir        @param sourceRect
76cdf0e10cSrcweir        Rectangle from which to copy the bitmap data. This rectangle
77cdf0e10cSrcweir        is subject to both view and render transformation, before
78cdf0e10cSrcweir        being applied. Thus, on screen, it does not necessarily
79cdf0e10cSrcweir        resemble a rectangle any more. The rectangle must be
80cdf0e10cSrcweir        non-empty, see
81cdf0e10cSrcweir        <type scope="::com::sun::star::geometry">RealRectangle2D</type>
82cdf0e10cSrcweir        for details.
83cdf0e10cSrcweir
84cdf0e10cSrcweir        @param sourceViewState
85cdf0e10cSrcweir        The view state to apply to the source of this copy
86cdf0e10cSrcweir        operation. The view transformation must be non-singular.
87cdf0e10cSrcweir
88cdf0e10cSrcweir        @param sourceRenderState
89cdf0e10cSrcweir        The render state to apply to the source of this copy
90cdf0e10cSrcweir        operation. The render transformation must be non-singular, and
91cdf0e10cSrcweir        the compositing mode must be one of the
92cdf0e10cSrcweir        <type>CompositingOperation</type> values.
93cdf0e10cSrcweir
94cdf0e10cSrcweir        @param destRect
95cdf0e10cSrcweir        Rectangle into which to copy the bitmap data. This rectangle
96cdf0e10cSrcweir        is subject to both view and render transformation, before
97cdf0e10cSrcweir        being applied. Thus, on screen, it does not necessarily
98cdf0e10cSrcweir        resemble a rectangle any more. The rectangle must be
99cdf0e10cSrcweir        non-empty, see
100cdf0e10cSrcweir        <type scope="::com::sun::star::geometry">RealRectangle2D</type>
101cdf0e10cSrcweir        for details.
102cdf0e10cSrcweir
103cdf0e10cSrcweir        @param destViewState
104cdf0e10cSrcweir        The view state to apply to the destination of this copy
105cdf0e10cSrcweir        operation. The view transformation must be non-singular.
106cdf0e10cSrcweir
107cdf0e10cSrcweir        @param destRenderState
108cdf0e10cSrcweir
109cdf0e10cSrcweir        The render state to apply to the destination of this copy
110cdf0e10cSrcweir        operation. The render transformation must be non-singular, and
111cdf0e10cSrcweir        the compositing mode must be one of the
112cdf0e10cSrcweir        <type>CompositingOperation</type> values.
113cdf0e10cSrcweir
114cdf0e10cSrcweir        @throws <type>com::sun::star::lang::IllegalArgumentException</type>
115cdf0e10cSrcweir        if one of the parameters are not within the specified range.
116cdf0e10cSrcweir     */
117cdf0e10cSrcweir    void copyRect( [in] XBitmapCanvas sourceCanvas,
118cdf0e10cSrcweir                   [in] ::com::sun::star::geometry::RealRectangle2D sourceRect, [in] ViewState sourceViewState, [in] RenderState sourceRenderState,
119cdf0e10cSrcweir                   [in] ::com::sun::star::geometry::RealRectangle2D destRect, [in] ViewState destViewState, [in] RenderState destRenderState )
120cdf0e10cSrcweir        raises (com::sun::star::lang::IllegalArgumentException,
121cdf0e10cSrcweir                VolatileContentDestroyedException);
122cdf0e10cSrcweir
123cdf0e10cSrcweir};
124cdf0e10cSrcweir
125cdf0e10cSrcweir}; }; }; };
126cdf0e10cSrcweir
127cdf0e10cSrcweir#endif
128