Class 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().
    • Constructor Detail

      • HSSFShape

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

      • 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
      • 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
      • 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:
        HSSFChildAnchor, HSSFClientAnchor
      • 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:
        LINEWIDTH_ONE_PT
      • 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
      • countOfAllChildren

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

        protected abstract HSSFShape cloneShape()
      • setPatriarch

        protected void setPatriarch​(HSSFPatriarch _patriarch)
      • setParent

        protected void setParent​(HSSFShape parent)
      • getShapeName

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