Class 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.
    • Constructor Summary

      Constructors 
      Constructor Description
      HSSFClientAnchor()
      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

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void createEscherAnchor()  
      boolean equals​(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.
    • Field Detail

      • MAX_COL

        public static final int MAX_COL
      • MAX_ROW

        public static final int MAX_ROW
    • Constructor Detail

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