diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
commit | ed5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch) | |
tree | 7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /offapi/com/sun/star/awt/XGraphics.idl | |
parent | Initial commit. (diff) | |
download | libreoffice-upstream.tar.xz libreoffice-upstream.zip |
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'offapi/com/sun/star/awt/XGraphics.idl')
-rw-r--r-- | offapi/com/sun/star/awt/XGraphics.idl | 236 |
1 files changed, 236 insertions, 0 deletions
diff --git a/offapi/com/sun/star/awt/XGraphics.idl b/offapi/com/sun/star/awt/XGraphics.idl new file mode 100644 index 000000000..c3311737c --- /dev/null +++ b/offapi/com/sun/star/awt/XGraphics.idl @@ -0,0 +1,236 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#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> + + +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. + */ + void setFont( [in] XFont xNewFont ); + + /** creates a new font and sets the font. + */ + void selectFont( [in] FontDescriptor aDescription ); + + /** sets the text color used by text operations. + */ + void setTextColor( [in] com::sun::star::util::Color nColor ); + + /** sets the fill color used by text operations. + */ + void setTextFillColor( [in] com::sun::star::util::Color nColor ); + + /** sets the line color. + */ + void setLineColor( [in] com::sun::star::util::Color nColor ); + + /** sets the fill color. + */ + 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> + */ + void setRasterOp( [in] RasterOperation ROP ); + + /** sets the clip region to specified clipping. + */ + void setClipRegion( [in] XRegion Clipping ); + + /** builds the intersection with the current region. + */ + void intersectClipRegion( [in] XRegion xClipping ); + + /** saves all current settings (Font, TextColor, TextFillColor, + LineColor, FillColor, RasterOp, ClipRegion). + */ + void push(); + + /** restores all previous saved settings. + */ + void pop(); + + /** copies a rectangle of pixels from another device into this one. + */ + 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. + */ + 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. + */ + void drawPixel( [in] long X, + [in] long Y ); + + /** draws a line in the output device. + */ + void drawLine( [in] long X1, + [in] long Y1, + [in] long X2, + [in] long Y2 ); + + /** draws a rectangle in the output device. + */ + void drawRect( [in] long X, + [in] long Y, + [in] long Width, + [in] long Height ); + + /** draws a rectangle with rounded corners in the output device. + */ + 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. + */ + void drawPolyLine( [in] sequence<long> DataX, + [in] sequence<long> DataY ); + + /** draws a polygon line in the output device. + */ + void drawPolygon( [in] sequence<long> DataX, + [in] sequence<long> DataY ); + + /** draws multiple polygons in the output device at once. + */ + void drawPolyPolygon( [in] sequence< sequence<long> > DataX, + [in] sequence< sequence<long> > DataY ); + + /** draws an ellipse in the output device. + */ + 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. + */ + 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. + */ + 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> + */ + 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. + */ + void drawGradient( [in] long nX, + [in] long nY, + [in] long nWidth, + [in] long Height, + [in] Gradient aGradient ); + + /** draws text in the output device. + */ + void drawText( [in] long X, + [in] long Y, + [in] string Text ); + + /** draws texts in the output device using an explicit kerning table. + */ + void drawTextArray( [in] long X, + [in] long Y, + [in] string Text, + [in] sequence<long> Longs ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |