/**************************************************************
 * 
 * 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
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 * 
 *************************************************************/


#ifndef __com_sun_star_drawing_TextProperties_idl__ 
#define __com_sun_star_drawing_TextProperties_idl__ 

#ifndef __com_sun_star_container_XIndexReplace_idl__ 
#include <com/sun/star/container/XIndexReplace.idl> 
#endif 
 
#ifndef __com_sun_star_style_CharacterProperties_idl__ 
#include <com/sun/star/style/CharacterProperties.idl> 
#endif 

#ifndef __com_sun_star_style_CharacterPropertiesAsian_idl__ 
#include <com/sun/star/style/CharacterPropertiesAsian.idl> 
#endif 

#ifndef __com_sun_star_style_CharacterPropertiesComplex_idl__ 
#include <com/sun/star/style/CharacterPropertiesComplex.idl> 
#endif 
 
#ifndef __com_sun_star_style_ParagraphProperties_idl__ 
#include <com/sun/star/style/ParagraphProperties.idl> 
#endif 

#ifndef __com_sun_star_style_ParagraphPropertiesAsian_idl__ 
#include <com/sun/star/style/ParagraphPropertiesAsian.idl> 
#endif 

#ifndef __com_sun_star_style_ParagraphPropertiesComplex_idl__ 
#include <com/sun/star/style/ParagraphPropertiesComplex.idl> 
#endif 
 
#ifndef __com_sun_star_drawing_TextAdjust_idl__ 
#include <com/sun/star/drawing/TextAdjust.idl> 
#endif 
 
#ifndef __com_sun_star_drawing_TextAnimationDirection_idl__ 
#include <com/sun/star/drawing/TextAnimationDirection.idl> 
#endif 
 
#ifndef __com_sun_star_drawing_TextAnimationKind_idl__ 
#include <com/sun/star/drawing/TextAnimationKind.idl> 
#endif 
 
#ifndef __com_sun_star_drawing_TextVerticalAdjust_idl__ 
#include <com/sun/star/drawing/TextVerticalAdjust.idl> 
#endif 

#ifndef __com_sun_star_drawing_TextHorizontalAdjust_idl__ 
#include <com/sun/star/drawing/TextHorizontalAdjust.idl> 
#endif 

#ifndef __com_sun_star_text_WritingMode_idl__ 
#include <com/sun/star/text/WritingMode.idl> 
#endif 
 
