| /************************************************************** |
| * |
| * 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__ |
| |
| #ifndef __com_sun_star_uno_XInterface_idl__ |
| #include <com/sun/star/uno/XInterface.idl> |
| #endif |
| |
| #ifndef __com_sun_star_util_Color_idl__ |
| #include <com/sun/star/util/Color.idl> |
| #endif |
| |
| #ifndef __com_sun_star_awt_SimpleFontMetric_idl__ |
| #include <com/sun/star/awt/SimpleFontMetric.idl> |
| #endif |
| |
| #ifndef __com_sun_star_awt_FontDescriptor_idl__ |
| #include <com/sun/star/awt/FontDescriptor.idl> |
| #endif |
| |
| #ifndef __com_sun_star_awt_RasterOperation_idl__ |
| #include <com/sun/star/awt/RasterOperation.idl> |
| #endif |
| |
| #ifndef __com_sun_star_awt_Gradient_idl__ |
| #include <com/sun/star/awt/Gradient.idl> |
| #endif |
| |
| //============================================================================= |
| |
| 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 |
| { |
| //------------------------------------------------------------------------- |
| |
| /** returns the device of this graphics. |
| */ |
| XDevice getDevice(); |
| |
| //------------------------------------------------------------------------- |
| |
| /** returns the font metric of the current font. |
| */ |
| SimpleFontMetric getFontMetric(); |
| |
| //------------------------------------------------------------------------- |
| |
| /** sets the font used by text operations. |
| */ |
| [oneway] void setFont( [in] XFont xNewFont ); |
| |
| //------------------------------------------------------------------------- |
| |
| /** creates a new font and sets the font. |
| */ |
| [oneway] void selectFont( [in] FontDescriptor aDescription ); |
| |
| //------------------------------------------------------------------------- |
| |
| /** sets the text color used by text operations. |
| */ |
| [oneway] void setTextColor( [in] com::sun::star::util::Color nColor ); |
| |
| //------------------------------------------------------------------------- |
| |
| /** sets the fill color used by text operations. |
| */ |
| [oneway] void setTextFillColor( [in] com::sun::star::util::Color nColor ); |
| |
| //------------------------------------------------------------------------- |
| |
| /** sets the line color. |
| */ |
| [oneway] void setLineColor( [in] com::sun::star::util::Color nColor ); |
| |
| //------------------------------------------------------------------------- |
| |
| /** sets the fill color. |
| */ |
| [oneway] void setFillColor( [in] com::sun::star::util::Color nColor ); |
| |
| //------------------------------------------------------------------------- |
| |
| /** sets the raster operation. |
| |
| <p>If the device does not support raster operations |
| then this call is ignored.</p> |
| */ |
| [oneway] void setRasterOp( [in] RasterOperation ROP ); |
| |
| //------------------------------------------------------------------------- |
| |
| /** 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(); |
| |
| //------------------------------------------------------------------------- |
| |
| /** 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 ); |
| |
| }; |
| |
| //============================================================================= |
| |
| }; }; }; }; |
| |
| #endif |