| /************************************************************** |
| * |
| * 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_graphic_XGraphicRasterizer_idl |
| #define com_sun_star_graphic_XGraphicRasterizer_idl |
| |
| #include <com/sun/star/io/XInputStream.idl> |
| #include <com/sun/star/graphic/XGraphic.idl> |
| #include <com/sun/star/beans/PropertyValues.idl> |
| #include <com/sun/star/beans/XPropertySet.idl> |
| #include <com/sun/star/awt/Size.idl> |
| |
| module com { module sun { module star { module graphic |
| { |
| |
| /** This interfaces exposes the initialize and a rasterize method to |
| rasterize a given data stream to a pixel graphic |
| */ |
| interface XGraphicRasterizer : ::com::sun::star::uno::XInterface |
| { |
| /** Initializing the rasterizer |
| |
| <p>This method could also be used to determine, if |
| the provided data is able to be rasterized by the |
| implementation. The implementation should take care of |
| this feature as well as setting the default image size in |
| pixel within the given output parameter.</p> |
| |
| @param DataStream |
| The input stream of data that should be rasterized |
| |
| @param DPI_X |
| The horizontal resolution of the callers device in pixel per inch. This |
| value is needed to calculate the correct dimensions of the graphic to be |
| rasterized. If a value of <value>0</value> is given, a horizontal default |
| resolution of 72 DPI is used. |
| |
| @param DPI_Y |
| The vertical resolution of the callers device in pixel per inch. This |
| value is needed to calculate the correct dimensions of the graphic to be |
| rasterized. If a value of <value>0</value> is given, a vertical default |
| resolution of 72 DPI is used. |
| |
| @param DefaultSizePixel |
| The default rendering size in pixel of the underlying graphics |
| data may be available after the call via this output parameter. |
| |
| In case no default size can be determined during initialization, |
| a default pixel size of 0,0 is returned. In this case, the caller |
| needs to assume a default pixel size, appropriate for the calling |
| context. |
| |
| @returns |
| A boolean value indicating if rasterizing of the given data is |
| possible at all and if the initialization process happened |
| successfully. |
| |
| @see com::sun::star::io::XInputStream |
| @see com::sun::star::awt::Size |
| */ |
| boolean initializeData( [in] com::sun::star::io::XInputStream DataStream, |
| [in] unsigned long DPI_X, |
| [in] unsigned long DPI_Y, |
| [out] com::sun::star::awt::Size DefaultSizePixel ); |
| |
| /** Rasterizing the initialized data into a <type>XGraphic</type> container. |
| |
| <p>The <type>XGraphic</type> container will contain a pixel |
| type graphic after a successful rasterization process</p> |
| |
| <p>In case of any fault during the rasterization process, |
| the <type>XGraphic</type> container will be empty afterwards and |
| the method will return false</p> |
| |
| @param Width |
| The width in pixel of the graphic to be rasterized. |
| This parameter is used without taking other transformation |
| values into account. |
| |
| @param Height |
| The height in pixel of the graphic to be rasterized. |
| This parameter is used without taking other transformation |
| values into account. |
| |
| @param RotateAngle |
| The rotation angle of the graphic to be rasterized. |
| This parameter is used without taking other transformation |
| values into account. The rotation is applied after scaling |
| and shearing the original image. |
| |
| @param ShearXAngle |
| The horizontal shear angle of the graphic to be rasterized. |
| This parameter is used without taking other transformation |
| values into account. The shearing is applied after scaling |
| and before rotation of the image. |
| |
| @param ShearYAngle |
| The vertical shear angle of the graphic to be rasterized. |
| This parameter is used without taking other transformation |
| values into account. The shearing is applied after scaling |
| and before rotation of the image. |
| |
| @param RasterizeProperties |
| Additional properties for special needs (undefined by now) |
| |
| @param Graphic |
| An interface to a graphic container into which the given data |
| should be rasterized. |
| |
| @returns com::sun::star::graphic::XGraphic |
| An interface to a graphic container that holds the rasterized pixel data |
| |
| @see com::sun::star::beans::PropertyValues |
| @see com::sun::star::graphic::XGraphic |
| */ |
| com::sun::star::graphic::XGraphic rasterize( [in] unsigned long Width, |
| [in] unsigned long Height, |
| [in] double RotateAngle, |
| [in] double ShearAngle_X, |
| [in] double ShearAngle_Y, |
| [in] com::sun::star::beans::PropertyValues RasterizeProperties ); |
| }; |
| |
| } ; } ; } ; } ; |
| |
| #endif |