Package org.apache.poi.hssf.usermodel
Class HSSFClientAnchor
java.lang.Object
org.apache.poi.hssf.usermodel.HSSFAnchor
org.apache.poi.hssf.usermodel.HSSFClientAnchor
- All Implemented Interfaces:
ChildAnchor
,ClientAnchor
A client anchor is attached to an excel worksheet. It anchors against a
top-left and buttom-right cell.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.poi.ss.usermodel.ClientAnchor
ClientAnchor.AnchorType
-
Field Summary
FieldsFields inherited from class org.apache.poi.hssf.usermodel.HSSFAnchor
_isHorizontallyFlipped, _isVerticallyFlipped
-
Constructor Summary
ConstructorsConstructorDescriptionCreates a new client anchor and defaults all the anchor positions to 0.HSSFClientAnchor
(int dx1, int dy1, int dx2, int dy2, short col1, int row1, short col2, int row2) Creates a new client anchor and sets the top-left and bottom-right coordinates of the anchor.HSSFClientAnchor
(EscherClientAnchorRecord escherClientAnchorRecord) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
boolean
float
getAnchorHeightInPoints
(HSSFSheet sheet) Calculates the height of a client anchor in points.Gets the anchor type Changed from returning an int to an enum in POI 3.14 beta 1.short
getCol1()
Returns the column (0 based) of the first cell, or -1 if there is no top-left anchor cell.short
getCol2()
Returns the column (0 based) of the second cell, or -1 if there is no bottom-right anchor cell.int
getDx1()
Returns the x coordinate within the first cell.int
getDx2()
Returns the x coordinate within the second cell Note - XSSF and HSSF have a slightly different coordinate system, values in XSSF are larger by a factor ofUnits.EMU_PER_PIXEL
int
getDy1()
Returns the y coordinate within the first cell Note - XSSF and HSSF have a slightly different coordinate system, values in XSSF are larger by a factor ofUnits.EMU_PER_PIXEL
int
getDy2()
Sets the y coordinate within the second cell Note - XSSF and HSSF have a slightly different coordinate system, values in XSSF are larger by a factor ofUnits.EMU_PER_PIXEL
protected EscherRecord
int
getRow1()
Returns the row (0 based) of the first cell, or -1 if there is no bottom-right anchor cell.int
getRow2()
Returns the row (0 based) of the second cell, or -1 if there is no bottom-right anchor cell.int
hashCode()
boolean
boolean
void
setAnchor
(short col1, int row1, int x1, int y1, short col2, int row2, int x2, int y2) Sets the top-left and bottom-right coordinates of the anchor.void
setAnchorType
(ClientAnchor.AnchorType anchorType) Sets the anchor typevoid
setCol1
(int col1) Sets the column (0 based) of the first cell.void
setCol1
(short col1) void
setCol2
(int col2) Returns the column (0 based) of the second cell.void
setCol2
(short col2) void
setDx1
(int dx1) Sets the x coordinate within the first cell Note - XSSF and HSSF have a slightly different coordinate system, values in XSSF are larger by a factor ofUnits.EMU_PER_PIXEL
void
setDx2
(int dx2) Sets the x coordinate within the second cell Note - XSSF and HSSF have a slightly different coordinate system, values in XSSF are larger by a factor ofUnits.EMU_PER_PIXEL
void
setDy1
(int dy1) Sets the y coordinate within the first cell Note - XSSF and HSSF have a slightly different coordinate system, values in XSSF are larger by a factor ofUnits.EMU_PER_PIXEL
void
setDy2
(int dy2) Sets the y coordinate within the second cell Note - XSSF and HSSF have a slightly different coordinate system, values in XSSF are larger by a factor ofUnits.EMU_PER_PIXEL
void
setRow1
(int row1) Returns the row (0 based) of the first cell.void
setRow2
(int row2) Returns the row (0 based) of the first cell.Methods inherited from class org.apache.poi.hssf.usermodel.HSSFAnchor
createAnchorFromEscher
-
Field Details
-
MAX_COL
public static final int MAX_COL -
MAX_ROW
public static final int MAX_ROW
-
-
Constructor Details
-
HSSFClientAnchor
-
HSSFClientAnchor
public HSSFClientAnchor()Creates a new client anchor and defaults all the anchor positions to 0. -
HSSFClientAnchor
public HSSFClientAnchor(int dx1, int dy1, int dx2, int dy2, short col1, int row1, short col2, int row2) Creates a new client anchor and sets the top-left and bottom-right coordinates of the anchor. Note: Microsoft Excel seems to sometimes disallow higher y1 than y2 or higher x1 than x2, you might need to reverse them and draw shapes vertically or horizontally flipped!- Parameters:
dx1
- the x coordinate within the first cell.dy1
- the y coordinate within the first cell.dx2
- the x coordinate within the second cell.dy2
- the y coordinate within the second cell.col1
- the column (0 based) of the first cell.row1
- the row (0 based) of the first cell.col2
- the column (0 based) of the second cell.row2
- the row (0 based) of the second cell.
-
-
Method Details
-
getAnchorHeightInPoints
Calculates the height of a client anchor in points.- Parameters:
sheet
- the sheet the anchor will be attached to- Returns:
- the shape height.
-
getCol1
public short getCol1()Description copied from interface:ClientAnchor
Returns the column (0 based) of the first cell, or -1 if there is no top-left anchor cell. This is the case for absolute positioningClientAnchor.AnchorType.MOVE_AND_RESIZE
- Specified by:
getCol1
in interfaceClientAnchor
- Returns:
- the column(0 based) of the first cell.
-
setCol1
public void setCol1(short col1) - Parameters:
col1
- the column(0 based) of the first cell.
-
setCol1
public void setCol1(int col1) Description copied from interface:ClientAnchor
Sets the column (0 based) of the first cell.- Specified by:
setCol1
in interfaceClientAnchor
- Parameters:
col1
- 0-based column of the first cell.
-
getCol2
public short getCol2()Description copied from interface:ClientAnchor
Returns the column (0 based) of the second cell, or -1 if there is no bottom-right anchor cell. This is the case for absolute positioning (ClientAnchor.AnchorType.DONT_MOVE_AND_RESIZE
) and absolute sizing (ClientAnchor.AnchorType.MOVE_DONT_RESIZE
.- Specified by:
getCol2
in interfaceClientAnchor
- Returns:
- the column(0 based) of the first cell.
-
setCol2
public void setCol2(short col2) - Parameters:
col2
- the column(0 based) of the second cell.
-
setCol2
public void setCol2(int col2) Description copied from interface:ClientAnchor
Returns the column (0 based) of the second cell.- Specified by:
setCol2
in interfaceClientAnchor
- Parameters:
col2
- the column(0 based) of the second cell.
-
getRow1
public int getRow1()Description copied from interface:ClientAnchor
Returns the row (0 based) of the first cell, or -1 if there is no bottom-right anchor cell. This is the case for absolute positioning (ClientAnchor.AnchorType.DONT_MOVE_AND_RESIZE
).- Specified by:
getRow1
in interfaceClientAnchor
- Returns:
- the row(0 based) of the first cell.
-
setRow1
public void setRow1(int row1) Description copied from interface:ClientAnchor
Returns the row (0 based) of the first cell.- Specified by:
setRow1
in interfaceClientAnchor
- Parameters:
row1
- 0-based row of the first cell.
-
getRow2
public int getRow2()Description copied from interface:ClientAnchor
Returns the row (0 based) of the second cell, or -1 if there is no bottom-right anchor cell. This is the case for absolute positioning (ClientAnchor.AnchorType.DONT_MOVE_AND_RESIZE
) and absolute sizing (ClientAnchor.AnchorType.MOVE_DONT_RESIZE
.- Specified by:
getRow2
in interfaceClientAnchor
- Returns:
- the row(0 based) of the second cell.
-
setRow2
public void setRow2(int row2) Description copied from interface:ClientAnchor
Returns the row (0 based) of the first cell.- Specified by:
setRow2
in interfaceClientAnchor
- Parameters:
row2
- the row(0 based) of the second cell.
-
setAnchor
public void setAnchor(short col1, int row1, int x1, int y1, short col2, int row2, int x2, int y2) Sets the top-left and bottom-right coordinates of the anchor. Note: Microsoft Excel seems to sometimes disallow higher y1 than y2 or higher x1 than x2, you might need to reverse them and draw shapes vertically or horizontally flipped!- Parameters:
col1
- the column (0 based) of the first cell.row1
- the row (0 based) of the first cell.x1
- the x coordinate within the first cell.y1
- the y coordinate within the first cell.col2
- the column (0 based) of the second cell.row2
- the row (0 based) of the second cell.x2
- the x coordinate within the second cell.y2
- the y coordinate within the second cell.
-
isHorizontallyFlipped
public boolean isHorizontallyFlipped()- Specified by:
isHorizontallyFlipped
in classHSSFAnchor
- Returns:
- whether this shape is horizontally flipped
-
isVerticallyFlipped
public boolean isVerticallyFlipped()- Specified by:
isVerticallyFlipped
in classHSSFAnchor
- Returns:
- whether this shape is vertically flipped
-
getEscherAnchor
- Specified by:
getEscherAnchor
in classHSSFAnchor
-
createEscherAnchor
protected void createEscherAnchor()- Specified by:
createEscherAnchor
in classHSSFAnchor
-
getAnchorType
Gets the anchor type Changed from returning an int to an enum in POI 3.14 beta 1.- Specified by:
getAnchorType
in interfaceClientAnchor
- Returns:
- the anchor type
-
setAnchorType
Sets the anchor type- Specified by:
setAnchorType
in interfaceClientAnchor
- Parameters:
anchorType
- the anchor type to set- Since:
- POI 3.14
-
equals
-
hashCode
public int hashCode() -
getDx1
public int getDx1()Description copied from interface:ClientAnchor
Returns the x coordinate within the first cell. Note - XSSF and HSSF have a slightly different coordinate system, values in XSSF are larger by a factor ofUnits.EMU_PER_PIXEL
- Specified by:
getDx1
in interfaceChildAnchor
- Specified by:
getDx1
in interfaceClientAnchor
- Returns:
- the x coordinate within the first cell
-
setDx1
public void setDx1(int dx1) Description copied from interface:ClientAnchor
Sets the x coordinate within the first cell Note - XSSF and HSSF have a slightly different coordinate system, values in XSSF are larger by a factor ofUnits.EMU_PER_PIXEL
- Specified by:
setDx1
in interfaceChildAnchor
- Specified by:
setDx1
in interfaceClientAnchor
- Parameters:
dx1
- the x coordinate within the first cell
-
getDy1
public int getDy1()Description copied from interface:ClientAnchor
Returns the y coordinate within the first cell Note - XSSF and HSSF have a slightly different coordinate system, values in XSSF are larger by a factor ofUnits.EMU_PER_PIXEL
- Specified by:
getDy1
in interfaceChildAnchor
- Specified by:
getDy1
in interfaceClientAnchor
- Returns:
- the y coordinate within the first cell
-
setDy1
public void setDy1(int dy1) Description copied from interface:ClientAnchor
Sets the y coordinate within the first cell Note - XSSF and HSSF have a slightly different coordinate system, values in XSSF are larger by a factor ofUnits.EMU_PER_PIXEL
- Specified by:
setDy1
in interfaceChildAnchor
- Specified by:
setDy1
in interfaceClientAnchor
- Parameters:
dy1
- the y coordinate within the first cell
-
getDy2
public int getDy2()Description copied from interface:ClientAnchor
Sets the y coordinate within the second cell Note - XSSF and HSSF have a slightly different coordinate system, values in XSSF are larger by a factor ofUnits.EMU_PER_PIXEL
- Specified by:
getDy2
in interfaceChildAnchor
- Specified by:
getDy2
in interfaceClientAnchor
- Returns:
- the y coordinate within the second cell
-
setDy2
public void setDy2(int dy2) Description copied from interface:ClientAnchor
Sets the y coordinate within the second cell Note - XSSF and HSSF have a slightly different coordinate system, values in XSSF are larger by a factor ofUnits.EMU_PER_PIXEL
- Specified by:
setDy2
in interfaceChildAnchor
- Specified by:
setDy2
in interfaceClientAnchor
- Parameters:
dy2
- the y coordinate within the second cell
-
getDx2
public int getDx2()Description copied from interface:ClientAnchor
Returns the x coordinate within the second cell Note - XSSF and HSSF have a slightly different coordinate system, values in XSSF are larger by a factor ofUnits.EMU_PER_PIXEL
- Specified by:
getDx2
in interfaceChildAnchor
- Specified by:
getDx2
in interfaceClientAnchor
- Returns:
- the x coordinate within the second cell
-
setDx2
public void setDx2(int dx2) Description copied from interface:ClientAnchor
Sets the x coordinate within the second cell Note - XSSF and HSSF have a slightly different coordinate system, values in XSSF are larger by a factor ofUnits.EMU_PER_PIXEL
- Specified by:
setDx2
in interfaceChildAnchor
- Specified by:
setDx2
in interfaceClientAnchor
- Parameters:
dx2
- the x coordinate within the second cell
-