Class HSSFShape

java.lang.Object
org.apache.poi.hssf.usermodel.HSSFShape
All Implemented Interfaces:
Shape
Direct Known Subclasses:
HSSFShapeGroup, HSSFSimpleShape

public abstract class HSSFShape extends Object implements Shape
An abstract shape. Note: Microsoft Excel seems to sometimes disallow higher y1 than y2 or higher x1 than x2 in the anchor, you might need to reverse them and draw shapes vertically or horizontally flipped via setFlipVertical() or setFlipHorizontally().
  • Field Details

  • Constructor Details

    • HSSFShape

      public HSSFShape(EscherContainerRecord spContainer, ObjRecord objRecord)
      creates shapes from existing file
      Parameters:
      spContainer -
      objRecord -
    • HSSFShape

      public HSSFShape(HSSFShape parent, HSSFAnchor anchor)
      Create a new shape with the specified parent and anchor.
  • Method Details

    • createSpContainer

      protected abstract EscherContainerRecord createSpContainer()
    • createObjRecord

      protected abstract ObjRecord createObjRecord()
    • afterRemove

      protected abstract void afterRemove(HSSFPatriarch patriarch)
      remove escher container from the patriarch.escherAggregate remove obj, textObj and note records if it's necessary in case of ShapeGroup remove all contained shapes
      Parameters:
      patriarch -
    • getEscherContainer

      protected EscherContainerRecord getEscherContainer()
    • getObjRecord

      protected ObjRecord getObjRecord()
    • getOptRecord

      public EscherOptRecord getOptRecord()
      Return the low-level EscherOptRecord to read/modify not yet wrapped escher properties
      Returns:
      the low-level EscherOptRecord
    • getParent

      public HSSFShape getParent()
      Specified by:
      getParent in interface Shape
      Returns:
      the parent shape.
    • getAnchor

      public HSSFAnchor getAnchor()
      Specified by:
      getAnchor in interface Shape
      Returns:
      the anchor that is used by this shape.
    • setAnchor

      public void setAnchor(HSSFAnchor anchor)
      Sets a particular anchor. A top-level shape must have an anchor of HSSFClientAnchor. A child anchor must have an anchor of HSSFChildAnchor
      Parameters:
      anchor - the anchor to use.
      Throws:
      IllegalArgumentException - when the wrong anchor is used for this particular shape.
      See Also:
    • getLineStyleColor

      public int getLineStyleColor()
      The color applied to the lines of this shape.
    • setLineStyleColor

      public void setLineStyleColor(int lineStyleColor)
      The color applied to the lines of this shape.
    • setLineStyleColor

      public void setLineStyleColor(int red, int green, int blue)
      Description copied from interface: Shape
      The color applied to the lines of this shape.
      Specified by:
      setLineStyleColor in interface Shape
    • getFillColor

      public int getFillColor()
      The color used to fill this shape.
    • setFillColor

      public void setFillColor(int fillColor)
      The color used to fill this shape.
    • setFillColor

      public void setFillColor(int red, int green, int blue)
      Description copied from interface: Shape
      Sets the color used to fill this shape using the solid fill pattern.
      Specified by:
      setFillColor in interface Shape
    • getLineWidth

      public int getLineWidth()
      Returns:
      returns with width of the line in EMUs. 12700 = 1 pt.
    • setLineWidth

      public void setLineWidth(int lineWidth)
      Sets the width of the line. 12700 = 1 pt.
      Parameters:
      lineWidth - width in EMU's. 12700EMU's = 1 pt
      See Also:
    • getLineStyle

      public int getLineStyle()
      Returns:
      One of the constants in LINESTYLE_*
    • setLineStyle

      public void setLineStyle(int lineStyle)
      Sets the line style.
      Parameters:
      lineStyle - One of the constants in LINESTYLE_*
    • isNoFill

      public boolean isNoFill()
      Description copied from interface: Shape
      Whether this shape is not filled with a color
      Specified by:
      isNoFill in interface Shape
      Returns:
      true if this shape is not filled with a color.
    • setNoFill

      public void setNoFill(boolean noFill)
      Description copied from interface: Shape
      Sets whether this shape is filled or transparent.
      Specified by:
      setNoFill in interface Shape
      Parameters:
      noFill - if true then no fill will be applied to the shape element.
    • setPropertyValue

      protected void setPropertyValue(EscherProperty property)
    • setFlipVertical

      public void setFlipVertical(boolean value)
      Parameters:
      value - specifies whether this shape is vertically flipped.
    • setFlipHorizontal

      public void setFlipHorizontal(boolean value)
      Parameters:
      value - specifies whether this shape is horizontally flipped.
    • isFlipVertical

      public boolean isFlipVertical()
      Returns:
      whether this shape is vertically flipped.
    • isFlipHorizontal

      public boolean isFlipHorizontal()
      Returns:
      whether this shape is horizontally flipped.
    • getRotationDegree

      public int getRotationDegree()
      Returns:
      the rotation, in degrees, that is applied to a shape.
    • setRotationDegree

      public void setRotationDegree(short value)
      specifies the rotation, in degrees, that is applied to a shape. Positive values specify rotation in the clockwise direction. Negative values specify rotation in the counterclockwise direction. Rotation occurs around the center of the shape. The default value for this property is 0x00000000
      Parameters:
      value -
    • countOfAllChildren

      public int countOfAllChildren()
      Count of all children and their children's children.
    • cloneShape

      protected abstract HSSFShape cloneShape()
    • setPatriarch

      protected void setPatriarch(HSSFPatriarch _patriarch)
    • getPatriarch

      public HSSFPatriarch getPatriarch()
    • setParent

      protected void setParent(HSSFShape parent)
    • getShapeName

      public String getShapeName()
      Specified by:
      getShapeName in interface Shape
      Returns:
      the name of this shape