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 int
FILL__FILLCOLOR_DEFAULT
static int
LINESTYLE__COLOR_DEFAULT
static int
LINESTYLE_DASHDOTDOTSYS
static int
LINESTYLE_DASHDOTGEL
static int
LINESTYLE_DASHDOTSYS
static int
LINESTYLE_DASHGEL
static int
LINESTYLE_DASHSYS
static int
LINESTYLE_DEFAULT
static int
LINESTYLE_DOTGEL
static int
LINESTYLE_DOTSYS
static int
LINESTYLE_LONGDASHDOTDOTGEL
static int
LINESTYLE_LONGDASHDOTGEL
static int
LINESTYLE_LONGDASHGEL
static int
LINESTYLE_NONE
static int
LINESTYLE_SOLID
static int
LINEWIDTH_DEFAULT
static int
LINEWIDTH_ONE_PT
static boolean
NO_FILL_DEFAULT
static int
NO_FILLHITTEST_FALSE
static int
NO_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 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 shapesprotected abstract HSSFShape
cloneShape()
int
countOfAllChildren()
Count of all children and their children's children.protected abstract ObjRecord
createObjRecord()
protected abstract EscherContainerRecord
createSpContainer()
HSSFAnchor
getAnchor()
EscherContainerRecord
getEscherContainer()
int
getFillColor()
The color used to fill this shape.int
getLineStyle()
int
getLineStyleColor()
The color applied to the lines of this shape.int
getLineWidth()
protected ObjRecord
getObjRecord()
EscherOptRecord
getOptRecord()
Return the low-level EscherOptRecord to read/modify not yet wrapped escher propertiesHSSFShape
getParent()
HSSFPatriarch
getPatriarch()
int
getRotationDegree()
String
getShapeName()
boolean
isFlipHorizontal()
boolean
isFlipVertical()
boolean
isNoFill()
Whether this shape is not filled with a colorvoid
setAnchor(HSSFAnchor anchor)
Sets a particular anchor.void
setFillColor(int fillColor)
The color used to fill this shape.void
setFillColor(int red, int green, int blue)
Sets the color used to fill this shape using the solid fill pattern.void
setFlipHorizontal(boolean value)
void
setFlipVertical(boolean value)
void
setLineStyle(int lineStyle)
Sets the line style.void
setLineStyleColor(int lineStyleColor)
The color applied to the lines of this shape.void
setLineStyleColor(int red, int green, int blue)
The color applied to the lines of this shape.void
setLineWidth(int lineWidth)
Sets the width of the line.void
setNoFill(boolean noFill)
Sets whether this shape is filled or transparent.protected void
setParent(HSSFShape parent)
protected void
setPatriarch(HSSFPatriarch _patriarch)
protected void
setPropertyValue(EscherProperty property)
void
setRotationDegree(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:Shape
The color applied to the lines of this shape.- Specified by:
setLineStyleColor
in 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:Shape
Sets the color used to fill this shape using the solid fill pattern.- Specified by:
setFillColor
in 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:Shape
Whether 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.
-
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:
getShapeName
in interfaceShape
- Returns:
- the name of this shape
-
-