Package org.apache.poi.hssf.usermodel
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 Summary
Fields Modifier and Type Field Description static intFILL__FILLCOLOR_DEFAULTstatic intLINESTYLE__COLOR_DEFAULTstatic intLINESTYLE_DASHDOTDOTSYSstatic intLINESTYLE_DASHDOTGELstatic intLINESTYLE_DASHDOTSYSstatic intLINESTYLE_DASHGELstatic intLINESTYLE_DASHSYSstatic intLINESTYLE_DEFAULTstatic intLINESTYLE_DOTGELstatic intLINESTYLE_DOTSYSstatic intLINESTYLE_LONGDASHDOTDOTGELstatic intLINESTYLE_LONGDASHDOTGELstatic intLINESTYLE_LONGDASHGELstatic intLINESTYLE_NONEstatic intLINESTYLE_SOLIDstatic intLINEWIDTH_DEFAULTstatic intLINEWIDTH_ONE_PTstatic booleanNO_FILL_DEFAULTstatic intNO_FILLHITTEST_FALSEstatic intNO_FILLHITTEST_TRUE
-
Constructor Summary
Constructors Constructor Description HSSFShape(EscherContainerRecord spContainer, ObjRecord objRecord)creates shapes from existing fileHSSFShape(HSSFShape parent, HSSFAnchor anchor)Create a new shape with the specified parent and anchor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract voidafterRemove(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 shapesprotected abstract HSSFShapecloneShape()intcountOfAllChildren()Count of all children and their children's children.protected abstract ObjRecordcreateObjRecord()protected abstract EscherContainerRecordcreateSpContainer()HSSFAnchorgetAnchor()EscherContainerRecordgetEscherContainer()intgetFillColor()The color used to fill this shape.intgetLineStyle()intgetLineStyleColor()The color applied to the lines of this shape.intgetLineWidth()protected ObjRecordgetObjRecord()EscherOptRecordgetOptRecord()Return the low-level EscherOptRecord to read/modify not yet wrapped escher propertiesHSSFShapegetParent()HSSFPatriarchgetPatriarch()intgetRotationDegree()StringgetShapeName()booleanisFlipHorizontal()booleanisFlipVertical()booleanisNoFill()Whether this shape is not filled with a colorvoidsetAnchor(HSSFAnchor anchor)Sets a particular anchor.voidsetFillColor(int fillColor)The color used to fill this shape.voidsetFillColor(int red, int green, int blue)Sets the color used to fill this shape using the solid fill pattern.voidsetFlipHorizontal(boolean value)voidsetFlipVertical(boolean value)voidsetLineStyle(int lineStyle)Sets the line style.voidsetLineStyleColor(int lineStyleColor)The color applied to the lines of this shape.voidsetLineStyleColor(int red, int green, int blue)The color applied to the lines of this shape.voidsetLineWidth(int lineWidth)Sets the width of the line.voidsetNoFill(boolean noFill)Sets whether this shape is filled or transparent.protected voidsetParent(HSSFShape parent)protected voidsetPatriarch(HSSFPatriarch _patriarch)protected voidsetPropertyValue(EscherProperty property)voidsetRotationDegree(short value)specifies the rotation, in degrees, that is applied to a shape.
-
-
-
Field Detail
-
LINEWIDTH_ONE_PT
public static final int LINEWIDTH_ONE_PT
- See Also:
- Constant Field Values
-
LINEWIDTH_DEFAULT
public static final int LINEWIDTH_DEFAULT
- See Also:
- Constant Field Values
-
LINESTYLE__COLOR_DEFAULT
public static final int LINESTYLE__COLOR_DEFAULT
- See Also:
- Constant Field Values
-
FILL__FILLCOLOR_DEFAULT
public static final int FILL__FILLCOLOR_DEFAULT
- See Also:
- Constant Field Values
-
NO_FILL_DEFAULT
public static final boolean NO_FILL_DEFAULT
- See Also:
- Constant Field Values
-
LINESTYLE_SOLID
public static final int LINESTYLE_SOLID
- See Also:
- Constant Field Values
-
LINESTYLE_DASHSYS
public static final int LINESTYLE_DASHSYS
- See Also:
- Constant Field Values
-
LINESTYLE_DOTSYS
public static final int LINESTYLE_DOTSYS
- See Also:
- Constant Field Values
-
LINESTYLE_DASHDOTSYS
public static final int LINESTYLE_DASHDOTSYS
- See Also:
- Constant Field Values
-
LINESTYLE_DASHDOTDOTSYS
public static final int LINESTYLE_DASHDOTDOTSYS
- See Also:
- Constant Field Values
-
LINESTYLE_DOTGEL
public static final int LINESTYLE_DOTGEL
- See Also:
- Constant Field Values
-
LINESTYLE_DASHGEL
public static final int LINESTYLE_DASHGEL
- See Also:
- Constant Field Values
-
LINESTYLE_LONGDASHGEL
public static final int LINESTYLE_LONGDASHGEL
- See Also:
- Constant Field Values
-
LINESTYLE_DASHDOTGEL
public static final int LINESTYLE_DASHDOTGEL
- See Also:
- Constant Field Values
-
LINESTYLE_LONGDASHDOTGEL
public static final int LINESTYLE_LONGDASHDOTGEL
- See Also:
- Constant Field Values
-
LINESTYLE_LONGDASHDOTDOTGEL
public static final int LINESTYLE_LONGDASHDOTDOTGEL
- See Also:
- Constant Field Values
-
LINESTYLE_NONE
public static final int LINESTYLE_NONE
- See Also:
- Constant Field Values
-
LINESTYLE_DEFAULT
public static final int LINESTYLE_DEFAULT
- See Also:
- Constant Field Values
-
NO_FILLHITTEST_TRUE
public static final int NO_FILLHITTEST_TRUE
- See Also:
- Constant Field Values
-
NO_FILLHITTEST_FALSE
public static final int NO_FILLHITTEST_FALSE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
HSSFShape
public HSSFShape(EscherContainerRecord spContainer, ObjRecord objRecord)
creates shapes from existing file
-
HSSFShape
public HSSFShape(HSSFShape parent, HSSFAnchor anchor)
Create a new shape with the specified parent and anchor.
-
-
Method Detail
-
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
-
getEscherContainer
public 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()
-
getAnchor
public HSSFAnchor getAnchor()
-
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:ShapeThe color applied to the lines of this shape.- Specified by:
setLineStyleColorin interfaceShape
-
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:ShapeSets the color used to fill this shape using the solid fill pattern.- Specified by:
setFillColorin interfaceShape
-
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:ShapeWhether this shape is not filled with a color
-
setNoFill
public void setNoFill(boolean noFill)
Description copied from interface:ShapeSets whether this shape is filled or transparent.
-
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)
-
getPatriarch
public HSSFPatriarch getPatriarch()
-
setParent
protected void setParent(HSSFShape parent)
-
getShapeName
public String getShapeName()
- Specified by:
getShapeNamein interfaceShape- Returns:
- the name of this shape
-
-