| /************************************************************** |
| * |
| * 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_XCanvas_idl__ |
| #define __com_sun_star_rendering_XCanvas_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_RealPoint2D_idl__ |
| #include <com/sun/star/geometry/RealPoint2D.idl> |
| #endif |
| #ifndef __com_sun_star_geometry_RealBezierSegment2D_idl__ |
| #include <com/sun/star/geometry/RealBezierSegment2D.idl> |
| #endif |
| #ifndef __com_sun_star_geometry_RealRectangle2D_idl__ |
| #include <com/sun/star/geometry/RealRectangle2D.idl> |
| #endif |
| #ifndef __com_sun_star_geometry_Matrix2D_idl__ |
| #include <com/sun/star/geometry/Matrix2D.idl> |
| #endif |
| #ifndef __com_sun_star_rendering_ViewState_idl__ |
| #include <com/sun/star/rendering/ViewState.idl> |
| #endif |
| #ifndef __com_sun_star_rendering_RenderState_idl__ |
| #include <com/sun/star/rendering/RenderState.idl> |
| #endif |
| #ifndef __com_sun_star_rendering_FontRequest_idl__ |
| #include <com/sun/star/rendering/FontRequest.idl> |
| #endif |
| #ifndef __com_sun_star_rendering_FontInfo_idl__ |
| #include <com/sun/star/rendering/FontInfo.idl> |
| #endif |
| #ifndef __com_sun_star_rendering_Texture_idl__ |
| #include <com/sun/star/rendering/Texture.idl> |
| #endif |
| #ifndef __com_sun_star_rendering_StringContext_idl__ |
| #include <com/sun/star/rendering/StringContext.idl> |
| #endif |
| #ifndef __com_sun_star_rendering_StrokeAttributes_idl__ |
| #include <com/sun/star/rendering/StrokeAttributes.idl> |
| #endif |
| #ifndef __com_sun_star_rendering_VolatileContentDestroyedException_idl__ |
| #include <com/sun/star/rendering/VolatileContentDestroyedException.idl> |
| #endif |
| |
| #ifndef __com_sun_star_beans_PropertyValue_idl__ |
| #include <com/sun/star/beans/PropertyValue.idl> |
| #endif |
| |
| |
| module com { module sun { module star { module geometry { |
| published interface XMapping2D; |
| }; }; }; }; |
| |
| module com { module sun { module star { module rendering { |
| |
| published interface XCanvasFont; |
| published interface XPolyPolygon2D; |
| published interface XCachedPrimitive; |
| published interface XBitmap; |
| published interface XGraphicDevice; |
| published interface XTextLayout; |
| |
| /** Central interface for rendering.<p> |
| |
| This is the central interface for graphical output production, and |
| the place where all draw methods are located.<p> |
| |
| Some notes are in order to explain the concepts used here. The |
| <type>XCanvas</type> interface is free of client-modifiable state, |
| i.e. it can be used safely and without external synchronization in |
| a multi-threaded environment. On the other hand, this implies that |
| for nearly every canvas operation, external state is |
| required. This is provided by <type>ViewState</type> and |
| <type>RenderState</type> in a unified fashion, supplemented by a |
| few extra state parameters for some methods (e.g. textured |
| polygons or text rendering).<p> |
| |
| When used careless, this scheme can be inefficient to some extend, |
| because internally, view, render and other states have to be |
| combined before rendering. This is especially expensive for |
| complex clip polygons, i.e. when both <type>ViewState</type> and |
| <type>RenderState</type> have a complex clip polygon set, which |
| have to be intersected before rendering. It is therefore |
| recommended to combine <type>ViewState</type> and |
| <type>RenderState</type> already at the client side, when objects |
| are organized in a hierarchical way: the classic example are |
| grouped draw shapes, whose parent group object imposes a |
| common clipping and a common transformation on its siblings. The |
| group object would therefore merge the <type>ViewState</type> and |
| the <type>RenderState</type> it is called with into a new |
| <type>ViewState</type>, and call its siblings with a |
| <type>RenderState</type> containing only the local offset (and no |
| extra clipping).<p> |
| |
| Furtheron, this stateless nature provides easy ways for |
| caching. Every non-trivial operation on <type>XCanvas</type> can |
| return a cache object, which, when called to redraw, renders the |
| primitive usually much more quickly than the original method. Note |
| that such caching is a lot more complicated, should the actual |
| rendering a method yields depend on internal state (which is the |
| case e.g. for the |
| <type |
| scope="::com::sun::star::drawing">::com::sun::star::drawing::XGraphics</type> |
| interface). Please note, though, that deciding whether to return |
| an <type>XCachedPrimitive</type> is completely up to the |
| implementation - don't rely on the methods returning something |
| (this is because there might be cases when returning such a cache |
| object will actually be a pessimization, since it involves memory |
| allocation and comparisons).<p> |
| |
| Things that need more than a small, fixed amount of data are |
| encapsulated in own interfaces, e.g. polygons and bitmaps. You |
| can, in principle, roll your own implementations of these |
| interfaces, wrap it around your internal representation of |
| polygons and bitmaps, and render them. It might just not be overly |
| fast, because the <type>XCanvas</type> would need to convert for |
| each render call. It is therefore recommended to create such |
| objects via the <type>XGraphicDevice</type> factory (to be |
| retrieved from every canvas object via the |
| <member>getDevice()</member> call) - they will then internally |
| optimize to the underlying graphics subsystem.<p> |
| |
| @since OpenOffice 2.0 |
| */ |
| published interface XCanvas : ::com::sun::star::uno::XInterface |
| { |
| /** Clear the whole canvas area.<p> |
| |
| This method clears the whole canvas area to the device default |
| color (e.g. white for a printer, transparent for an |
| <type>XCustomSprite</type>). |
| */ |
| void clear(); |
| |
| /** Draw a point in device resolution on the device. |
| |
| @param aPoint |
| The point to draw. |
| |
| @param aViewState |
| The viewstate to be used when drawing this point. |
| |
| @param aRenderState |
| The renderstate to be used when drawing this point. |
| |
| @throws <type>com::sun::star::lang::IllegalArgumentException</type> |
| if one of the view and renderstate parameters are outside the |
| specified range. |
| */ |
| void drawPoint( [in] ::com::sun::star::geometry::RealPoint2D aPoint, [in] ViewState aViewState, [in] RenderState aRenderState ) |
| raises (com::sun::star::lang::IllegalArgumentException); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Draw a line in device resolution width (i.e. one device pixel |
| wide). |
| |
| @param aStartPoint |
| The start point of the line to draw. |
| |
| @param aEndPoint |
| The end point of the line to draw. |
| |
| @param aViewState |
| The viewstate to be used when drawing this line. |
| |
| @param aRenderState |
| The renderstate to be used when drawing this line. |
| |
| @throws <type>com::sun::star::lang::IllegalArgumentException</type> |
| if one of the view and renderstate parameters are outside the |
| specified range. |
| */ |
| void drawLine( [in] ::com::sun::star::geometry::RealPoint2D aStartPoint, [in] ::com::sun::star::geometry::RealPoint2D aEndPoint, [in] ViewState aViewState, [in] RenderState aRenderState ) |
| raises (com::sun::star::lang::IllegalArgumentException); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Draw a cubic bezier curve in device resolution width (i.e. one |
| device pixel wide). |
| |
| @param aBezierSegment |
| The start and the two control points of the bezier curve. |
| |
| @param aEndPoint |
| The end point of the bezier curve. |
| |
| @param aViewState |
| The viewstate to be used when drawing this curve. |
| |
| @param aRenderState |
| The renderstate to be used when drawing this curve. |
| |
| @throws <type>com::sun::star::lang::IllegalArgumentException</type> |
| if one of the view and renderstate parameters are outside the |
| specified range. |
| */ |
| void drawBezier( [in] ::com::sun::star::geometry::RealBezierSegment2D aBezierSegment, [in] ::com::sun::star::geometry::RealPoint2D aEndPoint, [in] ViewState aViewState, [in] RenderState aRenderState ) |
| raises (com::sun::star::lang::IllegalArgumentException); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Draw a poly-polygon in device resolution line width (i.e. the |
| lines are one device pixel wide). |
| |
| @param xPolyPolygon |
| The poly-polygon to draw. |
| |
| @param aViewState |
| The viewstate to be used when drawing this polygon. |
| |
| @param aRenderState |
| The renderstate to be used when drawing this polygon. |
| |
| @return a handle to the cached rendering output. |
| |
| @throws <type>com::sun::star::lang::IllegalArgumentException</type> |
| if one of the view and renderstate parameters are outside the |
| specified range. |
| */ |
| XCachedPrimitive drawPolyPolygon( [in] XPolyPolygon2D xPolyPolygon, [in] ViewState aViewState, [in] RenderState aRenderState ) |
| raises (com::sun::star::lang::IllegalArgumentException); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Stroke each polygon of the provided poly-polygon with the |
| specified stroke attributes.<p> |
| |
| This method considers the stroking of all polygons as an |
| atomic operation in relation to the <type>RenderState</type>'s |
| <type>CompositeOperationy</type> operation. That means, |
| overlapping strokes from distinct polygons will look exactly |
| as overlapping segments of the same polygon, even with |
| transparency.<p> |
| |
| @param xPolyPolygon |
| The poly-polygon to render. |
| |
| @param aViewState |
| The viewstate to be used when stroking this polygon. |
| |
| @param aRenderState |
| The renderstate to be used when stroking this polygon. |
| |
| @param aStrokeAttributes |
| Further attributes used to parameterize the stroking. |
| |
| @return a handle to the cached rendering output. |
| |
| @throws <type>com::sun::star::lang::IllegalArgumentException</type> |
| if one of the view and renderstate parameters are outside the |
| specified range. |
| */ |
| XCachedPrimitive strokePolyPolygon( [in] XPolyPolygon2D xPolyPolygon, [in] ViewState aViewState, [in] RenderState aRenderState, [in] StrokeAttributes aStrokeAttributes ) |
| raises (com::sun::star::lang::IllegalArgumentException); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Stroke each polygon of the provided poly-polygon with the |
| specified stroke attributes, fill the stroked outline |
| with the specified texture graphics.<p> |
| |
| This method considers the stroking of all polygons as an |
| atomic operation in relation to the <type>RenderState</type>'s |
| <type>CompositeOp</type> operation. That means, overlapping |
| strokes from distinct polygons will look exactly as |
| overlapping segments of the same polygon, even with |
| transparency.<p> |
| |
| @param xPolyPolygon |
| The poly-polygon to render. |
| |
| @param aViewState |
| The viewstate to be used when strokes this polygon. |
| |
| @param aRenderState |
| The renderstate to be used when stroking this polygon. |
| |
| @param aTextures |
| A sequence of texture definitions, with which to fill the |
| stroked area. |
| |
| @param aStrokeAttributes |
| Further attributes used to parameterize the stroking. |
| |
| @return a handle to the cached rendering output. |
| |
| @throws <type>com::sun::star::lang::IllegalArgumentException</type> |
| if one of the view and renderstate parameters are outside the |
| specified range. |
| |
| @throws <type>VolatileContentDestroyedException</type> |
| if a texture bitmap was volatile, and the content was |
| destroyed before the rendering could take place. |
| */ |
| XCachedPrimitive strokeTexturedPolyPolygon( [in] XPolyPolygon2D xPolyPolygon, [in] ViewState aViewState, [in] RenderState aRenderState, [in] sequence<Texture> aTextures, [in] StrokeAttributes aStrokeAttributes ) |
| raises (com::sun::star::lang::IllegalArgumentException, |
| VolatileContentDestroyedException); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Stroke each polygon of the provided poly-polygon with the |
| specified stroke attributes, fill the stroked outline |
| with the specified texture graphics, map the texture to the |
| outline via the specified texture mapping.<p> |
| |
| This method considers the stroking of all polygons as an |
| atomic operation in relation to the <type>RenderState</type>'s |
| <type>CompositeOp</type> operation. That means, overlapping |
| strokes from distinct polygons will look exactly as |
| overlapping segments of the same polygon, even with |
| transparency. |
| |
| @param xPolyPolygon |
| The poly-polygon to render. |
| |
| @param aViewState |
| The viewstate to be used when stroking this polygon. |
| |
| @param aRenderState |
| The renderstate to be used when stroking this polygon. |
| |
| @param aTextures |
| A sequence of texture definitions, with which to fill the |
| stroked area. |
| |
| @param xMapping |
| A bilinear mapping function which defines the warping of the |
| textures on the output area. |
| |
| @param aStrokeAttributes |
| Further attributes used to parameterize the stroking. |
| |
| @return a handle to the cached rendering output. |
| |
| @throws <type>com::sun::star::lang::IllegalArgumentException</type> |
| if one of the view and renderstate parameters are outside the |
| specified range. |
| |
| @throws <type>VolatileContentDestroyedException</type> |
| if a texture bitmap was volatile, and the content was |
| destroyed before the rendering could take place. |
| */ |
| XCachedPrimitive strokeTextureMappedPolyPolygon( [in] XPolyPolygon2D xPolyPolygon, [in] ViewState aViewState, [in] RenderState aRenderState, [in] sequence<Texture> aTextures, [in] ::com::sun::star::geometry::XMapping2D xMapping, [in] StrokeAttributes aStrokeAttributes ) |
| raises (com::sun::star::lang::IllegalArgumentException, |
| VolatileContentDestroyedException); |
| |
| //------------------------------------------------------------------------- |
| |
| // [TODO: Method misplaced at this interface?] |
| |
| /** Query the polygonal representation of the stroke outlines, as |
| it would be generated by the strokePolyPolygon methods.<p> |
| |
| This method can be used to e.g. set a clipping which covers the same |
| area as a stroke.<p> |
| |
| @param xPolyPolygon |
| The poly-polygon to render. |
| |
| @param aViewState |
| The viewstate to be used when generating the outline. |
| |
| @param aRenderState |
| The renderstate to be used when generating the outline. |
| |
| @param aStrokeAttributes |
| Further attributes used to parameterize the stroking. |
| |
| @return a poly-polygon describing the outline of the stroked |
| area. |
| |
| @throws <type>com::sun::star::lang::IllegalArgumentException</type> |
| if one of the view and renderstate parameters are outside the |
| specified range. |
| */ |
| XPolyPolygon2D queryStrokeShapes( [in] XPolyPolygon2D xPolyPolygon, [in] ViewState aViewState, [in] RenderState aRenderState, [in] StrokeAttributes aStrokeAttributes ) |
| raises (com::sun::star::lang::IllegalArgumentException); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Fill the given poly-polygon.<p> |
| |
| This method fills the given poly-polygon according to the |
| <type>RenderState</type>'s color and the poly-polygon's fill |
| rule.<p> |
| |
| @param xPolyPolygon |
| The poly-polygon to render. |
| |
| @param aViewState |
| The viewstate to be used when filling this polygon. |
| |
| @param aRenderState |
| The renderstate to be used when filling this polygon. |
| |
| @return a handle to the cached rendering output. |
| |
| @throws <type>com::sun::star::lang::IllegalArgumentException</type> |
| if one of the view and renderstate parameters are outside the |
| specified range. |
| */ |
| XCachedPrimitive fillPolyPolygon( [in] XPolyPolygon2D xPolyPolygon, [in] ViewState aViewState, [in] RenderState aRenderState ) |
| raises (com::sun::star::lang::IllegalArgumentException); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Fill the given poly-polygon with a texture.<p> |
| |
| This method fills the given poly-polygon according to the |
| <type>RenderState</type>'s color, the given textures and |
| poly-polygon's fill rule.<p> |
| |
| @param xPolyPolygon |
| The poly-polygon to render. |
| |
| @param aViewState |
| The viewstate to be used when filling this polygon. |
| |
| @param aRenderState |
| The renderstate to be used when filling this polygon. |
| |
| @param aTextures |
| A sequence of texture definitions, with which to fill the |
| polygonal area. |
| |
| @return a handle to the cached rendering output. |
| |
| @throws <type>com::sun::star::lang::IllegalArgumentException</type> |
| if one of the view and renderstate parameters are outside the |
| specified range. |
| |
| @throws <type>VolatileContentDestroyedException</type> |
| if a texture bitmap was volatile, and the content was |
| destroyed before the rendering could take place. |
| */ |
| XCachedPrimitive fillTexturedPolyPolygon( [in] XPolyPolygon2D xPolyPolygon, [in] ViewState aViewState, [in] RenderState aRenderState, [in] sequence<Texture> xTextures ) |
| raises (com::sun::star::lang::IllegalArgumentException, |
| VolatileContentDestroyedException); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Fill the given poly-polygon with a mapped texture.<p> |
| |
| This method fills the given poly-polygon according to the |
| <type>RenderState</type>'s color, the given textures and |
| poly-polygon's fill rule. The texture is mapped to the |
| poly-polygon's interior via the given texture mapping.<p> |
| |
| @param xPolyPolygon |
| The poly-polygon to render. |
| |
| @param aViewState |
| The viewstate to be used when filling this polygon. |
| |
| @param aRenderState |
| The renderstate to be used when filling this polygon. |
| |
| @param aTextures |
| A sequence of texture definitions, with which to fill the |
| polygonal area. |
| |
| @param xMapping |
| A bilinear mapping function which defines the warping of the |
| textures on the output area. |
| |
| @return a handle to the cached rendering output. |
| |
| @throws <type>com::sun::star::lang::IllegalArgumentException</type> |
| if one of the view and renderstate parameters are outside the |
| specified range. |
| |
| @throws <type>VolatileContentDestroyedException</type> |
| if a texture bitmap was volatile, and the content was |
| destroyed before the rendering could take place. |
| */ |
| XCachedPrimitive fillTextureMappedPolyPolygon( [in] XPolyPolygon2D xPolyPolygon, [in] ViewState aViewState, [in] RenderState aRenderState, [in] sequence<Texture> xTextures, [in] ::com::sun::star::geometry::XMapping2D xMapping ) |
| raises (com::sun::star::lang::IllegalArgumentException, |
| VolatileContentDestroyedException); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Create a suitable font for the specified font description. |
| |
| @param aFontRequest |
| |
| @param aExtraFontProperties |
| Additional font properties to be applied when selecting this |
| font. Normally, you should not need this parameter. Currently, |
| the following properties are recognized: |
| <ul> |
| |
| <il>Kerning: a <type>double</type> between 0 and 1, where |
| 0 completely disables kerning. Whether kerning is on or |
| off by default is font-dependent.</il> |
| |
| <il>IsEmphasisMarks: a <type>boolean</type>, where <TRUE/> |
| enables automatic placements of emphasis marks, e.g. for |
| Hebrew. The default value, if this property is not |
| specified, is <FALSE/>.</il> |
| |
| <il>ExpandedSpacing: a <type>double</type> value which is added |
| between all cell distances for this font. The default value for |
| this property is zero. Use negative values for condensed output, |
| and positive values for expanded output.</il> |
| |
| <il>OptionalLayoutFeatures: a sequence of <type |
| scope=::com::sun::star::beans>PropertyValue</type> listing |
| font-specific optional layout features, like glyph |
| variants.</il> |
| |
| </ul> |
| |
| @param aFontMatrix |
| Font-specific transformation matrix, which affects both the |
| glyphs as well as the advancement. |
| |
| @returns the requested font, or an invalid reference, if the |
| request failed. |
| |
| @throws <type>com::sun::star::lang::IllegalArgumentException</type> |
| if one of the parameters is not within the allowed range. |
| */ |
| XCanvasFont createFont( [in] FontRequest aFontRequest, [in] sequence< ::com::sun::star::beans::PropertyValue > aExtraFontProperties, [in] ::com::sun::star::geometry::Matrix2D aFontMatrix ) |
| raises (com::sun::star::lang::IllegalArgumentException); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Query font information, specific to this canvas.<p> |
| |
| @param aFilter |
| Filter parameter to reduce the list of returned fonts. Every |
| member of <type>FontInfo</type> that is not the empty string |
| or the "don't care" value restricts the list of returned fonts |
| to contain only those that have the specified attribute. |
| |
| @param xFontProperties |
| This interface can provide additional font properties to |
| filter the list of available fonts against. |
| |
| @returns the list of fonts matching the filter set. |
| |
| @throws <type>com::sun::star::lang::IllegalArgumentException</type> |
| if one of the font properties are invalid or not recognized, |
| or if one of the <type>FontInfo</type> members is not within |
| the permitted range. |
| */ |
| sequence< FontInfo > queryAvailableFonts( [in] FontInfo aFilter, [in] sequence< ::com::sun::star::beans::PropertyValue > aFontProperties ) |
| raises (com::sun::star::lang::IllegalArgumentException); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Draw the text given by the substring of the specified string |
| with the given font.<p> |
| |
| The local origin of this output operation is either the left |
| end of the text baseline, for textDirection equal |
| LEFT_TO_RIGHT, or the right end of the baseline, for |
| textDirection equal to RIGHT_TO_LEFT, respectively.<p> |
| |
| @param aText |
| The text to output. |
| |
| @param xFont |
| The font retrieved from this canvas to be used when drawing |
| the text. |
| |
| @param aViewState |
| The viewstate to be used when drawing this text. |
| |
| @param aRenderState |
| The renderstate to be used when drawing this text. |
| |
| @param nTextDirection |
| A value from the <type>TextDirection</type> collection, |
| denoting the main writing direction for this string. The main |
| writing direction determines the origin of the text output, |
| i.e. the left edge for left-to-right and the right edge for |
| right-to-left text. |
| |
| @return a handle to the cached rendering output. |
| |
| @throws <type>com::sun::star::lang::IllegalArgumentException</type> |
| if one of the view and renderstate parameters are outside the |
| specified range. |
| */ |
| XCachedPrimitive drawText( [in] StringContext aText, [in] XCanvasFont xFont, [in] ViewState aViewState, [in] RenderState aRenderState, [in] byte nTextDirection ) |
| raises (com::sun::star::lang::IllegalArgumentException); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Draw the formatted text given by the text layout.<p> |
| |
| The glyphs as represented by the text layout are always output |
| with the reference position being the leftmost edge of the |
| layout object's baseline. If the layout contains more than one |
| baseline, the baseline of the first strong character in |
| logical order is used here (strong in this context means that |
| the character can be unambiguously assigned to a unicode |
| script).<p> |
| |
| @param xLayoutetText |
| An interface to the readily layouted text, obtained from a |
| <type>XCanvasFont</type> created at this canvas. The text |
| layout already carries intrinsic font information. |
| |
| @param aViewState |
| The viewstate to be used when drawing this text. |
| |
| @param aRenderState |
| The renderstate to be used when drawing this text. |
| |
| @return a handle to the cached rendering output. |
| |
| @throws <type>com::sun::star::lang::IllegalArgumentException</type> |
| if one of the view and renderstate parameters are outside the |
| specified range. |
| */ |
| XCachedPrimitive drawTextLayout( [in] XTextLayout xLayoutetText, [in] ViewState aViewState, [in] RenderState aRenderState ) |
| raises (com::sun::star::lang::IllegalArgumentException); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Render the given bitmap.<p> |
| |
| This method renders the bitmap, at a position and shape as |
| specified by the combined view and render transformations. For |
| fast render speed, the bitmap should be created by the |
| corresponding <type>XGraphicDevice</type>'s |
| <member>XGraphicDevice::createCompatibleBitmap()</member> |
| method.<p> |
| |
| @param xBitmap |
| The bitmap to render. |
| |
| @param aViewState |
| The viewstate to be used when drawing this text. |
| |
| @param aRenderState |
| The renderstate to be used when drawing this text. |
| |
| @return a handle to the cached rendering output. |
| |
| @throws <type>com::sun::star::lang::IllegalArgumentException</type> |
| if one of the view and renderstate parameters are outside the |
| specified range. |
| |
| @throws <type>VolatileContentDestroyedException</type> |
| if a texture bitmap was volatile, and the content was |
| destroyed before the rendering could take place. |
| */ |
| XCachedPrimitive drawBitmap( [in] XBitmap xBitmap, [in] ViewState aViewState, [in] RenderState aRenderState ) |
| raises (com::sun::star::lang::IllegalArgumentException, |
| VolatileContentDestroyedException); |
| |
| /** Render the given bitmap, with a global color modulation.<p> |
| |
| This method renders the bitmap, at a position and shape as |
| specified by the combined view and render transformations. For |
| fast render speed, the bitmap should be created by the |
| corresponding <type>XGraphicDevice</type>'s |
| <member>XGraphicDevice::createCompatibleBitmap()</member> |
| method. The bitmap's color channel values are multiplied with |
| the device color values as specified in the render state.<p> |
| |
| @param xBitmap |
| The bitmap to render. |
| |
| @param aViewState |
| The viewstate to be used when drawing this text. |
| |
| @param aRenderState |
| The renderstate to be used when drawing this text. The device |
| color entry in the renderstate is multiplied with every pixel |
| color value, and only the result is rendered into the |
| canvas. If, for example, the bitmap should be rendered with |
| increased global transparency, set all device color channels |
| to 1.0, except for the alpha channel, which should be set to |
| the desired transparency. |
| |
| @return a handle to the cached rendering output. |
| |
| @throws <type>com::sun::star::lang::IllegalArgumentException</type> |
| if one of the view and renderstate parameters are outside the |
| specified range. |
| |
| @throws <type>VolatileContentDestroyedException</type> |
| if a texture bitmap was volatile, and the content was |
| destroyed before the rendering could take place. |
| */ |
| XCachedPrimitive drawBitmapModulated( [in] XBitmap xBitmap, [in] ViewState aViewState, [in] RenderState aRenderState ) |
| raises (com::sun::star::lang::IllegalArgumentException, |
| VolatileContentDestroyedException); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Request the associated graphic device for this canvas.<p> |
| |
| A graphic device provides methods specific to the underlying |
| output device capabilities, which are common for all canvases |
| rendering to such a device. This includes device resolution, |
| color space, or bitmap formats. |
| |
| @return the associated <type>XGraphicDevice</type>. |
| */ |
| XGraphicDevice getDevice(); |
| }; |
| |
| //============================================================================= |
| |
| /// Service providing an <type>XCanvas</type> interface |
| service Canvas: XCanvas; |
| |
| }; }; }; }; |
| |
| #endif |