//============================================================================= 
 
 module com {  module sun {  module star {  module drawing {  
 
//============================================================================= 
 

/** This is a set of properties to describe the style for rendering the
	text area inside a shape.
 */
published service TextProperties
{ 
	/** The properties in this service set default formats for text 
		inside the <type>Shape</type>.
	 */
	service com::sun::star::style::CharacterProperties; 
 
	//------------------------------------------------------------------------- 

	/** The properties in this service set default formats for asian text 
		inside the <type>Shape</type>.
	 */
	[optional] service com::sun::star::style::CharacterPropertiesAsian; 
 
	//------------------------------------------------------------------------- 

	/** The properties in this service set default formats for complex text 
		inside the <type>Shape</type>.
	 */
	[optional] service com::sun::star::style::CharacterPropertiesComplex; 
 
	//------------------------------------------------------------------------- 

	/** The properties in this service set default formats for text  
		inside the <type>Shape</type>.
	 */
	service com::sun::star::style::ParagraphProperties; 
 
	//------------------------------------------------------------------------- 

	/** The properties in this service set default formats for asian text  
		inside the <type>Shape</type>.
	 */
	[optional] service com::sun::star::style::ParagraphPropertiesAsian; 
 
	//------------------------------------------------------------------------- 

	/** The properties in this service set default formats for complex text  
		inside the <type>Shape</type>.
	 */
	[optional] service com::sun::star::style::ParagraphPropertiesComplex; 
	//------------------------------------------------------------------------- 
	 
	/** If this is <TRUE/>, numbering is ON for the text of
		this <type>Shape</type>.
	 */
	[optional, property] boolean IsNumbering; 
 
	//------------------------------------------------------------------------- 
	 
	/** describes the numbering levels.
		<p>The different rules accessible with this
		<type scope="com::sun::star::container">XIndexReplace</type> interface
		are sequences of property values as described in the service
		<type scope="com::sun::star::style">NumberingRule</type>.</p>
	 */
	[optional, property] com::sun::star::container::XIndexReplace NumberingRules; 
 
	//------------------------------------------------------------------------- 
	 
	/** If this value is <TRUE/>, the height of the <type>Shape</type> is
		automatically expanded/shrunk when text is added to or removed from
		the <type>Shape</type>.
	 */
	[property] boolean TextAutoGrowHeight; 
 
	//------------------------------------------------------------------------- 
	 
	/** If this value is <TRUE/>, the width of the <type>Shape</type> is
		automatically expanded/shrunk when text is added to or removed from
		the <type>Shape</type>.
	 */
	[property] boolean TextAutoGrowWidth; 
 
	//------------------------------------------------------------------------- 
	 
	// DocMerge from xml: property com::sun::star::drawing::Text::TextContourFrame
	/** If this value is <TRUE/>, the left edge of every line of text is
		aligned with the left edge of this <type>Shape</type>.
	 */
	[property] boolean TextContourFrame; 
 
	//------------------------------------------------------------------------- 
	 
	/** With this set to <TRUE/>, the text inside of the <type>Shape</type>
		is stretched to fit into the <type>Shape</type>.
	 */
	[property] boolean TextFitToSize; 
 
	//------------------------------------------------------------------------- 
	 
	/** adjusts the horizontal position of the text inside of
		the <type>Shape</type>.
	 */
	[property] com::sun::star::drawing::TextHorizontalAdjust TextHorizontalAdjust; 
 
	//------------------------------------------------------------------------- 
	 
	/** adjusts the vertical position of the text inside of
		the <type>Shape</type>.
	 */
	[property] com::sun::star::drawing::TextVerticalAdjust TextVerticalAdjust; 
 
	//------------------------------------------------------------------------- 
	 
	/** This is the distance from the left edge of the <type>Shape</type>
		to the left edge of the text.
		<p>This is only useful if <member>Text::TextHorizontalAdjust</member> is
		<const>BLOCK</const> or <const>STRETCH</const> or if
		<member>Text::TextFitSize</member> is <TRUE/>.</p>
	 */
	[property] long TextLeftDistance; 
 
	//------------------------------------------------------------------------- 
	 
	/** This is the distance from the right edge of the <type>Shape</type>
		to the right edge of the text.
		
		<p>This is only useful if <member>Text::TextHorizontalAdjust</member> is
		<const>BLOCK</const> or <const>STRETCH</const>
		or if <member>Text::TextFitSize</member> is <TRUE/>.</p>
	 */
	[property] long TextRightDistance; 
 
	//------------------------------------------------------------------------- 
	 
	/** This is the distance from the upper edge of the <type>Shape</type> to
		the upper edge of the text.  
				
		<p>This is only useful if <member>Text::TextVerticalAdjust</member> is
		<const>BLOCK</const> or if <member>Text::TextFitSize</member> is
		<TRUE/>.</p>
	 */
	[property] long TextUpperDistance; 
 
	//------------------------------------------------------------------------- 
	 
	/** This is the distance from the lower edge of the <type>Shape</type> to the
		lower edge of the text.  
		
		
		
		<p>This is only useful if <member>Text::TextVerticalAdjust</member> is
		<const>BLOCK</const> or if <member>Text::TextFitSize</member> is
		<TRUE/>.</p>
	 */
	[property] long TextLowerDistance; 
 
	//------------------------------------------------------------------------- 

	/** with this property you can set the maximum height for a shape with text.
		On edit, the auto grow feature will not grow the object heigher than
		the value of this property.
	*/
	[property] long TextMaximumFrameHeight; 
 
	//------------------------------------------------------------------------- 

	/** with this property you can set the maximum width for a shape with text.
		On edit, the auto grow feature will not grow the objects wider than
		the value of this property.
	*/
	[property] long TextMaximumFrameWidth; 
 
	//------------------------------------------------------------------------- 

	/** with this property you can set the minimum height for a shape with text.
		On edit, the auto grow feature will not shrink the objects height smaller
		than the value of this property.
	*/
	[property] long TextMinimumFrameHeight; 
 
	//------------------------------------------------------------------------- 

	/** with this property you can set the minimum width for a shape with text.
		On edit, the auto grow feature will not shrink the object width smaller
		than the value of this property.
	*/
	[property] long TextMinimumFrameWidth; 
 
	//------------------------------------------------------------------------- 
	 
	/** This is the number of pixels the text is moved in each animation step.
	 */
	[property] short TextAnimationAmount; 
 
	//------------------------------------------------------------------------- 
	 
	/** This number defines how many times the text animation is repeated.
		<p>If this is set to zero, the repeat is endless.</p>
	 */
	[property] short TextAnimationCount; 
 
	//------------------------------------------------------------------------- 
	 
	/** This is the delay in thousandths of a second between each  
		of the animation steps.
	 */
	[property] short TextAnimationDelay; 
 
	//------------------------------------------------------------------------- 
	 
	/** This enumeration defines the direction in which the text moves.
	 */
	[property] com::sun::star::drawing::TextAnimationDirection TextAnimationDirection; 
 
	//------------------------------------------------------------------------- 
	 
	/** This value defines the type of animation.
	 */
	[property] com::sun::star::drawing::TextAnimationKind TextAnimationKind; 
 
	//------------------------------------------------------------------------- 
	 
	/** If this value is <TRUE/>, the text is visible at the start of the
		animation.
	 */
	[property] boolean TextAnimationStartInside; 
 
	//------------------------------------------------------------------------- 
	 
	/** If this value is <TRUE/>, the text is visible at the end of the
		animation.
	 */
	[property] boolean TextAnimationStopInside; 

	//------------------------------------------------------------------------- 

	/** This value selects the writing mode for the text.
	 */
	[property] ::com::sun::star::text::WritingMode TextWritingMode; 
}; 
 
//============================================================================= 
 
}; }; }; };  

#endif