From 8150b75a0e2332376eb80d65902930cb60308a7a Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Tue, 24 Jun 2008 10:28:10 +0000 Subject: INTEGRATION: CWS canvas05 (1.2.4); FILE ADDED 2008/05/23 22:14:49 thb 1.2.4.3: Moving all remaining new files to LGPL 3 2007/10/01 13:33:53 thb 1.2.4.2: #i79437# Merge from CWS picom 2007/06/26 14:53:13 thb 1.2.4.1: file XIeeeFloatReadOnlyBitmap.idl was added on branch cws_src680_canvas05 on 2007-10-01 13:33:53 +0000 --- .../star/rendering/XIeeeFloatReadOnlyBitmap.idl | 142 +++++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 offapi/com/sun/star/rendering/XIeeeFloatReadOnlyBitmap.idl diff --git a/offapi/com/sun/star/rendering/XIeeeFloatReadOnlyBitmap.idl b/offapi/com/sun/star/rendering/XIeeeFloatReadOnlyBitmap.idl new file mode 100644 index 000000000000..71cc94968868 --- /dev/null +++ b/offapi/com/sun/star/rendering/XIeeeFloatReadOnlyBitmap.idl @@ -0,0 +1,142 @@ +/************************************************************************* + * + * 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: XIeeeFloatReadOnlyBitmap.idl,v $ + * $Revision: 1.3 $ + * + * 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 + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_rendering_XIeeeFloatReadOnlyBitmap_idl__ +#define __com_sun_star_rendering_XIeeeFloatReadOnlyBitmap_idl__ + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include +#endif +#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__ +#include +#endif +#ifndef __com_sun_star_rendering_FloatingPointBitmapLayout_idl__ +#include +#endif +#ifndef __com_sun_star_geometry_IntegerPoint2D_idl__ +#include +#endif +#ifndef __com_sun_star_geometry_IntegerRectangle2D_idl__ +#include +#endif +#ifndef __com_sun_star_rendering_XBitmap_idl__ +#include +#endif +#ifndef __com_sun_star_rendering_VolatileContentDestroyedException_idl__ +#include +#endif + + +module com { module sun { module star { module rendering { + +/** Specialized interface for bitmaps containing IEEE floats as their + color components. In contrast to XIeeeFloatBitmap, + this interface only permits read-only access.

+ + Use this interface for e.g. bitmaps that are calculated + on-the-fly, or that are pure functional, and thus cannot be + modified.

+ + If you get passed an instance of + XHalfFloatReadOnlyBitmap that also supports the + XVolatileBitmap interface, things become a bit more + complicated. When reading data, one has to check for both + VolatileContentDestroyedException and mismatching + FloatingPointBitmapLayout return values. If either of them + occurs, the whole bitmap read operation should be repeated.

+ */ +interface XIeeeFloatReadOnlyBitmap : XBitmap +{ + /** Query the raw data of this bitmap.

+ + Query the raw data of this bitmap, in the format as defined by + getMemoryLayout(). With the given rectangle, a subset of the + whole bitmap can be queried. When querying subsets of the + bitmap, the same scanline padding takes place as when the + whole bitmap is requested.

+ + Note that the bitmap memory layout might change for volatile + bitmaps.

+ + @param bitmapLayout + The memory layout the returned data is in. + + @param rect + A rectangle, within the bounds of the bitmap, to retrieve the + contens from. + + @throws VolatileContentDestroyedException + if the bitmap is volatile, and the content has been destroyed by the system. + + @throws com::sun::star::lang::IndexOutOfBoundsException + if parts of the given rectangle are outside the permissible + bitmap area. + */ + sequence getData( [out] FloatingPointBitmapLayout bitmapLayout, [in] ::com::sun::star::geometry::IntegerRectangle2D rect ) + raises (com::sun::star::lang::IndexOutOfBoundsException, + VolatileContentDestroyedException); + + //------------------------------------------------------------------------- + + /** Get a single pixel of the bitmap, returning its color + value.

+ + Note that the bitmap memory layout might change for volatile + bitmaps.

+ + @param bitmapLayout + The memory layout the returned data is in. + + @param pos + A position, within the bounds of the bitmap, to retrieve the + color from. + + @throws VolatileContentDestroyedException + if the bitmap is volatile, and the content has been destroyed by the system. + + @throws com::sun::star::lang::IndexOutOfBoundsException + if the given position is outside the permissible bitmap area. + */ + sequence getPixel( [out] FloatingPointBitmapLayout bitmapLayout, [in] ::com::sun::star::geometry::IntegerPoint2D pos ) + raises (com::sun::star::lang::IndexOutOfBoundsException, + VolatileContentDestroyedException); + + //------------------------------------------------------------------------- + + /** Query the memory layout for this bitmap.

+ + Please note that for volatile bitmaps, the memory layout might + change between subsequent calls.

+ */ + FloatingPointBitmapLayout getMemoryLayout(); +}; + +}; }; }; }; + +#endif -- cgit v1.2.3