merge the formfield patch from ooo-build
[ooovba.git] / offapi / com / sun / star / drawing / XPresenterHelper.idl
blobbee7f4d25dccfef0bf6149cd14a36332e2897ba2
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: XPresenterHelper.idl,v $
11 * $Revision: 1.3 $
13 * This file is part of OpenOffice.org.
15 * OpenOffice.org is free software: you can redistribute it and/or modify
16 * it under the terms of the GNU Lesser General Public License version 3
17 * only, as published by the Free Software Foundation.
19 * OpenOffice.org is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU Lesser General Public License version 3 for more details
23 * (a copy is included in the LICENSE file that accompanied this code).
25 * You should have received a copy of the GNU Lesser General Public License
26 * version 3 along with OpenOffice.org. If not, see
27 * <http://www.openoffice.org/license.html>
28 * for a copy of the LGPLv3 License.
30 ************************************************************************/
32 #ifndef __com_sun_star_drawing_XPresenterHelper_idl__
33 #define __com_sun_star_drawing_XPresenterHelper_idl__
35 #ifndef __com_sun_star_awt_XWindow_idl__
36 #include <com/sun/star/awt/XWindow.idl>
37 #endif
38 #ifndef __com_sun_star_rendering_XCanvas_idl__
39 #include <com/sun/star/rendering/XCanvas.idl>
40 #endif
41 #ifndef __com_sun_star_rendering_XSpriteCanvas_idl__
42 #include <com/sun/star/rendering/XSpriteCanvas.idl>
43 #endif
44 #ifndef __com_sun_star_awt_Rectangle_idl__
45 #include <com/sun/star/awt/Rectangle.idl>
46 #endif
48 module com { module sun { module star { module drawing {
50 constants CanvasFeature
52 const short None = 0;
53 const short SpriteCanvas = 1;
56 /** This interface is a collection of functions that are necessary to
57 implement larger parts of the presenter screen as extension. The
58 methods of this interface give access to services that can, at the
59 moment, only implemented in the Office core, not in an extension.
61 <p>With time some, maybe all, methods can moved to other, better suited,
62 interfaces.</p>
64 interface XPresenterHelper
66 /** Create a new window as child window of the given parent window.
67 @param xParentWindow
68 The parent window of the new window.
69 @param bCreateSystemChildWindow
70 When <TRUE/> then the new window will be a system window that,
71 in the context of the presenter screen, can not be painted over
72 by other windows that lie behind it.
73 @param bInitiallyVisible
74 When <TRUE/> the new window will be visible from the start,
75 i.e. a window listener will not receive a windowShown signal.
76 @param bEnableChildTransparentMode
77 When <TRUE/> the parent window is painted behind its child
78 windows. This is one half of allowing child windows to be
79 transparent.
80 @param bEnableParentClip
81 When <TRUE/> then the parent window is not clipped where its
82 child windows are painted. This is the other half of allowing
83 child windows to be transparent.
85 ::com::sun::star::awt::XWindow createWindow (
86 [in] ::com::sun::star::awt::XWindow xParentWindow,
87 [in] boolean bCreateSystemChildWindow,
88 [in] boolean bInitiallyVisible,
89 [in] boolean bEnableChildTransparentMode,
90 [in] boolean bEnableParentClip);
92 /** Create a new canvas for the given window. The new canvas is a
93 wrapper around the given shared canvas. The wrapper only modifies
94 the origin in all output and clipping methods.
95 @param xUpdateCanvas
96 This canvas is used to call updateScreen() on. May be <NULL/>
97 @param xUpdateWindow
98 The window that belongs to the update canvas. May also be
99 <NULL/> (is expected to b <NULL/> whenever xUpdateCanvas is.)
100 @param xSharedCanvas
101 The canvas that is shared by the wrapper.
102 @param xSharedWindow
103 The window of the shared canvas. This is used to determine the
104 proper offset.
105 @param xWindow
106 The canvas is created for this window. Must not be <NULL/>
108 ::com::sun::star::rendering::XCanvas createSharedCanvas (
109 [in] ::com::sun::star::rendering::XSpriteCanvas xUpdateCanvas,
110 [in] ::com::sun::star::awt::XWindow xUpdateWindow,
111 [in] ::com::sun::star::rendering::XCanvas xSharedCanvas,
112 [in] ::com::sun::star::awt::XWindow xSharedWindow,
113 [in] ::com::sun::star::awt::XWindow xWindow);
115 /** Create a new canvas for the given window.
116 @param xWindow
117 The canvas is created for this window. Must not be <NULL/>
118 @param nRequestedCanvasFeatureList
119 List of requested features that the new canvas should (has to)
120 provide. Use only values from the <type>CanvasFeature</type>
121 constants group.
122 @param sOptionalCanvasServiceName
123 When an explicit service name is given then a new object of this
124 service is created. This service name lets the caller select a
125 specific canvas implementation, e.g. with or without hardware
126 acceleration.
128 ::com::sun::star::rendering::XCanvas createCanvas (
129 [in] ::com::sun::star::awt::XWindow xWindow,
130 [in] short nRequestedCanvasFeatureList,
131 [in] string sOptionalCanvasServiceName);
133 /** Move the specified window to the top of its stacking order. As a
134 result the window will be painted over all its overlapping
135 siblings.
136 @param xWindow
137 This window will be moved to the top of its stacking order.
139 void toTop (
140 [in] ::com::sun::star::awt::XWindow xWindow);
142 /** Load a bitmap from a file or other accessible resource that can be
143 located via a URL.
144 @param sURL
145 The URL of the bitmap. For a file URL the bitmap is loaded from
146 the specified file.
147 @param xCanvas
148 The bitmap is created to be compatible, and possibly optimized,
149 for this canvas.
151 ::com::sun::star::rendering::XBitmap loadBitmap (
152 [in] string sURL,
153 [in] ::com::sun::star::rendering::XCanvas xCanvas);
155 /** Capture the mouse so that no other window will receive mouse events.
156 Note that this is a potentially dangerous method. Not calling
157 releaseMouse eventually can lead to an unresponsive application.
158 @param xWindow
159 The window for which mouse events will be notified even when the
160 mouse pointer moves outside the window or over other windows.
162 void captureMouse (
163 [in] ::com::sun::star::awt::XWindow xWindow);
165 /** Release a previously captured mouse.
166 @param xWindow
167 The window from which the mouse will be released.
169 void releaseMouse (
170 [in] ::com::sun::star::awt::XWindow xWindow);
172 /** Return the bounding box of the given child window relative to the
173 direct or indirect parent window.
175 com::sun::star::awt::Rectangle getWindowExtentsRelative (
176 [in] ::com::sun::star::awt::XWindow xChildWindow,
177 [in] ::com::sun::star::awt::XWindow xParentWindow);
181 }; }; }; }; // ::com::sun::star::drawing
183 #endif