258 lines
6.8 KiB
Text
258 lines
6.8 KiB
Text
/* -*- 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 {
|
|
|
|
|
|
/** interface to control a running slide show.
|
|
|
|
@see XPresentation2
|
|
@since OOo 3.0
|
|
*/
|
|
interface XSlideShowController
|
|
{
|
|
|
|
/** returns true if the slide show is still running.
|
|
If this returns false, this component is already disposed.
|
|
You can start a new slide show and get a new instance
|
|
of XSlideShowController from XPresentation2
|
|
*/
|
|
boolean isRunning();
|
|
|
|
|
|
/** @returns
|
|
the number of slides in this slide show.
|
|
|
|
@see getSlideByIndex
|
|
*/
|
|
long getSlideCount();
|
|
|
|
|
|
/** gives access to the slides that will be shown in this slide show.
|
|
|
|
<p>Slides are returned in the order they will be displayed in the
|
|
presentation which can be different than the orders of slides in
|
|
the document. Not all slides must be present and each slide can
|
|
be used more than once.
|
|
|
|
@returns
|
|
the slide at the specified index.
|
|
|
|
@param Index
|
|
specifies the position in the list of slides that are displayed
|
|
in this slide show. The first index is 0.
|
|
|
|
@throws com::sun::star::lang::IndexOutOfBoundsException
|
|
if the index is not valid.
|
|
|
|
*/
|
|
::com::sun::star::drawing::XDrawPage getSlideByIndex( [in] long Index )
|
|
raises( com::sun::star::lang::IndexOutOfBoundsException );
|
|
|
|
|
|
/** adds a listener that receives events while the slide show is running. */
|
|
void addSlideShowListener( [in] XSlideShowListener Listener );
|
|
|
|
|
|
/** removes a listener. */
|
|
void removeSlideShowListener( [in] XSlideShowListener Listener );
|
|
|
|
|
|
/** start next effects that wait on a generic trigger.
|
|
<p>If no generic triggers are waiting the next
|
|
slide will be displayed.
|
|
*/
|
|
void gotoNextEffect();
|
|
|
|
|
|
/** undo the last effects that were triggered by a generic trigger.
|
|
<p>If there is no previous effect that can be undone then the
|
|
previous slide will be displayed.
|
|
*/
|
|
void gotoPreviousEffect();
|
|
|
|
|
|
/** goto and display first slide */
|
|
void gotoFirstSlide();
|
|
|
|
|
|
/** goto and display next slide.
|
|
<p>Remaining effects on the current slide will be skipped.*/
|
|
void gotoNextSlide();
|
|
|
|
|
|
/** goto and display previous slide.
|
|
<p>Remaining effects on the current slide will be skipped.*/
|
|
void gotoPreviousSlide();
|
|
|
|
|
|
/** goto and display last slide.
|
|
<p>Remaining effects on the current slide will be skipped.*/
|
|
void gotoLastSlide();
|
|
|
|
|
|
/** goto the given textual bookmark */
|
|
void gotoBookmark( [in] string Bookmark );
|
|
|
|
|
|
/** jumps to the given slide.
|
|
<p>The slide can also be a slide that would normally not be shown during
|
|
the current slide show.
|
|
|
|
@throws com::sun::star::lang::IllegalArgumentException
|
|
if the given page is not a valid slide of the document for
|
|
which this slide show is started. Also not allowed are master,
|
|
notes and handout pages.
|
|
*/
|
|
void gotoSlide( [in] com::sun::star::drawing::XDrawPage Page )
|
|
raises( com::sun::star::lang::IllegalArgumentException );
|
|
|
|
|
|
/** jumps to the slide at the given index.
|
|
*/
|
|
void gotoSlideIndex( [in] long Index );
|
|
|
|
|
|
/** stop all currently played sounds */
|
|
void stopSound();
|
|
|
|
|
|
/** pauses the slide show. All effects are paused.
|
|
<p>The slide show continues on next user input or if
|
|
resume() is called.
|
|
*/
|
|
void pause();
|
|
|
|
|
|
/** resumes a paused slide show.
|
|
*/
|
|
void resume();
|
|
|
|
|
|
/** returns `TRUE` if the slide show is currently paused.
|
|
|
|
@see pause()
|
|
@see resume()
|
|
*/
|
|
boolean isPaused();
|
|
|
|
|
|
/** pauses the slide show and blanks the screen in the given color.
|
|
<p>Change attribute Pause to false to unpause
|
|
the slide show.
|
|
*/
|
|
void blankScreen( [in] long Color );
|
|
|
|
|
|
/** activates the user interface of this slide show.
|
|
|
|
@see deactivate()
|
|
@see isActive()
|
|
*/
|
|
void activate();
|
|
|
|
/** can be called to deactivate the user interface of this slide show.
|
|
|
|
<p>A deactivated
|
|
@see activate()
|
|
@see isActive()
|
|
*/
|
|
void deactivate();
|
|
|
|
|
|
/** determines if the slide show is active.
|
|
|
|
@return
|
|
`TRUE` for UI active slide show
|
|
<br>
|
|
`FALSE` otherwise
|
|
*/
|
|
boolean isActive();
|
|
|
|
|
|
/** returns slide that is currently displayed */
|
|
com::sun::star::drawing::XDrawPage getCurrentSlide();
|
|
|
|
|
|
/** returns the index of the current slide. */
|
|
long getCurrentSlideIndex();
|
|
|
|
|
|
/** the index for the slide that is displayed next. */
|
|
long getNextSlideIndex();
|
|
|
|
|
|
/** returns `TRUE` if the slide show was started to run endlessly.
|
|
*/
|
|
boolean isEndless();
|
|
|
|
|
|
/** Returns `TRUE` if the slide show was started in full-screen mode.
|
|
*/
|
|
boolean isFullScreen();
|
|
|
|
|
|
/** If this attribute is set to `TRUE`, the window of the slide show is
|
|
always on top of all other windows.
|
|
*/
|
|
[attribute] boolean AlwaysOnTop;
|
|
|
|
|
|
/** If this attribute is `TRUE`, the mouse is visible during the
|
|
slide show.
|
|
*/
|
|
[attribute] boolean MouseVisible;
|
|
|
|
|
|
/** If this is `TRUE`, a pen is shown during presentation.
|
|
|
|
<p>You can draw on the presentation with this pen.</p>
|
|
*/
|
|
[attribute] boolean UsePen;
|
|
|
|
|
|
/** This attribute changes the color of the pen. */
|
|
[attribute] long PenColor;
|
|
|
|
/** This attribute changes the width of the pen.
|
|
|
|
@since LibreOffice 4.2
|
|
*/
|
|
[attribute] double PenWidth;
|
|
|
|
|
|
/** This method clears ink drawing from the slideshow being played
|
|
|
|
@since LibreOffice 7.2
|
|
*/
|
|
void setEraseAllInk( [in] boolean EraseAllInk );
|
|
|
|
/** returns the actual XSlideShow instance that runs the
|
|
slide show.
|
|
<br>Normally all navigation should be done using this controller and
|
|
not the XSlideShow itself. */
|
|
XSlideShow getSlideShow();
|
|
|
|
};
|
|
|
|
|
|
}; }; }; };
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|