Class EscherClientAnchorRecord

  • All Implemented Interfaces:
    Duplicatable, GenericRecord

    public class EscherClientAnchorRecord
    extends EscherRecord
    The escher client anchor specifies which rows and cells the shape is bound to as well as the offsets within those cells. Each cell is 1024 units wide by 256 units long regardless of the actual size of the cell. The EscherClientAnchorRecord only applies to the top-most shapes. Shapes contained in groups are bound using the EscherChildAnchorRecords. Referred to as an OfficeArtClientAnchor by [MS-PPT] - v20210216.
    See Also:
    EscherChildAnchorRecord
    • Field Detail

      • RECORD_ID

        public static final short RECORD_ID
    • Constructor Detail

      • EscherClientAnchorRecord

        public EscherClientAnchorRecord()
    • Method Detail

      • setMaxRecordLength

        public static void setMaxRecordLength​(int length)
        Parameters:
        length - the max record length allowed for EscherClientAnchorRecord
      • getMaxRecordLength

        public static int getMaxRecordLength()
        Returns:
        the max record length allowed for EscherClientAnchorRecord
      • fillFields

        public int fillFields​(byte[] data,
                              int offset,
                              EscherRecordFactory recordFactory)
        Description copied from class: EscherRecord
        The contract of this method is to deserialize an escher record including its children.
        Specified by:
        fillFields in class EscherRecord
        Parameters:
        data - The byte array containing the serialized escher records.
        offset - The offset into the byte array.
        recordFactory - A factory for creating new escher records.
        Returns:
        The number of bytes written.
      • serialize

        public int serialize​(int offset,
                             byte[] data,
                             EscherSerializationListener listener)
        Description copied from class: EscherRecord
        Serializes the record to an existing byte array.
        Specified by:
        serialize in class EscherRecord
        Parameters:
        offset - the offset within the byte array
        data - the data array to serialize to
        listener - a listener for begin and end serialization events. This is useful because the serialization is hierarchical/recursive and sometimes you need to be able break into that.
        Returns:
        the number of bytes written.
      • getRecordSize

        public int getRecordSize()
        Description copied from class: EscherRecord
        Subclasses should effeciently return the number of bytes required to serialize the record.
        Specified by:
        getRecordSize in class EscherRecord
        Returns:
        number of bytes
      • getRecordId

        public short getRecordId()
        Description copied from class: EscherRecord
        Return the current record id.
        Overrides:
        getRecordId in class EscherRecord
        Returns:
        The 16 bit record id.
      • getRecordName

        public String getRecordName()
        Description copied from class: EscherRecord
        Subclasses should return the short name for this escher record.
        Specified by:
        getRecordName in class EscherRecord
        Returns:
        the short name for this escher record
      • getFlag

        public short getFlag()
        0 = Move and size with Cells, 2 = Move but don't size with cells, 3 = Don't move or size with cells.
        Returns:
        the move/size flag
      • setFlag

        public void setFlag​(short field_1_flag)
        0 = Move and size with Cells, 2 = Move but don't size with cells, 3 = Don't move or size with cells.
        Parameters:
        field_1_flag - the move/size flag
      • getCol1

        public short getCol1()
        The column number for the top-left position. 0 based.
        Returns:
        the column number of the top-left corner
      • setCol1

        public void setCol1​(short field_2_col1)
        The column number for the top-left position. 0 based.
        Parameters:
        field_2_col1 - the column number of the top-left corner
      • getDx1

        public short getDx1()
        The x offset within the top-left cell. Range is from 0 to 1023.
        Returns:
        the x offset of the top-left corner
      • setDx1

        public void setDx1​(short field_3_dx1)
        The x offset within the top-left cell. Range is from 0 to 1023.
        Parameters:
        field_3_dx1 - the x offset of the top-left corner
      • getRow1

        public short getRow1()
        The row number for the top-left corner of the shape.
        Returns:
        the row number of the top-left corner
      • setRow1

        public void setRow1​(short field_4_row1)
        The row number of the top-left corner of the shape.
        Parameters:
        field_4_row1 - the row number of the top-left corner
      • getDy1

        public short getDy1()
        The y offset within the top-left corner of the current shape.
        Returns:
        the y offset of the top-left corner
      • setDy1

        public void setDy1​(short field_5_dy1)
        The y offset within the top-left corner of the current shape.
        Parameters:
        field_5_dy1 - the y offset of the top-left corner
      • getCol2

        public short getCol2()
        The column of the bottom right corner of this shape.
        Returns:
        the column of the bottom right corner
      • setCol2

        public void setCol2​(short field_6_col2)
        The column of the bottom right corner of this shape.
        Parameters:
        field_6_col2 - the column of the bottom right corner
      • getDx2

        public short getDx2()
        The x offset withing the cell for the bottom-right corner of this shape.
        Returns:
        the x offset of the bottom-right corner
      • setDx2

        public void setDx2​(short field_7_dx2)
        The x offset withing the cell for the bottom-right corner of this shape.
        Parameters:
        field_7_dx2 - the x offset of the bottom-right corner
      • getRow2

        public short getRow2()
        The row number for the bottom-right corner of the current shape.
        Returns:
        the row number for the bottom-right corner
      • setRow2

        public void setRow2​(short field_8_row2)
        The row number for the bottom-right corner of the current shape.
        Parameters:
        field_8_row2 - the row number for the bottom-right corner
      • getDy2

        public short getDy2()
        The y offset withing the cell for the bottom-right corner of this shape.
        Returns:
        the y offset of the bottom-right corner
      • setDy2

        public void setDy2​(short field_9_dy2)
        The y offset withing the cell for the bottom-right corner of this shape.
        Parameters:
        field_9_dy2 - the y offset of the bottom-right corner
      • getRemainingData

        public byte[] getRemainingData()
        Any remaining data in the record
        Returns:
        the remaining bytes
      • setRemainingData

        public void setRemainingData​(byte[] remainingData)
        Any remaining data in the record
        Parameters:
        remainingData - the remaining bytes
      • getGenericRecordType

        public Enum getGenericRecordType()