| /************************************************************** |
| * |
| * 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_awt_XGraphics_idl__ |
| #define __com_sun_star_awt_XGraphics_idl__ |
| |
| #include <com/sun/star/uno/XInterface.idl> |
| #include <com/sun/star/util/Color.idl> |
| #include <com/sun/star/awt/SimpleFontMetric.idl> |
| #include <com/sun/star/awt/FontDescriptor.idl> |
| #include <com/sun/star/awt/RasterOperation.idl> |
| #include <com/sun/star/awt/Gradient.idl> |
| #include <com/sun/star/awt/Rectangle.idl> |
| #include <com/sun/star/graphic/XGraphic.idl> |
| |
| module com { module sun { module star { module awt { |
| |
| published interface XRegion; |
| published interface XDisplayBitmap; |
| published interface XFont; |
| published interface XDevice; |
| |
| /** provides the basic output operation of a device. |
| */ |
| published interface XGraphics: com::sun::star::uno::XInterface |
| { |
| /** the device of this graphics |
| */ |
| [attribute, readonly] XDevice Device; |
| |
| /** the text color used by text operations. |
| */ |
| [attribute] com::sun::star::util::Color TextColor; |
| |
| /** the fill color used by text operations. |
| */ |
| [attribute] com::sun::star::util::Color TextFillColor; |
| |
| /** the line color. |
| */ |
| [attribute] com::sun::star::util::Color LineColor; |
| |
| /** the fill color. |
| */ |
| [attribute] com::sun::star::util::Color FillColor; |
| |
| /** the raster operation. |
| |
| <p>If the device does not support raster operations, |
| this attribute is ignored.</p> |
| */ |
| [attribute] RasterOperation RasterOp; |
| |
| /** the font used by text operations. |
| */ |
| [attribute] XFont Font; |
| |
| /** the font metric of the current font. |
| */ |
| [attribute, readonly] SimpleFontMetric FontMetric; |
| |
| /** creates a new font and sets the font. |
| */ |
| [oneway] void selectFont( [in] FontDescriptor aDescription ); |
| |
| /** sets the clip region to specified clipping. |
| */ |
| [oneway] void setClipRegion( [in] XRegion Clipping ); |
| |
| /** builds the intersection with the current region. |
| */ |
| [oneway] void intersectClipRegion( [in] XRegion xClipping ); |
| |
| /** saves all current settings (Font, TextColor, TextFillColor, |
| LineColor, FillColor, RasterOp, ClipRegion). |
| */ |
| [oneway] void push(); |
| |
| /** restores all previous saved settings. |
| */ |
| [oneway] void pop(); |
| |
| /** clears the given rectangle on the device |
| |
| @since OpenOffice 4.0 |
| */ |
| [oneway] void clear( [in] Rectangle aRect ); |
| |
| /** copies a rectangle of pixels from another device into this one. |
| */ |
| [oneway] void copy( [in] XDevice xSource, |
| [in] long nSourceX, |
| [in] long nSourceY, |
| [in] long nSourceWidth, |
| [in] long nSourceHeight, |
| [in] long nDestX, |
| [in] long nDestY, |
| [in] long nDestWidth, |
| [in] long nDestHeight ); |
| |
| /** draws a part of the specified bitmap to the output device. |
| */ |
| [oneway] void draw( [in] XDisplayBitmap xBitmapHandle, |
| [in] long SourceX, |
| [in] long SourceY, |
| [in] long SourceWidth, |
| [in] long SourceHeight, |
| [in] long DestX, |
| [in] long DestY, |
| [in] long DestWidth, |
| [in] long DestHeight ); |
| |
| /** sets a single pixel in the output device. |
| */ |
| [oneway] void drawPixel( [in] long X, |
| [in] long Y ); |
| |
| /** draws a line in the output device. |
| */ |
| [oneway] void drawLine( [in] long X1, |
| [in] long Y1, |
| [in] long X2, |
| [in] long Y2 ); |
| |
| /** draws a rectangle in the output device. |
| */ |
| [oneway] void drawRect( [in] long X, |
| [in] long Y, |
| [in] long Width, |
| [in] long Height ); |
| |
| /** draws a rectangle with rounded corners in the output device. |
| */ |
| [oneway] void drawRoundedRect( [in] long X, |
| [in] long Y, |
| [in] long Width, |
| [in] long Height, |
| [in] long nHorzRound, |
| [in] long nVertRound ); |
| |
| /** draws multiple lines in the output device at once. |
| */ |
| [oneway] void drawPolyLine( [in] sequence<long> DataX, |
| [in] sequence<long> DataY ); |
| |
| /** draws a polygon line in the output device. |
| */ |
| [oneway] void drawPolygon( [in] sequence<long> DataX, |
| [in] sequence<long> DataY ); |
| |
| /** draws multiple polygons in the output device at once. |
| */ |
| [oneway] void drawPolyPolygon( [in] sequence< sequence<long> > DataX, |
| [in] sequence< sequence<long> > DataY ); |
| |
| /** draws an ellipse in the output device. |
| */ |
| [oneway] void drawEllipse( [in] long X, |
| [in] long Y, |
| [in] long Width, |
| [in] long Height ); |
| |
| /** draws an arc (part of a circle) in the output device. |
| */ |
| [oneway] void drawArc( [in] long X, |
| [in] long Y, |
| [in] long Width, |
| [in] long Height, |
| [in] long X1, |
| [in] long Y1, |
| [in] long X2, |
| [in] long Y2 ); |
| |
| /** draws a circular area in the output device. |
| */ |
| [oneway] void drawPie( [in] long X, |
| [in] long Y, |
| [in] long Width, |
| [in] long Height, |
| [in] long X1, |
| [in] long Y1, |
| [in] long X2, |
| [in] long Y2 ); |
| |
| /** draws a chord of a circular area in the output device. |
| |
| <p>A chord is a segment of a circle. You get two chords from a |
| circle if you intersect the circle with a straight line |
| joining two points on the circle.</p> |
| */ |
| [oneway] void drawChord( [in] long nX, |
| [in] long nY, |
| [in] long nWidth, |
| [in] long nHeight, |
| [in] long nX1, |
| [in] long nY1, |
| [in] long nX2, |
| [in] long nY2 ); |
| |
| /** draws a color dispersion in the output device. |
| */ |
| [oneway] void drawGradient( [in] long nX, |
| [in] long nY, |
| [in] long nWidth, |
| [in] long Height, |
| [in] Gradient aGradient ); |
| |
| /** draws text in the output device. |
| */ |
| [oneway] void drawText( [in] long X, |
| [in] long Y, |
| [in] string Text ); |
| |
| /** draws texts in the output device using an explicit kerning table. |
| */ |
| [oneway] void drawTextArray( [in] long X, |
| [in] long Y, |
| [in] string Text, |
| [in] sequence<long> Longs ); |
| |
| /** draws a <type scope="com::sun::star::graphic">XGraphic</type> |
| in the output device. |
| |
| <p>Note that some devices may not support this operation.</p> |
| |
| @since OpenOffice 4.0 |
| |
| @param nX |
| the X coordinate on the device where the graphic will be drawn |
| |
| @param nY |
| the Y coordinate on the device where the graphic will be drawn |
| |
| @param nWidth |
| the width of the region on the device |
| |
| @param nHeight |
| the height of the region on the device |
| |
| @param nStyle |
| the style used to draw the image. |
| See <type scope="com::sun::star::awt">ImageDrawMode</type>. |
| |
| @param aGraphic |
| the <type scope="com::sun::star::graphic">XGraphic</type> |
| to be drawn onto the device |
| */ |
| [oneway] void drawImage( [in] long nX, |
| [in] long nY, |
| [in] long nWidth, |
| [in] long nHeight, |
| [in] short nStyle, |
| [in] ::com::sun::star::graphic::XGraphic aGraphic ); |
| |
| }; |
| |
| }; }; }; }; |
| |
| #endif |