1*b1cdbd2cSJim Jagielski/************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski#ifndef _com_sun_star_presentation_XSlideShow_idl 24*b1cdbd2cSJim Jagielski#define _com_sun_star_presentation_XSlideShow_idl 25*b1cdbd2cSJim Jagielski 26*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_uno_XInterface_idl__ 27*b1cdbd2cSJim Jagielski#include <com/sun/star/uno/XInterface.idl> 28*b1cdbd2cSJim Jagielski#endif 29*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_beans_PropertyValue_idl__ 30*b1cdbd2cSJim Jagielski#include <com/sun/star/beans/PropertyValue.idl> 31*b1cdbd2cSJim Jagielski#endif 32*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_geometry_RealRectangle2D_idl__ 33*b1cdbd2cSJim Jagielski#include <com/sun/star/geometry/RealRectangle2D.idl> 34*b1cdbd2cSJim Jagielski#endif 35*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_rendering_XSpriteCanvas_idl__ 36*b1cdbd2cSJim Jagielski#include <com/sun/star/rendering/XSpriteCanvas.idl> 37*b1cdbd2cSJim Jagielski#endif 38*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_animations_XAnimationNode_idl__ 39*b1cdbd2cSJim Jagielski#include <com/sun/star/animations/XAnimationNode.idl> 40*b1cdbd2cSJim Jagielski#endif 41*b1cdbd2cSJim Jagielski#endif 42*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__ 43*b1cdbd2cSJim Jagielski#include <com/sun/star/lang/XMultiServiceFactory.idl> 44*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_drawing_XDrawPage_idl__ 45*b1cdbd2cSJim Jagielski#include <com/sun/star/drawing/XDrawPage.idl> 46*b1cdbd2cSJim Jagielski#endif 47*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_drawing_XDrawPagesSupplier_idl__ 48*b1cdbd2cSJim Jagielski#include <com/sun/star/drawing/XDrawPagesSupplier.idl> 49*b1cdbd2cSJim Jagielski#endif 50*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_drawing_XShape_idl__ 51*b1cdbd2cSJim Jagielski#include <com/sun/star/drawing/XShape.idl> 52*b1cdbd2cSJim Jagielski#endif 53*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_presentation_XSlideShowView_idl__ 54*b1cdbd2cSJim Jagielski#include <com/sun/star/presentation/XSlideShowView.idl> 55*b1cdbd2cSJim Jagielski#endif 56*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_presentation_XSlideShowListener_idl__ 57*b1cdbd2cSJim Jagielski#include <com/sun/star/presentation/XSlideShowListener.idl> 58*b1cdbd2cSJim Jagielski#endif 59*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_presentation_XShapeEventListener_idl__ 60*b1cdbd2cSJim Jagielski#include <com/sun/star/presentation/XShapeEventListener.idl> 61*b1cdbd2cSJim Jagielski#endif 62*b1cdbd2cSJim Jagielski 63*b1cdbd2cSJim Jagielskimodule com { module sun { module star { module presentation { 64*b1cdbd2cSJim Jagielski 65*b1cdbd2cSJim Jagielski/** Slideshow interface to perform slideshow presentations.<p> 66*b1cdbd2cSJim Jagielski 67*b1cdbd2cSJim Jagielski This interface provides the necessary methods to run and control a 68*b1cdbd2cSJim Jagielski slideshow from a given set of XDrawPage slides. The slideshow can 69*b1cdbd2cSJim Jagielski be displayed simultaneously on multiple targets.<p> 70*b1cdbd2cSJim Jagielski 71*b1cdbd2cSJim Jagielski Note: To controll a running slideshow inside a presentation, please 72*b1cdbd2cSJim Jagielski use <type>XPresentation2</type> and <type>XSlideShowController</type>. 73*b1cdbd2cSJim Jagielski 74*b1cdbd2cSJim Jagielski @since OpenOffice 3.0 75*b1cdbd2cSJim Jagielski */ 76*b1cdbd2cSJim Jagielskiinterface XSlideShow : ::com::sun::star::uno::XInterface 77*b1cdbd2cSJim Jagielski{ 78*b1cdbd2cSJim Jagielski /** Trigger the next effect of the slideshow.<p> 79*b1cdbd2cSJim Jagielski 80*b1cdbd2cSJim Jagielski This method triggers the next effect on the currently 81*b1cdbd2cSJim Jagielski displayed slide. If there is currently no slideshow running, 82*b1cdbd2cSJim Jagielski this method does nothing. If there are no more effects on the 83*b1cdbd2cSJim Jagielski current slide, a possible slide transition effect is issued 84*b1cdbd2cSJim Jagielski and the next slide is displayed.<p> 85*b1cdbd2cSJim Jagielski 86*b1cdbd2cSJim Jagielski @return <TRUE>, if the next effect was successfully 87*b1cdbd2cSJim Jagielski triggered. This method returns <FALSE>, if there is no show 88*b1cdbd2cSJim Jagielski running, the last effect on the last slide was already 89*b1cdbd2cSJim Jagielski triggered, or the implementation failed to trigger the next 90*b1cdbd2cSJim Jagielski effect. 91*b1cdbd2cSJim Jagielski */ 92*b1cdbd2cSJim Jagielski boolean nextEffect(); 93*b1cdbd2cSJim Jagielski 94*b1cdbd2cSJim Jagielski /** Undo the last effect in the main sequence of the slideshow.<p> 95*b1cdbd2cSJim Jagielski 96*b1cdbd2cSJim Jagielski The current slide is displayed as if the last user-triggered effect 97*b1cdbd2cSJim Jagielski has never been triggered. If there is no previous effect on the 98*b1cdbd2cSJim Jagielski current slide then slideEnded(true) is called at the registered 99*b1cdbd2cSJim Jagielski XSlideShowListener objects, which can then trigger a change to the 100*b1cdbd2cSJim Jagielski previous slide. Note that this command is executed asynchronously. 101*b1cdbd2cSJim Jagielski Multiple calls to update() may be necessary to complete its execution. 102*b1cdbd2cSJim Jagielski If there is currently no slideshow running, this method does 103*b1cdbd2cSJim Jagielski nothing.<p> 104*b1cdbd2cSJim Jagielski 105*b1cdbd2cSJim Jagielski @return <TRUE/>, if the previous effect was successfully 106*b1cdbd2cSJim Jagielski triggered. This method returns <FALSE/>, if there is no show 107*b1cdbd2cSJim Jagielski running, the first effect on the first slide was not yet 108*b1cdbd2cSJim Jagielski triggered, or the implementation failed to trigger the previous 109*b1cdbd2cSJim Jagielski effect. 110*b1cdbd2cSJim Jagielski */ 111*b1cdbd2cSJim Jagielski boolean previousEffect(); 112*b1cdbd2cSJim Jagielski 113*b1cdbd2cSJim Jagielski /** Start a shape-intrinsic animation or activity.<p> 114*b1cdbd2cSJim Jagielski 115*b1cdbd2cSJim Jagielski This method starts an animation or activity intrinsic to the 116*b1cdbd2cSJim Jagielski given shape. Shape-intrinsic activities are things like video 117*b1cdbd2cSJim Jagielski playback for multimedia shapes, sounds, GIF animations and 118*b1cdbd2cSJim Jagielski drawing layer animations (flipping between shapes in a group, 119*b1cdbd2cSJim Jagielski or scroll text).<p> 120*b1cdbd2cSJim Jagielski 121*b1cdbd2cSJim Jagielski @param xShape 122*b1cdbd2cSJim Jagielski The shape to start the activity for 123*b1cdbd2cSJim Jagielski */ 124*b1cdbd2cSJim Jagielski boolean startShapeActivity( [in] ::com::sun::star::drawing::XShape xShape ); 125*b1cdbd2cSJim Jagielski 126*b1cdbd2cSJim Jagielski /** Stop a shape-intrinsic animation or activity.<p> 127*b1cdbd2cSJim Jagielski 128*b1cdbd2cSJim Jagielski This method stops an animation or activity intrinsic to the 129*b1cdbd2cSJim Jagielski given shape. Shape-intrinsic activities are things like video 130*b1cdbd2cSJim Jagielski playback for multimedia shapes, sounds, GIF animations and 131*b1cdbd2cSJim Jagielski drawing layer animations (flipping between shapes in a group, 132*b1cdbd2cSJim Jagielski or scroll text).<p> 133*b1cdbd2cSJim Jagielski 134*b1cdbd2cSJim Jagielski @param xShape 135*b1cdbd2cSJim Jagielski The shape to stop the activity for 136*b1cdbd2cSJim Jagielski */ 137*b1cdbd2cSJim Jagielski boolean stopShapeActivity( [in] ::com::sun::star::drawing::XShape xShape ); 138*b1cdbd2cSJim Jagielski 139*b1cdbd2cSJim Jagielski /** Jump to the given slide.<p> 140*b1cdbd2cSJim Jagielski 141*b1cdbd2cSJim Jagielski This method ends all effects on the current slide, displays a 142*b1cdbd2cSJim Jagielski possible slide transition, followed by the given slide. If the 143*b1cdbd2cSJim Jagielski current slide is equal to the requested slide here, this 144*b1cdbd2cSJim Jagielski method does nothing (this especially means, that any currently 145*b1cdbd2cSJim Jagielski active effects will remain running).<p> 146*b1cdbd2cSJim Jagielski 147*b1cdbd2cSJim Jagielski @param xPage 148*b1cdbd2cSJim Jagielski The slide to display. 149*b1cdbd2cSJim Jagielski 150*b1cdbd2cSJim Jagielski @param xDrawPages 151*b1cdbd2cSJim Jagielski For future use. 152*b1cdbd2cSJim Jagielski 153*b1cdbd2cSJim Jagielski @param xAnimationNode 154*b1cdbd2cSJim Jagielski The animation node determine the animations to display. 155*b1cdbd2cSJim Jagielski 156*b1cdbd2cSJim Jagielski @param aProperties 157*b1cdbd2cSJim Jagielski Sequence of property values, which influence the way the 158*b1cdbd2cSJim Jagielski slide is displayed. Currently, the 159*b1cdbd2cSJim Jagielski following values are recognized: 160*b1cdbd2cSJim Jagielski <ul> 161*b1cdbd2cSJim Jagielski <li>name: Prefetch, value: ::com::sun::star::drawing::XDrawPage. When given, 162*b1cdbd2cSJim Jagielski this slide is prepared in the background to be displayed next. The next 163*b1cdbd2cSJim Jagielski call to displaySlide() with the given slide may be faster if there was 164*b1cdbd2cSJim Jagielski enough time for prefatching. If the next call to displaySlide() uses 165*b1cdbd2cSJim Jagielski a different slide, this will still work but will not have any performance 166*b1cdbd2cSJim Jagielski improvements 167*b1cdbd2cSJim Jagielski </li> 168*b1cdbd2cSJim Jagielski <li>name: SkipAllMainSequenceEffects, value: boolean. 169*b1cdbd2cSJim Jagielski When <TRUE/> then all main sequence effects on the new slide 170*b1cdbd2cSJim Jagielski are triggered. This is typically used when going back one 171*b1cdbd2cSJim Jagielski effect leads to the previous slide. On that slide all 172*b1cdbd2cSJim Jagielski effects have to be shown in order to continue the backward 173*b1cdbd2cSJim Jagielski travelling. 174*b1cdbd2cSJim Jagielski When <FALSE/>, the default, then no main sequence effect is 175*b1cdbd2cSJim Jagielski triggered. 176*b1cdbd2cSJim Jagielski </li> 177*b1cdbd2cSJim Jagielski <li>name: SkipSlideTransition, value: boolean. 178*b1cdbd2cSJim Jagielski When <TRUE/> then the slide transition animation, if there 179*b1cdbd2cSJim Jagielski is any, is not displayed. This is typically used when going 180*b1cdbd2cSJim Jagielski back one effect leads to the previous slide. Typically used 181*b1cdbd2cSJim Jagielski together with SkipAllMainSequenceEffects also being <TRUE/>. 182*b1cdbd2cSJim Jagielski When <FALSE/>, the default, then the slide transition 183*b1cdbd2cSJim Jagielski effect, if it exists, is played. 184*b1cdbd2cSJim Jagielski </li> 185*b1cdbd2cSJim Jagielski </ul> 186*b1cdbd2cSJim Jagielski */ 187*b1cdbd2cSJim Jagielski void displaySlide( 188*b1cdbd2cSJim Jagielski [in] ::com::sun::star::drawing::XDrawPage xSlide, 189*b1cdbd2cSJim Jagielski [in] ::com::sun::star::drawing::XDrawPagesSupplier xDrawPages, 190*b1cdbd2cSJim Jagielski [in] ::com::sun::star::animations::XAnimationNode aAnimationNode, 191*b1cdbd2cSJim Jagielski [in] sequence< ::com::sun::star::beans::PropertyValue > aProperties ); 192*b1cdbd2cSJim Jagielski 193*b1cdbd2cSJim Jagielski /** Change the pause state of the slide show.<p> 194*b1cdbd2cSJim Jagielski 195*b1cdbd2cSJim Jagielski This method either pauses the slide show (all currently 196*b1cdbd2cSJim Jagielski running effects are stopped), or starts a previously stopped 197*b1cdbd2cSJim Jagielski show again (all paused effects start again).<p> 198*b1cdbd2cSJim Jagielski 199*b1cdbd2cSJim Jagielski @param bPauseShow 200*b1cdbd2cSJim Jagielski When <TRUE>, the show is paused. When <FALSE>, and the show 201*b1cdbd2cSJim Jagielski was paused, it starts running at the paused position again. 202*b1cdbd2cSJim Jagielski 203*b1cdbd2cSJim Jagielski @return <TRUE>, if the requested action was successfully 204*b1cdbd2cSJim Jagielski performed. 205*b1cdbd2cSJim Jagielski */ 206*b1cdbd2cSJim Jagielski boolean pause( [in] boolean bPauseShow ); 207*b1cdbd2cSJim Jagielski 208*b1cdbd2cSJim Jagielski /** Query the currently displayed slide.<p> 209*b1cdbd2cSJim Jagielski 210*b1cdbd2cSJim Jagielski @return the instance of the current slide. If there's no 211*b1cdbd2cSJim Jagielski slideshow running at the moment, this method returns an 212*b1cdbd2cSJim Jagielski empty reference. 213*b1cdbd2cSJim Jagielski */ 214*b1cdbd2cSJim Jagielski ::com::sun::star::drawing::XDrawPage getCurrentSlide(); 215*b1cdbd2cSJim Jagielski 216*b1cdbd2cSJim Jagielski /** Register drawn polygons in presentation mode 217*b1cdbd2cSJim Jagielski 218*b1cdbd2cSJim Jagielski @param xDocFactory 219*b1cdbd2cSJim Jagielski 220*b1cdbd2cSJim Jagielski */ 221*b1cdbd2cSJim Jagielski 222*b1cdbd2cSJim Jagielski void registerUserPaintPolygons([in] ::com::sun::star::lang::XMultiServiceFactory xDocFactory); 223*b1cdbd2cSJim Jagielski 224*b1cdbd2cSJim Jagielski /** Change a property of the slideshow.<p> 225*b1cdbd2cSJim Jagielski 226*b1cdbd2cSJim Jagielski @param aShowProperty 227*b1cdbd2cSJim Jagielski Property values, which influence the way the slides are 228*b1cdbd2cSJim Jagielski shown. Note that this might possibly be a subset of what is 229*b1cdbd2cSJim Jagielski supported on show(). Currently, the following values 230*b1cdbd2cSJim Jagielski are recognized: 231*b1cdbd2cSJim Jagielski <ul> 232*b1cdbd2cSJim Jagielski <li>name: AutomaticAdvancement, value: double. When given, effects 233*b1cdbd2cSJim Jagielski and slides are advanced automatically. The double value specifies 234*b1cdbd2cSJim Jagielski the timeout between the end of one effect until the start of the 235*b1cdbd2cSJim Jagielski next one. Negative values are truncated to zero here. When given, 236*b1cdbd2cSJim Jagielski but with empty value, automatic advancement is disabled again.</li> 237*b1cdbd2cSJim Jagielski <li>name: UserPaintColor, value: long. When given, the slide show 238*b1cdbd2cSJim Jagielski will display a small stylus as the mouse cursor. When pressing the 239*b1cdbd2cSJim Jagielski left mouse key, the user can paint a thin line in the given color.</li> 240*b1cdbd2cSJim Jagielski </ul> 241*b1cdbd2cSJim Jagielski A changed property is effective immediately. 242*b1cdbd2cSJim Jagielski */ 243*b1cdbd2cSJim Jagielski boolean setProperty( 244*b1cdbd2cSJim Jagielski [in] ::com::sun::star::beans::PropertyValue aShowProperty ); 245*b1cdbd2cSJim Jagielski 246*b1cdbd2cSJim Jagielski /** Add a view to the slide show.<p> 247*b1cdbd2cSJim Jagielski 248*b1cdbd2cSJim Jagielski This method adds a view to the slide show. After successful 249*b1cdbd2cSJim Jagielski completion of this method, the slide show will be visible on 250*b1cdbd2cSJim Jagielski the added view, scaled according to the view's output area.<p> 251*b1cdbd2cSJim Jagielski 252*b1cdbd2cSJim Jagielski @param xView 253*b1cdbd2cSJim Jagielski The view to add 254*b1cdbd2cSJim Jagielski 255*b1cdbd2cSJim Jagielski @return <TRUE>, if the view has been successfully 256*b1cdbd2cSJim Jagielski added. Otherwise, <FALSE> is returned (e.g. if the view is 257*b1cdbd2cSJim Jagielski already added). 258*b1cdbd2cSJim Jagielski */ 259*b1cdbd2cSJim Jagielski boolean addView( [in] XSlideShowView xView ); 260*b1cdbd2cSJim Jagielski 261*b1cdbd2cSJim Jagielski /** Remove view from the slide show.<p> 262*b1cdbd2cSJim Jagielski 263*b1cdbd2cSJim Jagielski This method removes the given view from the slide show. After 264*b1cdbd2cSJim Jagielski successful completion of this method, the slide show will 265*b1cdbd2cSJim Jagielski cease to display on this view.<p> 266*b1cdbd2cSJim Jagielski 267*b1cdbd2cSJim Jagielski @param xView 268*b1cdbd2cSJim Jagielski View to remove 269*b1cdbd2cSJim Jagielski 270*b1cdbd2cSJim Jagielski @return <TRUE>, if the view was successfully removed, <FALSE> 271*b1cdbd2cSJim Jagielski otherwise (e.g. if the view was not added in the first place). 272*b1cdbd2cSJim Jagielski */ 273*b1cdbd2cSJim Jagielski boolean removeView( [in] XSlideShowView xView ); 274*b1cdbd2cSJim Jagielski 275*b1cdbd2cSJim Jagielski /** Update the animations.<p> 276*b1cdbd2cSJim Jagielski 277*b1cdbd2cSJim Jagielski This method updates all currently active slide animations. The 278*b1cdbd2cSJim Jagielski XSlideShow implementations do not render animations 279*b1cdbd2cSJim Jagielski automatically, but must be called from their clients. This 280*b1cdbd2cSJim Jagielski allows for various update mechanisms to be employed, ranging 281*b1cdbd2cSJim Jagielski from a dedicated rendering thread, over timer-based updates, 282*b1cdbd2cSJim Jagielski to rendering in an idle function. Either way, the client of 283*b1cdbd2cSJim Jagielski this interface decide about the details.<p> 284*b1cdbd2cSJim Jagielski 285*b1cdbd2cSJim Jagielski @param nNextTimeout 286*b1cdbd2cSJim Jagielski Via this value, the implementation can return a timeout value, 287*b1cdbd2cSJim Jagielski denoting the maximal time span that must not be exceeded from 288*b1cdbd2cSJim Jagielski the return of this method to the next update call. Otherwise, 289*b1cdbd2cSJim Jagielski the animations might show visible jerks. 290*b1cdbd2cSJim Jagielski 291*b1cdbd2cSJim Jagielski @return <TRUE>, if further update calls are required. If 292*b1cdbd2cSJim Jagielski <FALSE> is returned, no further update calls are necessary, 293*b1cdbd2cSJim Jagielski until anyone of the other interface methods is called (most 294*b1cdbd2cSJim Jagielski notably, the next/previousSlide(), nextEffect() and show() 295*b1cdbd2cSJim Jagielski methods will nearly always make further update() calls 296*b1cdbd2cSJim Jagielski necessary). 297*b1cdbd2cSJim Jagielski */ 298*b1cdbd2cSJim Jagielski boolean update( [out] double nNextTimeout ); 299*b1cdbd2cSJim Jagielski 300*b1cdbd2cSJim Jagielski /** Add a slide show listener.<p> 301*b1cdbd2cSJim Jagielski 302*b1cdbd2cSJim Jagielski This method adds a listener to the slide show, which will get 303*b1cdbd2cSJim Jagielski notified when a registerend shape is clicked upon, or a new 304*b1cdbd2cSJim Jagielski slide is about to be displayed. Note that the listeners will 305*b1cdbd2cSJim Jagielski <em>not</em> be notified, when the slide change is directly 306*b1cdbd2cSJim Jagielski requested by one of the nextSlide(), previousSlide() or 307*b1cdbd2cSJim Jagielski displaySlide() methods. 308*b1cdbd2cSJim Jagielski 309*b1cdbd2cSJim Jagielski @param xListener 310*b1cdbd2cSJim Jagielski Listener to add. 311*b1cdbd2cSJim Jagielski */ 312*b1cdbd2cSJim Jagielski void addSlideShowListener( [in] XSlideShowListener xListener ); 313*b1cdbd2cSJim Jagielski 314*b1cdbd2cSJim Jagielski /** Revoke a previously registered slide show listener.<p> 315*b1cdbd2cSJim Jagielski 316*b1cdbd2cSJim Jagielski @param xListener 317*b1cdbd2cSJim Jagielski Listener interface to revoke from being called. 318*b1cdbd2cSJim Jagielski */ 319*b1cdbd2cSJim Jagielski void removeSlideShowListener( [in] XSlideShowListener xListener ); 320*b1cdbd2cSJim Jagielski 321*b1cdbd2cSJim Jagielski /** Add a shape event listener.<p> 322*b1cdbd2cSJim Jagielski 323*b1cdbd2cSJim Jagielski This method adds a listener to the slide show, which will get 324*b1cdbd2cSJim Jagielski notified when a mouse click is performed on the given 325*b1cdbd2cSJim Jagielski shape. This can be used by clients of the slide show to 326*b1cdbd2cSJim Jagielski trigger external actions, such as jumps to different slides.<p> 327*b1cdbd2cSJim Jagielski 328*b1cdbd2cSJim Jagielski @param xListener 329*b1cdbd2cSJim Jagielski Listener to add. 330*b1cdbd2cSJim Jagielski 331*b1cdbd2cSJim Jagielski @param xShape 332*b1cdbd2cSJim Jagielski Shape to register a listener for. 333*b1cdbd2cSJim Jagielski */ 334*b1cdbd2cSJim Jagielski void addShapeEventListener( 335*b1cdbd2cSJim Jagielski [in] XShapeEventListener xListener, 336*b1cdbd2cSJim Jagielski [in] ::com::sun::star::drawing::XShape xShape ); 337*b1cdbd2cSJim Jagielski 338*b1cdbd2cSJim Jagielski /** Revoke a previously registered shape event listener.<p> 339*b1cdbd2cSJim Jagielski 340*b1cdbd2cSJim Jagielski @param xListener 341*b1cdbd2cSJim Jagielski Listener interface to revoke from being called. 342*b1cdbd2cSJim Jagielski 343*b1cdbd2cSJim Jagielski @param xShape 344*b1cdbd2cSJim Jagielski Shape for which the listener should be revoked. 345*b1cdbd2cSJim Jagielski */ 346*b1cdbd2cSJim Jagielski void removeShapeEventListener( 347*b1cdbd2cSJim Jagielski [in] XShapeEventListener xListener, 348*b1cdbd2cSJim Jagielski [in] ::com::sun::star::drawing::XShape xShape ); 349*b1cdbd2cSJim Jagielski 350*b1cdbd2cSJim Jagielski /** Set a special mouse cursor for a shape.<p> 351*b1cdbd2cSJim Jagielski 352*b1cdbd2cSJim Jagielski This method requests the slide show to display a special 353*b1cdbd2cSJim Jagielski cursor, whenever the mouse is hovering over the given shape.<p> 354*b1cdbd2cSJim Jagielski 355*b1cdbd2cSJim Jagielski @param xShape 356*b1cdbd2cSJim Jagielski Shape to display a special mouse cursor. 357*b1cdbd2cSJim Jagielski 358*b1cdbd2cSJim Jagielski @param nPointerShape 359*b1cdbd2cSJim Jagielski Type of mouse cursor to display. Must be one of the 360*b1cdbd2cSJim Jagielski ::com::sun::star::awt::SystemPointer values. 361*b1cdbd2cSJim Jagielski */ 362*b1cdbd2cSJim Jagielski void setShapeCursor( 363*b1cdbd2cSJim Jagielski [in] ::com::sun::star::drawing::XShape xShape, 364*b1cdbd2cSJim Jagielski [in] short nPointerShape ); 365*b1cdbd2cSJim Jagielski 366*b1cdbd2cSJim Jagielski}; 367*b1cdbd2cSJim Jagielski 368*b1cdbd2cSJim Jagielskiservice SlideShow : XSlideShow; 369*b1cdbd2cSJim Jagielski 370*b1cdbd2cSJim Jagielski}; }; }; }; 371*b1cdbd2cSJim Jagielski 372*b1cdbd2cSJim Jagielski#endif 373*b1cdbd2cSJim Jagielski 374