/* -*- 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 .
*/
module com { module sun { module star { module presentation {
/** Slide show interface to perform slide show presentations.<p>
This interface provides the necessary methods to run and control a
slide show from a given set of XDrawPage slides . The slide show can
be displayed simultaneously on multiple targets . < p >
Note : To control a running slide show inside a presentation , please
use XPresentation2 and XSlideShowController .
@ since OOo 3 . 0
*/
interface XSlideShow : ::com::sun::star::uno::XInterface
{
/** Trigger the next effect of the slide show.<p>
This method triggers the next effect on the currently
displayed slide . If there is currently no slide show running ,
this method does nothing . If there are no more effects on the
current slide , a possible slide transition effect is issued
and the next slide is displayed . < p >
@ return ` TRUE ` , if the next effect was successfully
triggered . This method returns ` FALSE ` , if there is no show
running , the last effect on the last slide was already
triggered , or the implementation failed to trigger the next
effect .
*/
boolean nextEffect();
/** Undo the last effect in the main sequence of the slide show.<p>
The current slide is displayed as if the last user - triggered effect
has never been triggered . If there is no previous effect on the
current slide then slideEnded ( true ) is called at the registered
XSlideShowListener objects , which can then trigger a change to the
previous slide . Note that this command is executed asynchronously .
Multiple calls to update ( ) may be necessary to complete its execution .
If there is currently no slide show running , this method does
nothing . < p >
@ return ` TRUE ` , if the previous effect was successfully
triggered . This method returns ` FALSE ` , if there is no show
running , the first effect on the first slide was not yet
triggered , or the implementation failed to trigger the previous
effect .
*/
boolean previousEffect();
/** Start a shape-intrinsic animation or activity.<p>
This method starts an animation or activity intrinsic to the
given shape . Shape - intrinsic activities are things like video
playback for multimedia shapes , sounds , GIF animations and
drawing layer animations ( flipping between shapes in a group ,
or scroll text ) . < p >
@ param xShape
The shape to start the activity for
*/
boolean startShapeActivity( [in] ::com::sun::star::drawing::XShape xShape );
/** Stop a shape-intrinsic animation or activity.<p>
This method stops an animation or activity intrinsic to the
given shape . Shape - intrinsic activities are things like video
playback for multimedia shapes , sounds , GIF animations and
drawing layer animations ( flipping between shapes in a group ,
or scroll text ) . < p >
@ param xShape
The shape to stop the activity for
*/
boolean stopShapeActivity( [in] ::com::sun::star::drawing::XShape xShape );
/** Jump to the given slide.<p>
This method ends all effects on the current slide , displays a
possible slide transition , followed by the given slide . If the
current slide is equal to the requested slide here , this
method does nothing ( this especially means , that any currently
active effects will remain running ) . < p >
@ param xSlide
The slide to display .
@ param xDrawPages
For future use .
@ param AnimationNode
The animation node determine the animations to display .
@ param aProperties
Sequence of property values , which influence the way the
slide is displayed . Currently , the
following values are recognized :
< ul >
< li > name : Prefetch , value : : : com : : sun : : star : : drawing : : XDrawPage . When given ,
this slide is prepared in the background to be displayed next . The next
call to displaySlide ( ) with the given slide may be faster if there was
enough time for prefetching . If the next call to displaySlide ( ) uses
a different slide , this will still work but will not have any performance
improvements
< / li >
< li > name : SkipAllMainSequenceEffects , value : boolean .
When ` TRUE ` then all main sequence effects on the new slide
are triggered . This is typically used when going back one
effect leads to the previous slide . On that slide all
effects have to be shown in order to continue the backward
traveling .
When ` FALSE ` , the default , then no main sequence effect is
triggered .
< / li >
< li > name : SkipSlideTransition , value : boolean .
When ` TRUE ` then the slide transition animation , if there
is any , is not displayed . This is typically used when going
back one effect leads to the previous slide . Typically used
together with SkipAllMainSequenceEffects also being ` TRUE ` .
When ` FALSE ` , the default , then the slide transition
effect , if it exists , is played .
< / li >
< / ul >
*/
void displaySlide(
[in] ::com::sun::star::drawing::XDrawPage xSlide,
[in] ::com::sun::star::drawing::XDrawPagesSupplier xDrawPages,
[in] ::com::sun::star::animations::XAnimationNode AnimationNode,
[in] sequence< ::com::sun::star::beans::PropertyValue > aProperties );
/** Change the pause state of the slide show.<p>
This method either pauses the slide show ( all currently
running effects are stopped ) , or starts a previously stopped
show again ( all paused effects start again ) . < p >
@ param bPauseShow
When ` TRUE ` , the show is paused . When ` FALSE ` , and the show
was paused , it starts running at the paused position again .
@ return ` TRUE ` , if the requested action was successfully
performed .
*/
boolean pause( [in] boolean bPauseShow );
/** Query the currently displayed slide.<p>
@ return the instance of the current slide . If there ' s no
slide show running at the moment , this method returns an
empty reference .
*/
::com::sun::star::drawing::XDrawPage getCurrentSlide();
/** Register drawn polygons in presentation mode
@ param xDocFactory
*/
void registerUserPaintPolygons([in] ::com::sun::star::lang::XMultiServiceFactory xDocFactory);
/** Change a property of the slide show.<p>
@ param aShowProperty
Property values , which influence the way the slides are
shown . Note that this might possibly be a subset of what is
supported on show ( ) . Currently , the following values
are recognized :
< ul >
< li > name : AutomaticAdvancement , value : double . When given , effects
and slides are advanced automatically . The double value specifies
the timeout between the end of one effect until the start of the
next one . Negative values are truncated to zero here . When given ,
but with empty value , automatic advancement is disabled again . < / li >
< li > name : UserPaintColor , value : long . When given , the slide show
will display a small stylus as the mouse cursor . When pressing the
left mouse key , the user can paint a thin line in the given color . < / li >
< / ul >
A changed property is effective immediately .
*/
boolean setProperty(
[in] ::com::sun::star::beans::PropertyValue aShowProperty );
/** Add a view to the slide show.<p>
This method adds a view to the slide show . After successful
completion of this method , the slide show will be visible on
the added view , scaled according to the view ' s output area . < p >
@ param xView
The view to add
@ return ` TRUE ` , if the view has been successfully
added . Otherwise , ` FALSE ` is returned ( e . g . if the view is
already added ) .
*/
boolean addView( [in] XSlideShowView xView );
/** Remove view from the slide show.<p>
This method removes the given view from the slide show . After
successful completion of this method , the slide show will
cease to display on this view . < p >
@ param xView
View to remove
@ return ` TRUE ` , if the view was successfully removed , ` FALSE `
otherwise ( e . g . if the view was not added in the first place ) .
*/
boolean removeView( [in] XSlideShowView xView );
/** Update the animations.<p>
This method updates all currently active slide animations . The
XSlideShow implementations do not render animations
automatically , but must be called from their clients . This
allows for various update mechanisms to be employed , ranging
from a dedicated rendering thread , over timer - based updates ,
to rendering in an idle function . Either way , the client of
this interface decide about the details . < p >
@ param nNextTimeout
Via this value , the implementation can return a timeout value ,
denoting the maximal time span that must not be exceeded from
the return of this method to the next update call . Otherwise ,
the animations might show visible jerks .
@ return ` TRUE ` , if further update calls are required . If
` FALSE ` is returned , no further update calls are necessary ,
until anyone of the other interface methods is called ( most
notably , the next / previousSlide ( ) , nextEffect ( ) and show ( )
methods will nearly always make further update ( ) calls
necessary ) .
*/
boolean update( [out] double nNextTimeout );
/** Add a slide show listener.<p>
This method adds a listener to the slide show , which will get
notified when a registered shape is clicked upon , or a new
slide is about to be displayed . Note that the listeners will
< em > not < / em > be notified , when the slide change is directly
requested by one of the nextSlide ( ) , previousSlide ( ) or
displaySlide ( ) methods .
@ param xListener
Listener to add .
*/
void addSlideShowListener( [in] XSlideShowListener xListener );
/** Revoke a previously registered slide show listener.<p>
@ param xListener
Listener interface to revoke from being called .
*/
void removeSlideShowListener( [in] XSlideShowListener xListener );
/** Add a shape event listener.<p>
This method adds a listener to the slide show , which will get
notified when a mouse click is performed on the given
shape . This can be used by clients of the slide show to
trigger external actions , such as jumps to different slides . < p >
@ param xListener
Listener to add .
@ param xShape
Shape to register a listener for .
*/
void addShapeEventListener(
[in] XShapeEventListener xListener,
[in] ::com::sun::star::drawing::XShape xShape );
/** Revoke a previously registered shape event listener.<p>
@ param xListener
Listener interface to revoke from being called .
@ param xShape
Shape for which the listener should be revoked .
*/
void removeShapeEventListener(
[in] XShapeEventListener xListener,
[in] ::com::sun::star::drawing::XShape xShape );
/** Set a special mouse cursor for a shape.<p>
This method requests the slide show to display a special
cursor , whenever the mouse is hovering over the given shape . < p >
@ param xShape
Shape to display a special mouse cursor .
@ param nPointerShape
Type of mouse cursor to display . Must be one of the
: : com : : sun : : star : : awt : : SystemPointer values .
*/
void setShapeCursor(
[in] ::com::sun::star::drawing::XShape xShape,
[in] short nPointerShape );
};
}; }; }; };
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Messung V0.5 in Prozent C=91 H=91 G=90
¤ Dauer der Verarbeitung: 0.16 Sekunden
(vorverarbeitet am 2026-10-11)
¤
*© Formatika GbR, Deutschland