/* -*- 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_XSlideShowListener_idl__
#define __com_sun_star_presentation_XSlideShowListener_idl__

#include <com/sun/star/animations/XAnimationListener.idl>

module com {  module sun {  module star {  module presentation {

/** Listener interface to receive global slide show events.<p>

    @see XShapeEventListener

    @since OOo 3.0
 */
interface XSlideShowListener : ::com::sun::star::animations::XAnimationListener
{
    /** Notify that the slide show is paused
    */
    void paused();

    /** Notify that the slide show is resumed from a paused state */
    void resumed();

    /** Notify that a new slide starts to become visible. */
    void slideTransitionStarted();

    /** Notify that the slide transition of the current slide ended. */
    void slideTransitionEnded();

    /** Notify that the last animation from the main sequence
            of the current slide has ended. */
    void slideAnimationsEnded();

    /** Notify that the current slide has ended,
        e.g. the user has clicked on the slide.
        Calling displaySlide() twice will not issue this event.
        @param reverse
            For the default order (forward) this flag is `FALSE`.
            When the main sequence was traversed in reverse order then this
            flag is `TRUE`.
    */
    void slideEnded( [in] boolean reverse );

    /** Notifies that a hyperlink has been clicked.
        @param hyperLink hyperlink URL
     */
    void hyperLinkClicked( [in] string hyperLink );
};

}; }; }; };


#endif

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
