1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27#ifndef __com_sun_star_drawing_TextProperties_idl__
28#define __com_sun_star_drawing_TextProperties_idl__
29
30#ifndef __com_sun_star_container_XIndexReplace_idl__
31#include <com/sun/star/container/XIndexReplace.idl>
32#endif
33
34#ifndef __com_sun_star_style_CharacterProperties_idl__
35#include <com/sun/star/style/CharacterProperties.idl>
36#endif
37
38#ifndef __com_sun_star_style_CharacterPropertiesAsian_idl__
39#include <com/sun/star/style/CharacterPropertiesAsian.idl>
40#endif
41
42#ifndef __com_sun_star_style_CharacterPropertiesComplex_idl__
43#include <com/sun/star/style/CharacterPropertiesComplex.idl>
44#endif
45
46#ifndef __com_sun_star_style_ParagraphProperties_idl__
47#include <com/sun/star/style/ParagraphProperties.idl>
48#endif
49
50#ifndef __com_sun_star_style_ParagraphPropertiesAsian_idl__
51#include <com/sun/star/style/ParagraphPropertiesAsian.idl>
52#endif
53
54#ifndef __com_sun_star_style_ParagraphPropertiesComplex_idl__
55#include <com/sun/star/style/ParagraphPropertiesComplex.idl>
56#endif
57
58#ifndef __com_sun_star_drawing_TextFitToSizeType_idl__
59#include <com/sun/star/drawing/TextFitToSizeType.idl>
60#endif
61
62#ifndef __com_sun_star_drawing_TextAdjust_idl__
63#include <com/sun/star/drawing/TextAdjust.idl>
64#endif
65
66#ifndef __com_sun_star_drawing_TextAnimationDirection_idl__
67#include <com/sun/star/drawing/TextAnimationDirection.idl>
68#endif
69
70#ifndef __com_sun_star_drawing_TextAnimationKind_idl__
71#include <com/sun/star/drawing/TextAnimationKind.idl>
72#endif
73
74#ifndef __com_sun_star_drawing_TextVerticalAdjust_idl__
75#include <com/sun/star/drawing/TextVerticalAdjust.idl>
76#endif
77
78#ifndef __com_sun_star_drawing_TextHorizontalAdjust_idl__
79#include <com/sun/star/drawing/TextHorizontalAdjust.idl>
80#endif
81
82#ifndef __com_sun_star_text_WritingMode_idl__
83#include <com/sun/star/text/WritingMode.idl>
84#endif
85
86//=============================================================================
87
88 module com {  module sun {  module star {  module drawing {
89
90//=============================================================================
91
92
93/** This is a set of properties to describe the style for rendering the
94	text area inside a shape.
95 */
96published service TextProperties
97{
98	/** The properties in this service set default formats for text
99		inside the <type>Shape</type>.
100	 */
101	service com::sun::star::style::CharacterProperties;
102
103	//-------------------------------------------------------------------------
104
105	/** The properties in this service set default formats for asian text
106		inside the <type>Shape</type>.
107	 */
108	[optional] service com::sun::star::style::CharacterPropertiesAsian;
109
110	//-------------------------------------------------------------------------
111
112	/** The properties in this service set default formats for complex text
113		inside the <type>Shape</type>.
114	 */
115	[optional] service com::sun::star::style::CharacterPropertiesComplex;
116
117	//-------------------------------------------------------------------------
118
119	/** The properties in this service set default formats for text
120		inside the <type>Shape</type>.
121	 */
122	service com::sun::star::style::ParagraphProperties;
123
124	//-------------------------------------------------------------------------
125
126	/** The properties in this service set default formats for asian text
127		inside the <type>Shape</type>.
128	 */
129	[optional] service com::sun::star::style::ParagraphPropertiesAsian;
130
131	//-------------------------------------------------------------------------
132
133	/** The properties in this service set default formats for complex text
134		inside the <type>Shape</type>.
135	 */
136	[optional] service com::sun::star::style::ParagraphPropertiesComplex;
137	//-------------------------------------------------------------------------
138
139	/** If this is <TRUE/>, numbering is ON for the text of
140		this <type>Shape</type>.
141	 */
142	[optional, property] boolean IsNumbering;
143
144	//-------------------------------------------------------------------------
145
146	/** describes the numbering levels.
147		<p>The different rules accessible with this
148		<type scope="com::sun::star::container">XIndexReplace</type> interface
149		are sequences of property values as described in the service
150		<type scope="com::sun::star::style">NumberingRule</type>.</p>
151	 */
152	[optional, property] com::sun::star::container::XIndexReplace NumberingRules;
153
154	//-------------------------------------------------------------------------
155
156	/** If this value is <TRUE/>, the height of the <type>Shape</type> is
157		automatically expanded/shrunk when text is added to or removed from
158		the <type>Shape</type>.
159	 */
160	[property] boolean TextAutoGrowHeight;
161
162	//-------------------------------------------------------------------------
163
164	/** If this value is <TRUE/>, the width of the <type>Shape</type> is
165		automatically expanded/shrunk when text is added to or removed from
166		the <type>Shape</type>.
167	 */
168	[property] boolean TextAutoGrowWidth;
169
170	//-------------------------------------------------------------------------
171
172	// DocMerge from xml: property com::sun::star::drawing::Text::TextContourFrame
173	/** If this value is <TRUE/>, the left edge of every line of text is
174		aligned with the left edge of this <type>Shape</type>.
175	 */
176	[property] boolean TextContourFrame;
177
178	//-------------------------------------------------------------------------
179
180	/** With this set to <TRUE/>, the text inside of the <type>Shape</type>
181		is stretched to fit into the <type>Shape</type>.
182	 */
183	[property] com::sun::star::drawing::TextFitToSizeType TextFitToSize;
184
185	//-------------------------------------------------------------------------
186
187	/** adjusts the horizontal position of the text inside of
188		the <type>Shape</type>.
189	 */
190	[property] com::sun::star::drawing::TextHorizontalAdjust TextHorizontalAdjust;
191
192	//-------------------------------------------------------------------------
193
194	/** adjusts the vertical position of the text inside of
195		the <type>Shape</type>.
196	 */
197	[property] com::sun::star::drawing::TextVerticalAdjust TextVerticalAdjust;
198
199	//-------------------------------------------------------------------------
200
201	/** This is the distance from the left edge of the <type>Shape</type>
202		to the left edge of the text.
203		<p>This is only useful if <member>Text::TextHorizontalAdjust</member> is
204		<const>BLOCK</const> or <const>STRETCH</const> or if
205		<member>Text::TextFitSize</member> is <TRUE/>.</p>
206	 */
207	[property] long TextLeftDistance;
208
209	//-------------------------------------------------------------------------
210
211	/** This is the distance from the right edge of the <type>Shape</type>
212		to the right edge of the text.
213
214		<p>This is only useful if <member>Text::TextHorizontalAdjust</member> is
215		<const>BLOCK</const> or <const>STRETCH</const>
216		or if <member>Text::TextFitSize</member> is <TRUE/>.</p>
217	 */
218	[property] long TextRightDistance;
219
220	//-------------------------------------------------------------------------
221
222	/** This is the distance from the upper edge of the <type>Shape</type> to
223		the upper edge of the text.
224
225		<p>This is only useful if <member>Text::TextVerticalAdjust</member> is
226		<const>BLOCK</const> or if <member>Text::TextFitSize</member> is
227		<TRUE/>.</p>
228	 */
229	[property] long TextUpperDistance;
230
231	//-------------------------------------------------------------------------
232
233	/** This is the distance from the lower edge of the <type>Shape</type> to the
234		lower edge of the text.
235
236
237
238		<p>This is only useful if <member>Text::TextVerticalAdjust</member> is
239		<const>BLOCK</const> or if <member>Text::TextFitSize</member> is
240		<TRUE/>.</p>
241	 */
242	[property] long TextLowerDistance;
243
244	//-------------------------------------------------------------------------
245
246	/** with this property you can set the maximum height for a shape with text.
247		On edit, the auto grow feature will not grow the object heigher than
248		the value of this property.
249	*/
250	[property] long TextMaximumFrameHeight;
251
252	//-------------------------------------------------------------------------
253
254	/** with this property you can set the maximum width for a shape with text.
255		On edit, the auto grow feature will not grow the objects wider than
256		the value of this property.
257	*/
258	[property] long TextMaximumFrameWidth;
259
260	//-------------------------------------------------------------------------
261
262	/** with this property you can set the minimum height for a shape with text.
263		On edit, the auto grow feature will not shrink the objects height smaller
264		than the value of this property.
265	*/
266	[property] long TextMinimumFrameHeight;
267
268	//-------------------------------------------------------------------------
269
270	/** with this property you can set the minimum width for a shape with text.
271		On edit, the auto grow feature will not shrink the object width smaller
272		than the value of this property.
273	*/
274	[property] long TextMinimumFrameWidth;
275
276	//-------------------------------------------------------------------------
277
278	/** This is the number of pixels the text is moved in each animation step.
279	 */
280	[property] short TextAnimationAmount;
281
282	//-------------------------------------------------------------------------
283
284	/** This number defines how many times the text animation is repeated.
285		<p>If this is set to zero, the repeat is endless.</p>
286	 */
287	[property] short TextAnimationCount;
288
289	//-------------------------------------------------------------------------
290
291	/** This is the delay in thousandths of a second between each
292		of the animation steps.
293	 */
294	[property] short TextAnimationDelay;
295
296	//-------------------------------------------------------------------------
297
298	/** This enumeration defines the direction in which the text moves.
299	 */
300	[property] com::sun::star::drawing::TextAnimationDirection TextAnimationDirection;
301
302	//-------------------------------------------------------------------------
303
304	/** This value defines the type of animation.
305	 */
306	[property] com::sun::star::drawing::TextAnimationKind TextAnimationKind;
307
308	//-------------------------------------------------------------------------
309
310	/** If this value is <TRUE/>, the text is visible at the start of the
311		animation.
312	 */
313	[property] boolean TextAnimationStartInside;
314
315	//-------------------------------------------------------------------------
316
317	/** If this value is <TRUE/>, the text is visible at the end of the
318		animation.
319	 */
320	[property] boolean TextAnimationStopInside;
321
322	//-------------------------------------------------------------------------
323
324	/** This value selects the writing mode for the text.
325	 */
326	[property] ::com::sun::star::text::WritingMode TextWritingMode;
327};
328
329//=============================================================================
330
331}; }; }; };
332
333#endif
334
335