/* ====================================================================
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.
==================================================================== */
package org.apache.poi.sl.usermodel;
import java.util.List;
public interface TextShape<
S extends Shape,
P extends TextParagraph
> extends SimpleShape, Iterable
{ /** * Vertical Text Types */ public enum TextDirection { /** * Horizontal text. This should be default. */ HORIZONTAL, /** * Vertical orientation. * (each line is 90 degrees rotated clockwise, so it goes * from top to bottom; each next line is to the left from * the previous one). */ VERTICAL, /** * Vertical orientation. * (each line is 270 degrees rotated clockwise, so it goes * from bottom to top; each next line is to the right from * the previous one). */ VERTICAL_270, /** * Determines if all of the text is vertical * ("one letter on top of another"). */ STACKED; } /** * Specifies alist of auto-fit types. *
* Autofit specofies that a shape should be auto-fit to fully contain the text described within it. * Auto-fitting is when text within a shape is scaled in order to contain all the text inside *
*/ public enum TextAutofit { /** * Specifies that text within the text body should not be auto-fit to the bounding box. * Auto-fitting is when text within a text box is scaled in order to remain inside * the text box. */ NONE, /** * Specifies that text within the text body should be normally auto-fit to the bounding box. * Autofitting is when text within a text box is scaled in order to remain inside the text box. * ** Example: Consider the situation where a user is building a diagram and needs * to have the text for each shape that they are using stay within the bounds of the shape. * An easy way this might be done is by using NORMAL autofit *
*/ NORMAL, /** * Specifies that a shape should be auto-fit to fully contain the text described within it. * Auto-fitting is when text within a shape is scaled in order to contain all the text inside. * ** Example: Consider the situation where a user is building a diagram and needs to have * the text for each shape that they are using stay within the bounds of the shape. * An easy way this might be done is by using SHAPE autofit *
*/ SHAPE } /** * @return the TextParagraphs for this text box */ List extends TextParagraph