Class HSSFClientAnchor

java.lang.Object
org.apache.poi.hssf.usermodel.HSSFAnchor
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

    Fields
    Modifier and Type
    Field
    Description
    static final int
     
    static final int
     

    Fields inherited from class org.apache.poi.hssf.usermodel.HSSFAnchor

    _isHorizontallyFlipped, _isVerticallyFlipped
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates 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 Type
    Method
    Description
    protected void
     
    boolean
     
    float
    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
    Returns the column (0 based) of the first cell, or -1 if there is no top-left anchor cell.
    short
    Returns the column (0 based) of the second cell, or -1 if there is no bottom-right anchor cell.
    int
    Returns the x coordinate within the first cell.
    int
    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
    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
    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
     
    int
    Returns the row (0 based) of the first cell, or -1 if there is no bottom-right anchor cell.
    int
    Returns the row (0 based) of the second cell, or -1 if there is no bottom-right anchor cell.
    int
     
    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
    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 Details

    • MAX_COL

      public static final int MAX_COL
    • MAX_ROW

      public static final int MAX_ROW
  • Constructor Details

    • 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 Details

    • 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:
      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 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(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class 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