diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
commit | ed5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch) | |
tree | 7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /offapi/com/sun/star/presentation/XSlideShowController.idl | |
parent | Initial commit. (diff) | |
download | libreoffice-upstream.tar.xz libreoffice-upstream.zip |
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | offapi/com/sun/star/presentation/XSlideShowController.idl | 267 |
1 files changed, 267 insertions, 0 deletions
diff --git a/offapi/com/sun/star/presentation/XSlideShowController.idl b/offapi/com/sun/star/presentation/XSlideShowController.idl new file mode 100644 index 000000000..2d93e33c9 --- /dev/null +++ b/offapi/com/sun/star/presentation/XSlideShowController.idl @@ -0,0 +1,267 @@ +/* -*- 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 . + */ +#ifndef __com_sun_star_presentation_XSlideShowController_idl__ +#define __com_sun_star_presentation_XSlideShowController_idl__ + +#include <com/sun/star/drawing/XDrawPage.idl> +#include <com/sun/star/container/XIndexAccess.idl> +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/presentation/XSlideShow.idl> + + + 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(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |