diff options
Diffstat (limited to 'offapi/com/sun/star/rendering/XBitmapCanvas.idl')
-rw-r--r-- | offapi/com/sun/star/rendering/XBitmapCanvas.idl | 154 |
1 files changed, 154 insertions, 0 deletions
diff --git a/offapi/com/sun/star/rendering/XBitmapCanvas.idl b/offapi/com/sun/star/rendering/XBitmapCanvas.idl new file mode 100644 index 000000000000..39c46ab66d6a --- /dev/null +++ b/offapi/com/sun/star/rendering/XBitmapCanvas.idl @@ -0,0 +1,154 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XBitmapCanvas.idl,v $ + * $Revision: 1.7 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_rendering_XBitmapCanvas_idl__ +#define __com_sun_star_rendering_XBitmapCanvas_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif +#ifndef __com_sun_star_geometry_RealRectangle2D_idl__ +#include <com/sun/star/geometry/RealRectangle2D.idl> +#endif +#ifndef __com_sun_star_rendering_RenderState_idl__ +#include <com/sun/star/rendering/RenderState.idl> +#endif +#ifndef __com_sun_star_rendering_XBitmap_idl__ +#include <com/sun/star/rendering/XBitmap.idl> +#endif +#ifndef __com_sun_star_rendering_XCanvas_idl__ +#include <com/sun/star/rendering/XCanvas.idl> +#endif +#ifndef __com_sun_star_rendering_VolatileContentDestroyedException_idl__ +#include <com/sun/star/rendering/VolatileContentDestroyedException.idl> +#endif + + +module com { module sun { module star { module rendering { + +/** This is a specialization of the canvas interface for bitmapped + canvases.<p> + + This interface is a specialization of the canvas interface for + bitmapped canvases, where additional methods for accessing and + moving of bitmap content are provided.<p> + + @since OOo 2.0.0 + */ +interface XBitmapCanvas : XCanvas +{ + /** This method copies a rectangular area from a place of one + canvas to a place on another.<p> + + This method copies a rectangular area from a place of one + canvas to a place on another. Source and destination areas are + permitted to overlap. If the source view or render state has a + clipping set, the regions clipped away from the source + rectangle are regarded fully transparent for the copy + operation. The device color for both source and destination + render state is ignored, the compositing mode only for the + source render state.<p> + + @param sourceCanvas + Canvas from which to copy the bitmap data. Can be identical to + the canvas this method is called on, but must be valid. + + @param sourceRect + Rectangle from which to copy the bitmap data. This rectangle + is subject to both view and render transformation, before + being applied. Thus, on screen, it does not necessarily + resemble a rectangle any more. The rectangle must be + non-empty, see + <type scope="::com::sun::star::geometry">RealRectangle2D</type> + for details. + + @param sourceViewState + The view state to apply to the source of this copy + operation. The view transformation must be non-singular. + + @param sourceRenderState + The render state to apply to the source of this copy + operation. The render transformation must be non-singular, and + the compositing mode must be one of the + <type>CompositingOperation</type> values. + + @param destRect + Rectangle into which to copy the bitmap data. This rectangle + is subject to both view and render transformation, before + being applied. Thus, on screen, it does not necessarily + resemble a rectangle any more. The rectangle must be + non-empty, see + <type scope="::com::sun::star::geometry">RealRectangle2D</type> + for details. + + @param destViewState + The view state to apply to the destination of this copy + operation. The view transformation must be non-singular. + + @param destRenderState + + The render state to apply to the destination of this copy + operation. The render transformation must be non-singular, and + the compositing mode must be one of the + <type>CompositingOperation</type> values. + + @throws <type>com::sun::star::lang::IllegalArgumentException</type> + if one of the parameters are not within the specified range. + */ + void copyRect( [in] XBitmapCanvas sourceCanvas, + [in] ::com::sun::star::geometry::RealRectangle2D sourceRect, [in] ViewState sourceViewState, [in] RenderState sourceRenderState, + [in] ::com::sun::star::geometry::RealRectangle2D destRect, [in] ViewState destViewState, [in] RenderState destRenderState ) + raises (com::sun::star::lang::IllegalArgumentException, + VolatileContentDestroyedException); + +}; + +//============================================================================= + +// TODO: Multiple-inheritance interfaces + +/** This service provides the interfaces for a <type>XBitmapCanvas</type> + */ +service BitmapCanvas +{ + /** Canvas interface, to issue rendering operations. + */ + interface XBitmapCanvas; + + /** Bitmap interface, to directly manipulate the pixel. + */ + interface XBitmap; +}; + +}; }; }; }; + +#endif |