/* -*- 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_style_ParagraphStyle_idl__
#define __com_sun_star_style_ParagraphStyle_idl__

#include <com/sun/star/style/ParagraphProperties.idl>
#include <com/sun/star/style/Style.idl>
#include <com/sun/star/xml/ParaUserDefinedAttributesSupplier.idl>


 module com {  module sun {  module star {  module style {


/** specifies a style sheet for paragraphs within a
    com::sun::star::text::Text.
 */
published service ParagraphStyle
{
    /// specifies administrative properties.
    service Style;

    /** contains user defined attributes for paragraphs.

        @see    com::sun::star::xml::ParaUserDefinedAttributesSupplier
     */
    [optional] service com::sun::star::xml::ParaUserDefinedAttributesSupplier;

    /// specifies the style properties.
    service ParagraphProperties;

    /** determines the left margin of the paragraph relative to the ParaLeftMargin
        of the parent style.

        <p> If the value of ParaLeftMarginRelative is 100 the current
        ParaLeftMargin value is used. </p>
     */
    [property] long ParaLeftMarginRelative;


    /** determines the right margin of the paragraph relative to the ParaRightMargin
        of the parent style.

        <p> If the value of ParaRightMarginRelative is 100 the current
        ParaRightMargin value is used. </p>
     */
    [property] long ParaRightMarginRelative;


    /** determines the top margin of the paragraph relative to the ParaTopMargin
        of the parent style.

        <p> If the value of ParaTopMarginRelative is 100 the current
        ParaTopMargin value is used. </p>
     */
    [property] long ParaTopMarginRelative;


    /** determines the Bottom margin of the paragraph relative to the ParaBottomMargin
        of the parent style.

        <p> If the value of ParaBottomMarginRelative is 100 the current
        ParaBottomMargin value is used. </p>
     */
    [property] long ParaBottomMarginRelative;

    /** determines the category of a paragraph style. @see com::sun::star::style::ParagraphStyleCategory
     */
    [property] short Category;

    [property] float CharDiffHeight;

    /** This value contains the character height as percentage value relative to the height of
     the character in the parent style.
     */
    [property] short CharPropHeight;

    /** This value contains the character height as difference in point to the height of
     the character in the parent style in Asian text.
     */
    [property] float CharDiffHeightAsian;

    /** This value contains the character height as percentage value relative to the height of
     the character in the parent style in Asian text.
     */
    [property] short CharPropHeightAsian;

    /** This value contains the character height as difference in point to the height of
     the character in the parent style in complex text.
     */
    [property] float CharDiffHeightComplex;

    /** This value contains the character height as percentage value relative to the height of
     the character in the parent style in complex text.
     */
    [property] short CharPropHeightComplex;

    /** returns the name of the page style in use

        <P>For setting the page style you have to use the
        com::sun::star::text::PageDescName
        properties.
        </P>
    */
    [optional, readonly, property] string PageStyleName;
};


}; }; }; };

#endif

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