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