/* -*- 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_DrawPage_idl__
#define __com_sun_star_presentation_DrawPage_idl__

#include <com/sun/star/drawing/DrawPage.idl>

#include <com/sun/star/document/LinkTarget.idl>

#include <com/sun/star/presentation/FadeEffect.idl>

#include <com/sun/star/presentation/AnimationSpeed.idl>



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


/** This is the service provided by a com::sun::star::drawing::DrawPage inside a
    PresentationDocument.

    @see PresentationDocument
 */
published service DrawPage
{
    service com::sun::star::drawing::DrawPage;

    /** Every page is a link target inside the document object model.
     */
    service com::sun::star::document::LinkTarget;


    /** specifies how the page change is triggered.

        <p>If this is 0, the user must click to start each object animation
        and to change the page.  If set to 1, the page is
        automatically switched.  If it is set to 2, all object effects run
        automatically, but the user has to click on the page to change it.</p>
     */
    [property] long Change;


    /** If the property com::sun::star::drawing::DrawPage::Change is set to 1,
        this is the time in seconds this page is shown before switching
        to the next page.
     */
    [property] long Duration;

    /** If the property com::sun::star::drawing::DrawPage::Change is set to 1,
        this is the time in seconds this page is shown before switching
        to the next page, also permitting sub-second precision here.
     */
    [optional, property] double HighResDuration;

    /** This is the effect that is used to fade in this page.
     */
    [property] com::sun::star::presentation::FadeEffect Effect;


    /** If this property is not ZERO, this number specifies a presentation
        layout for this page.
     */
    [property] short Layout;


    /** Defines the speed of the fade-in effect of this page.
        @see TransitionSpeed
     */
    [property] com::sun::star::presentation::AnimationSpeed Speed;

    /** defines if a header presentation shape from the master page is visible
        on this page.
    */

    [optional, property] boolean IsHeaderVisible;


    /** defines the text that is displayed in a header textfield rendered on this
        page.
    */
    [optional, property] string HeaderText;


    /** defines if a footer presentation shape from the master page is visible
        on this page.
    */

    [optional, property] boolean IsFooterVisible;


    /** defines the text that is displayed in a footer textfield rendered on this
        page.
    */
    [optional, property] string FooterText;


    /** defines if a page number presentation shape from the master page is visible
        on this page.
    */

    [optional, property] boolean IsPageNumberVisible;


    /** defines if a date and time presentation shape from the master page is visible
        on this page.
    */

    [optional, property] boolean IsDateTimeVisible;


    /** defines if a date and time text field shows a fixed string value or the
        current date on this page.
    */

    [optional, property] boolean IsDateTimeFixed;


    /** defines the text that is displayed in a date and time textfield rendered on this
        page. This value is only used if <code>IsDateTimeFixed</code> is `TRUE`.
    */
    [optional, property] string DateTimeText;


    /** defines the format that is used to format a date and time text field on
        this page. This is only used if <code>IsDateTimeFixed</code> is `FALSE`.
    */
    [optional, property] long DateTimeFormat;

    /** Specifies slide transition time in seconds.
        @since LibreOffice 6.1
        @see Speed
     */
    [property, optional] double TransitionDuration;
};


}; }; }; };

#endif

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