org.apache.poi.hssf.usermodel
Class HSSFClientAnchor

java.lang.Object
  extended by org.apache.poi.hssf.usermodel.HSSFAnchor
      extended by org.apache.poi.hssf.usermodel.HSSFClientAnchor
All Implemented Interfaces:
ChildAnchor, ClientAnchor

public final class HSSFClientAnchor
extends HSSFAnchor
implements 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
static int MAX_COL
           
static int MAX_ROW
           
 
Fields inherited from class org.apache.poi.hssf.usermodel.HSSFAnchor
_isHorizontallyFlipped, _isVerticallyFlipped
 
Constructor Summary
HSSFClientAnchor()
          Creates a new client anchor and defaults all the anchor positions to 0.
HSSFClientAnchor(EscherClientAnchorRecord escherClientAnchorRecord)
           
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.
 
Method Summary
protected  void createEscherAnchor()
           
 boolean equals(java.lang.Object obj)
           
 float getAnchorHeightInPoints(HSSFSheet sheet)
          Calculates the height of a client anchor in points.
 ClientAnchor.AnchorType getAnchorType()
          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 of Units.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 of Units.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 of Units.EMU_PER_PIXEL
protected  EscherRecord getEscherAnchor()
           
 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 isHorizontallyFlipped()
           
 boolean isVerticallyFlipped()
           
 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 type
 void 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 of Units.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 of Units.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 of Units.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 of Units.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
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MAX_COL

public static final int MAX_COL

MAX_ROW

public static final int MAX_ROW
Constructor Detail

HSSFClientAnchor

public HSSFClientAnchor(EscherClientAnchorRecord escherClientAnchorRecord)

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 Detail

getAnchorHeightInPoints

public float getAnchorHeightInPoints(HSSFSheet sheet)
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 positioning ClientAnchor.AnchorType.MOVE_AND_RESIZE

Specified by:
getCol1 in interface ClientAnchor
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 interface ClientAnchor
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 interface ClientAnchor
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 interface ClientAnchor
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 interface ClientAnchor
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 interface ClientAnchor
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 interface ClientAnchor
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 interface ClientAnchor
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:
x1 - the x coordinate within the first cell.
y1 - the y coordinate within the first cell.
x2 - the x coordinate within the second cell.
y2 - 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.

isHorizontallyFlipped

public boolean isHorizontallyFlipped()
Specified by:
isHorizontallyFlipped in class HSSFAnchor
Returns:
whether this shape is horizontally flipped

isVerticallyFlipped

public boolean isVerticallyFlipped()
Specified by:
isVerticallyFlipped in class HSSFAnchor
Returns:
whether this shape is vertically flipped

getEscherAnchor

protected EscherRecord getEscherAnchor()
Specified by:
getEscherAnchor in class HSSFAnchor

createEscherAnchor

protected void createEscherAnchor()
Specified by:
createEscherAnchor in class HSSFAnchor

getAnchorType

public ClientAnchor.AnchorType getAnchorType()
Gets the anchor type Changed from returning an int to an enum in POI 3.14 beta 1.

Specified by:
getAnchorType in interface ClientAnchor
Returns:
the anchor type

setAnchorType

public void setAnchorType(ClientAnchor.AnchorType anchorType)
Sets the anchor type

Specified by:
setAnchorType in interface ClientAnchor
Parameters:
anchorType - the anchor type to set
Since:
POI 3.14

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

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 of Units.EMU_PER_PIXEL

Specified by:
getDx1 in interface ChildAnchor
Specified by:
getDx1 in interface ClientAnchor
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 of Units.EMU_PER_PIXEL

Specified by:
setDx1 in interface ChildAnchor
Specified by:
setDx1 in interface ClientAnchor
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 of Units.EMU_PER_PIXEL

Specified by:
getDy1 in interface ChildAnchor
Specified by:
getDy1 in interface ClientAnchor
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 of Units.EMU_PER_PIXEL

Specified by:
setDy1 in interface ChildAnchor
Specified by:
setDy1 in interface ClientAnchor
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 of Units.EMU_PER_PIXEL

Specified by:
getDy2 in interface ChildAnchor
Specified by:
getDy2 in interface ClientAnchor
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 of Units.EMU_PER_PIXEL

Specified by:
setDy2 in interface ChildAnchor
Specified by:
setDy2 in interface ClientAnchor
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 of Units.EMU_PER_PIXEL

Specified by:
getDx2 in interface ChildAnchor
Specified by:
getDx2 in interface ClientAnchor
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 of Units.EMU_PER_PIXEL

Specified by:
setDx2 in interface ChildAnchor
Specified by:
setDx2 in interface ClientAnchor
Parameters:
dx2 - the x coordinate within the second cell