All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.poi.sl.usermodel.TextShape Maven / Gradle / Ivy

Go to download

This OSGi bundle wraps poi, poi-contrib, poi-ooxml, poi-ooxml-schemas and poi-scratchpad ${pkgVersion} jar files.

There is a newer version: 5.2.3_1
Show newest version
/* ====================================================================
   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> getTextParagraphs(); /** * @return text shape margin */ Insets2D getInsets(); /** * Compute the cumulative height occupied by the text */ double getTextHeight(); /** * Returns the type of vertical alignment for the text. * * @return the type of vertical alignment */ VerticalAlignment getVerticalAlignment(); /** * Returns if the text is centered. * If true and if the individual paragraph settings allow it, * the whole text block will be displayed centered, i.e. its left and right * margin will be maximized while still keeping the alignment of the paragraphs * * @return true, if the text anchor is horizontal centered */ boolean isHorizontalCentered(); /** * @return whether to wrap words within the bounding rectangle */ boolean getWordWrap(); /** * @return vertical orientation of the text */ TextDirection getTextDirection(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy