diff options
Diffstat (limited to 'offapi/com/sun/star/drawing/XPresenterHelper.idl')
-rw-r--r-- | offapi/com/sun/star/drawing/XPresenterHelper.idl | 179 |
1 files changed, 179 insertions, 0 deletions
diff --git a/offapi/com/sun/star/drawing/XPresenterHelper.idl b/offapi/com/sun/star/drawing/XPresenterHelper.idl new file mode 100644 index 000000000000..d1a2d5d3e176 --- /dev/null +++ b/offapi/com/sun/star/drawing/XPresenterHelper.idl @@ -0,0 +1,179 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_drawing_XPresenterHelper_idl__ +#define __com_sun_star_drawing_XPresenterHelper_idl__ + +#ifndef __com_sun_star_awt_XWindow_idl__ +#include <com/sun/star/awt/XWindow.idl> +#endif +#ifndef __com_sun_star_rendering_XCanvas_idl__ +#include <com/sun/star/rendering/XCanvas.idl> +#endif +#ifndef __com_sun_star_rendering_XSpriteCanvas_idl__ +#include <com/sun/star/rendering/XSpriteCanvas.idl> +#endif +#ifndef __com_sun_star_awt_Rectangle_idl__ +#include <com/sun/star/awt/Rectangle.idl> +#endif + +module com { module sun { module star { module drawing { + +constants CanvasFeature +{ + const short None = 0; + const short SpriteCanvas = 1; +}; + +/** This interface is a collection of functions that are necessary to + implement larger parts of the presenter screen as extension. The + methods of this interface give access to services that can, at the + moment, only implemented in the Office core, not in an extension. + + <p>With time some, maybe all, methods can moved to other, better suited, + interfaces.</p> +*/ +interface XPresenterHelper +{ + /** Create a new window as child window of the given parent window. + @param xParentWindow + The parent window of the new window. + @param bCreateSystemChildWindow + When <TRUE/> then the new window will be a system window that, + in the context of the presenter screen, can not be painted over + by other windows that lie behind it. + @param bInitiallyVisible + When <TRUE/> the new window will be visible from the start, + i.e. a window listener will not receive a windowShown signal. + @param bEnableChildTransparentMode + When <TRUE/> the parent window is painted behind its child + windows. This is one half of allowing child windows to be + transparent. + @param bEnableParentClip + When <TRUE/> then the parent window is not clipped where its + child windows are painted. This is the other half of allowing + child windows to be transparent. + */ + ::com::sun::star::awt::XWindow createWindow ( + [in] ::com::sun::star::awt::XWindow xParentWindow, + [in] boolean bCreateSystemChildWindow, + [in] boolean bInitiallyVisible, + [in] boolean bEnableChildTransparentMode, + [in] boolean bEnableParentClip); + + /** Create a new canvas for the given window. The new canvas is a + wrapper around the given shared canvas. The wrapper only modifies + the origin in all output and clipping methods. + @param xUpdateCanvas + This canvas is used to call updateScreen() on. May be <NULL/> + @param xUpdateWindow + The window that belongs to the update canvas. May also be + <NULL/> (is expected to b <NULL/> whenever xUpdateCanvas is.) + @param xSharedCanvas + The canvas that is shared by the wrapper. + @param xSharedWindow + The window of the shared canvas. This is used to determine the + proper offset. + @param xWindow + The canvas is created for this window. Must not be <NULL/> + */ + ::com::sun::star::rendering::XCanvas createSharedCanvas ( + [in] ::com::sun::star::rendering::XSpriteCanvas xUpdateCanvas, + [in] ::com::sun::star::awt::XWindow xUpdateWindow, + [in] ::com::sun::star::rendering::XCanvas xSharedCanvas, + [in] ::com::sun::star::awt::XWindow xSharedWindow, + [in] ::com::sun::star::awt::XWindow xWindow); + + /** Create a new canvas for the given window. + @param xWindow + The canvas is created for this window. Must not be <NULL/> + @param nRequestedCanvasFeatureList + List of requested features that the new canvas should (has to) + provide. Use only values from the <type>CanvasFeature</type> + constants group. + @param sOptionalCanvasServiceName + When an explicit service name is given then a new object of this + service is created. This service name lets the caller select a + specific canvas implementation, e.g. with or without hardware + acceleration. + */ + ::com::sun::star::rendering::XCanvas createCanvas ( + [in] ::com::sun::star::awt::XWindow xWindow, + [in] short nRequestedCanvasFeatureList, + [in] string sOptionalCanvasServiceName); + + /** Move the specified window to the top of its stacking order. As a + result the window will be painted over all its overlapping + siblings. + @param xWindow + This window will be moved to the top of its stacking order. + */ + void toTop ( + [in] ::com::sun::star::awt::XWindow xWindow); + + /** Load a bitmap from a file or other accessible resource that can be + located via a URL. + @param sURL + The URL of the bitmap. For a file URL the bitmap is loaded from + the specified file. + @param xCanvas + The bitmap is created to be compatible, and possibly optimized, + for this canvas. + */ + ::com::sun::star::rendering::XBitmap loadBitmap ( + [in] string sURL, + [in] ::com::sun::star::rendering::XCanvas xCanvas); + + /** Capture the mouse so that no other window will receive mouse events. + Note that this is a potentially dangerous method. Not calling + releaseMouse eventually can lead to an unresponsive application. + @param xWindow + The window for which mouse events will be notified even when the + mouse pointer moves outside the window or over other windows. + */ + void captureMouse ( + [in] ::com::sun::star::awt::XWindow xWindow); + + /** Release a previously captured mouse. + @param xWindow + The window from which the mouse will be released. + */ + void releaseMouse ( + [in] ::com::sun::star::awt::XWindow xWindow); + + /** Return the bounding box of the given child window relative to the + direct or indirect parent window. + */ + com::sun::star::awt::Rectangle getWindowExtentsRelative ( + [in] ::com::sun::star::awt::XWindow xChildWindow, + [in] ::com::sun::star::awt::XWindow xParentWindow); +}; + + +}; }; }; }; // ::com::sun::star::drawing + +#endif |