blob: f445957ce8fe50430cc486ab339c517523c465ac [file] [log] [blame]
/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#ifndef __com_sun_star_rendering_XBitmap_idl__
#define __com_sun_star_rendering_XBitmap_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_IntegerSize2D_idl__
#include <com/sun/star/geometry/IntegerSize2D.idl>
#endif
#ifndef __com_sun_star_geometry_RealSize2D_idl__
#include <com/sun/star/geometry/RealSize2D.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 generic interface to a bitmap.<p>
This interface contains the generic functionality to be used on
every <type>XCanvas</type> bitmap object. More format-specific
methods can be found at the <type>XIntegerBitmap</type>,
<type>XIeeeDoubleBitmap</type>, <type>XIeeeFloatBitmap</type> and
<type>XHalfFloatBitmap</type> interfaces.<p>
@since OpenOffice 2.0
*/
published interface XBitmap : ::com::sun::star::uno::XInterface
{
/** Query the size of the bitmap.<p>
This method queries the bitmap size in pixel.<p>
@return the bitmap size in pixel.
*/
::com::sun::star::geometry::IntegerSize2D getSize();
//-------------------------------------------------------------------------
/** Query transparency status of the bitmap.<p>
The method checks, whether the bitmap contains any alpha
information. The same information is also available at the
<type>XColorSpace</type> associated with this bitmap, though
much easier to access here (the color space then has a
component flagged
<member>ColorComponentTag::ALPHA</member>).<p>
@return <TRUE/>, if the bitmap has alpha data, or <FALSE/> if
not.
*/
boolean hasAlpha();
//-------------------------------------------------------------------------
/** Query a scaled copy of the original bitmap.
@param newSize
Requested size of the new bitmap. Both of the two size
components must be greater than zero.
@param beFast
When set to true, this parameter advises getScaledBitmap to
use the fastest available algorithm to scale the bitmap, which
might cause visible artifacts.
@returns the new scaled bitmap.
@throws <type>com::sun::star::lang::IllegalArgumentException</type>
if the size components are outside the specified range.
@throws <type>VolatileContentDestroyedException</type>
if the contents of a volatile bitmap have been destroyed, and
thus cannot be read to generate the scaled bitmap.
*/
XBitmap getScaledBitmap( [in] ::com::sun::star::geometry::RealSize2D newSize, [in] boolean beFast )
raises (com::sun::star::lang::IllegalArgumentException,
VolatileContentDestroyedException);
};
}; }; }; };
#endif