diff options
author | Ariel Constenla-Haile <arielch@apache.org> | 2012-12-06 12:28:11 +0000 |
---|---|---|
committer | Ariel Constenla-Haile <arielch@apache.org> | 2012-12-06 12:28:11 +0000 |
commit | 3ca8e86d4489f023160d69ba621a819a89ab90d5 (patch) | |
tree | 918f97f538d36a39134e35693b9d5fa62b54ac6f /offapi/com/sun/star/awt | |
parent | f2dd0f5ed49e404ff4be0fe81b614fc4af157d76 (diff) |
#i121442# - Extend css::awt::XGraphic to draw images
A StatusbarController that draws its status bar item may need to draw a
graphic representing the feature state. css::awt::XGraphics API should
be extended to include VCL's OuptDevice::DrawImage.
Notes
Notes:
merged as: f858fa266d8b33ccc27bb6a91f1923b9ea9cdaaa
Diffstat (limited to 'offapi/com/sun/star/awt')
-rw-r--r-- | offapi/com/sun/star/awt/ImageDrawMode.idl | 59 | ||||
-rw-r--r-- | offapi/com/sun/star/awt/XGraphics.idl | 172 | ||||
-rw-r--r-- | offapi/com/sun/star/awt/makefile.mk | 1 |
3 files changed, 126 insertions, 106 deletions
diff --git a/offapi/com/sun/star/awt/ImageDrawMode.idl b/offapi/com/sun/star/awt/ImageDrawMode.idl new file mode 100644 index 000000000000..95889630af3c --- /dev/null +++ b/offapi/com/sun/star/awt/ImageDrawMode.idl @@ -0,0 +1,59 @@ +/************************************************************** + * + * 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_ImageDrawMode_idl__ +#define __com_sun_star_awt_ImageDrawMode_idl__ + +module com { module sun { module star { module awt { + +/** defines modes how an image is drawn onto a device + + @see <member scope="com::sun::star::awt">XGraphics2::drawImage</member> + @since Apache OpenOffice 4.0 + */ +constants ImageDrawMode +{ + /** the image is drawn as is, without any color transformation. + */ + const short NONE = 0x0000; + + /** the image is drawn as if it represented a feature whose state is disabled. + */ + const short DISABLE = 0x0001; + + /** the image is drawn as being highlighted. + See <member scope="com::sun::star::awt">XStyleSettings::HighlightColor</member>. + */ + const short HIGHLIGHT = 0x0002; + + /** the image is drawn as being deactivated. + See <member scope="com::sun::star::awt">XStyleSettings::DeactiveColor</member>. + */ + const short DEACTIVE = 0x0004; + + /** the image is drawn semi-transparent. + */ + const short SEMITRANSPARENT = 0x0010; +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/awt/XGraphics.idl b/offapi/com/sun/star/awt/XGraphics.idl index 99b74e89182c..7c0007865d95 100644 --- a/offapi/com/sun/star/awt/XGraphics.idl +++ b/offapi/com/sun/star/awt/XGraphics.idl @@ -19,132 +19,90 @@ * *************************************************************/ - #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 +#include <com/sun/star/awt/Rectangle.idl> +#include <com/sun/star/graphic/XGraphic.idl> -//============================================================================= +module com { module sun { module star { module awt { - module com { module sun { module star { module awt { - - published interface XRegion; - published interface XDisplayBitmap; - published interface XFont; - published interface XDevice; - -//============================================================================= +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. + /** the device of this graphics */ - XDevice getDevice(); + [attribute, readonly] XDevice Device; - //------------------------------------------------------------------------- - - /** returns the font metric of the current font. + /** the text color used by text operations. */ - SimpleFontMetric getFontMetric(); - - //------------------------------------------------------------------------- + [attribute] com::sun::star::util::Color TextColor; - /** sets the font used by text operations. + /** the fill color used by text operations. */ - [oneway] void setFont( [in] XFont xNewFont ); + [attribute] com::sun::star::util::Color TextFillColor; - //------------------------------------------------------------------------- - - /** creates a new font and sets the font. + /** the line color. */ - [oneway] void selectFont( [in] FontDescriptor aDescription ); - - //------------------------------------------------------------------------- + [attribute] com::sun::star::util::Color LineColor; - /** sets the text color used by text operations. + /** the fill color. */ - [oneway] void setTextColor( [in] com::sun::star::util::Color nColor ); + [attribute] com::sun::star::util::Color FillColor; - //------------------------------------------------------------------------- + /** the raster operation. - /** sets the fill color used by text operations. + <p>If the device does not support raster operations, + this attribute is ignored.</p> */ - [oneway] void setTextFillColor( [in] com::sun::star::util::Color nColor ); + [attribute] RasterOperation RasterOp; - //------------------------------------------------------------------------- - - /** sets the line color. + /** the font used by text operations. */ - [oneway] void setLineColor( [in] com::sun::star::util::Color nColor ); - - //------------------------------------------------------------------------- + [attribute] XFont Font; - /** sets the fill color. + /** the font metric of the current font. */ - [oneway] void setFillColor( [in] com::sun::star::util::Color nColor ); + [attribute, readonly] SimpleFontMetric FontMetric; - //------------------------------------------------------------------------- - - /** sets the raster operation. - - <p>If the device does not support raster operations - then this call is ignored.</p> + /** creates a new font and sets the font. */ - [oneway] void setRasterOp( [in] RasterOperation ROP ); - - //------------------------------------------------------------------------- + [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 Apache OpenOffice 4.0 + */ + [oneway] void clear( [in] Rectangle aRect ); /** copies a rectangle of pixels from another device into this one. */ @@ -158,8 +116,6 @@ published interface XGraphics: com::sun::star::uno::XInterface [in] long nDestWidth, [in] long nDestHeight ); - //------------------------------------------------------------------------- - /** draws a part of the specified bitmap to the output device. */ [oneway] void draw( [in] XDisplayBitmap xBitmapHandle, @@ -172,15 +128,11 @@ published interface XGraphics: com::sun::star::uno::XInterface [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, @@ -188,8 +140,6 @@ published interface XGraphics: com::sun::star::uno::XInterface [in] long X2, [in] long Y2 ); - //------------------------------------------------------------------------- - /** draws a rectangle in the output device. */ [oneway] void drawRect( [in] long X, @@ -197,8 +147,6 @@ published interface XGraphics: com::sun::star::uno::XInterface [in] long Width, [in] long Height ); - //------------------------------------------------------------------------- - /** draws a rectangle with rounded corners in the output device. */ [oneway] void drawRoundedRect( [in] long X, @@ -208,29 +156,21 @@ published interface XGraphics: com::sun::star::uno::XInterface [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, @@ -238,8 +178,6 @@ published interface XGraphics: com::sun::star::uno::XInterface [in] long Width, [in] long Height ); - //------------------------------------------------------------------------- - /** draws an arc (part of a circle) in the output device. */ [oneway] void drawArc( [in] long X, @@ -251,8 +189,6 @@ published interface XGraphics: com::sun::star::uno::XInterface [in] long X2, [in] long Y2 ); - //------------------------------------------------------------------------- - /** draws a circular area in the output device. */ [oneway] void drawPie( [in] long X, @@ -264,8 +200,6 @@ published interface XGraphics: com::sun::star::uno::XInterface [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 @@ -281,8 +215,6 @@ published interface XGraphics: com::sun::star::uno::XInterface [in] long nX2, [in] long nY2 ); - //------------------------------------------------------------------------- - /** draws a color dispersion in the output device. */ [oneway] void drawGradient( [in] long nX, @@ -291,16 +223,12 @@ published interface XGraphics: com::sun::star::uno::XInterface [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, @@ -308,9 +236,41 @@ published interface XGraphics: com::sun::star::uno::XInterface [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 Apache 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 ); + +}; }; }; }; }; diff --git a/offapi/com/sun/star/awt/makefile.mk b/offapi/com/sun/star/awt/makefile.mk index a89065a909e8..a1604a35036a 100644 --- a/offapi/com/sun/star/awt/makefile.mk +++ b/offapi/com/sun/star/awt/makefile.mk @@ -100,6 +100,7 @@ IDLFILES=\ Gradient.idl\ GradientStyle.idl\ ImageAlign.idl\ + ImageDrawMode.idl\ ImagePosition.idl\ ImageScaleMode.idl\ ImageStatus.idl\ |