| /************************************************************** |
| * |
| * 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_XSimpleCanvas_idl__ |
| #define __com_sun_star_rendering_XSimpleCanvas_idl__ |
| |
| #ifndef __com_sun_star_util_Color_idl__ |
| #include <com/sun/star/util/Color.idl> |
| #endif |
| #ifndef __com_sun_star_geometry_RealPoint2D_idl__ |
| #include <com/sun/star/geometry/RealPoint2D.idl> |
| #endif |
| #ifndef __com_sun_star_geometry_RealRectangle2D_idl__ |
| #include <com/sun/star/geometry/RealRectangle2D.idl> |
| #endif |
| #ifndef __com_sun_star_geometry_AffineMatrix2D_idl__ |
| #include <com/sun/star/geometry/AffineMatrix2D.idl> |
| #endif |
| #ifndef __com_sun_star_rendering_StringContext_idl__ |
| #include <com/sun/star/rendering/StringContext.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_FontMetrics_idl__ |
| #include <com/sun/star/rendering/FontMetrics.idl> |
| #endif |
| |
| //============================================================================= |
| |
| module com { module sun { module star { module rendering { |
| |
| interface XCanvas; |
| interface XCanvasFont; |
| interface XBitmap; |
| interface XGraphicDevice; |
| interface XPolyPolygon2D; |
| |
| /** Provides the basic graphical output operations for a canvas.<p> |
| |
| This interface is a simplified version of the <type>XCanvas</type> |
| interface. It holds explicit state, i.e. the pen and fill color, |
| the current transformation, clip and font are persistently |
| remembered.<p> |
| |
| In contrast to the <type>XCanvas</type> interface, XSimpleCanvas |
| does not distinguish between stroke and fill operations; instead, |
| switching between stroke and fill (or taking both) works by |
| setting appropriate pen and fill colors.<p> |
| */ |
| interface XSimpleCanvas: com::sun::star::uno::XInterface |
| { |
| /** Select a font.<p> |
| |
| This method selects the specified font (or a close substitute) |
| as the current font for text output.<p> |
| |
| @param sFontName |
| The name of the font (like e.g. Arial) |
| |
| @param size |
| The size of the font (note that this is not the usual points |
| unit, but in the same coordinate system as the other rendering |
| operations - usually, device pixel). |
| |
| @param bold |
| When true, selected font is bold. |
| |
| @param italic |
| When true, selected font is italic |
| */ |
| void selectFont( [in] string sFontName, [in]double size, [in] boolean bold, [in] boolean italic ); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Sets the color used by line and text operations.<p> |
| |
| To disable stroking, simply set this color to something with |
| zero alpha (i.e. fully transparent).<p> |
| |
| @param nsRgbaColor |
| RGBA color tuple, interpreted in the sRGB color space. |
| */ |
| void setPenColor( [in] com::sun::star::util::Color nsRgbaColor ); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Sets the fill color.<p> |
| |
| To disable filling, simply set this color to something with |
| zero alpha (i.e. fully transparent).<p> |
| |
| @param nsRgbaColor |
| RGBA color tuple, interpreted in the sRGB color space. |
| */ |
| void setFillColor( [in] com::sun::star::util::Color nsRgbaColor ); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Sets the clip to the specified rectangle.<p> |
| */ |
| void setRectClip( [in] ::com::sun::star::geometry::RealRectangle2D aRect ); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Set the current transform matrix.<p> |
| */ |
| void setTransformation( [in] ::com::sun::star::geometry::AffineMatrix2D aTransform ); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Sets a single pixel on the canvas.<p> |
| */ |
| void drawPixel( [in] ::com::sun::star::geometry::RealPoint2D aPoint ); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Draws a line on the canvas.<p> |
| */ |
| void drawLine( [in] ::com::sun::star::geometry::RealPoint2D aStartPoint, |
| [in] ::com::sun::star::geometry::RealPoint2D aEndPoint ); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Draws a rectangle on the canvas.<p> |
| */ |
| void drawRect( [in] ::com::sun::star::geometry::RealRectangle2D aRect ); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Draws a poly-polygon on the canvas.<p> |
| */ |
| void drawPolyPolygon( [in] XPolyPolygon2D xPolyPolygon ); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Draws text on the canvas.<p> |
| |
| @param aText |
| Text to render. The text color is the current pen color. |
| |
| @param aOutPos |
| Output position of the text. This is the left or right edge, |
| depending on nTextDirection. Output position is always |
| relative to the font baseline. |
| |
| @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. |
| */ |
| void drawText( [in] StringContext aText, |
| [in] ::com::sun::star::geometry::RealPoint2D aOutPos, |
| [in] byte nTextDirection ); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Draws the bitmap on the canvas.<p> |
| |
| @param xBitmap |
| Bitmap to render |
| |
| @param aLeftTop |
| Left, top position of the bitmap on the destination canvas. |
| */ |
| void drawBitmap( [in] XBitmap xBitmap, |
| [in] ::com::sun::star::geometry::RealPoint2D aLeftTop ); |
| |
| //------------------------------------------------------------------------- |
| |
| /** 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.<p> |
| |
| @return the associated <type>XGraphicDevice</type>. |
| */ |
| XGraphicDevice getDevice(); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Query the underlying <type>XCanvas</type>.<p> |
| |
| @return the canvas interface this object is internally based |
| on. |
| */ |
| XCanvas getCanvas(); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Request the font metrics of the current font.<p> |
| |
| @return the font metrics of the currently selected font. |
| */ |
| FontMetrics getFontMetrics(); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Retrieve currently selected font.<p> |
| |
| @return the font instance that's currently used for rendering |
| text. |
| */ |
| XCanvasFont getCurrentFont(); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Retrieve color currently used for lines. |
| */ |
| com::sun::star::util::Color getCurrentPenColor(); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Retrieve color currently used for fills |
| */ |
| com::sun::star::util::Color getCurrentFillColor(); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Retrieve current clip rect |
| */ |
| com::sun::star::geometry::RealRectangle2D getCurrentClipRect(); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Retrieve current transformation matrix |
| */ |
| com::sun::star::geometry::AffineMatrix2D getCurrentTransformation(); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Retrieve view state.<p> |
| |
| @return the view state, that would generate matching output, |
| when rendering to an XCanvas instead. |
| */ |
| ViewState getCurrentViewState(); |
| |
| //------------------------------------------------------------------------- |
| |
| /** Retrieve render state.<p> |
| |
| @param bUseFillColor |
| When true, the Color member of the RenderState is initialized |
| with the current fill color; when false, the current pen color |
| is used. |
| |
| @return the render state, that would generate matching output, |
| when rendering to an XCanvas instead. |
| */ |
| RenderState getCurrentRenderState( [in] boolean bUseFillColor ); |
| |
| //------------------------------------------------------------------------- |
| |
| }; |
| |
| //============================================================================= |
| |
| }; }; }; }; |
| |
| #endif |