Class PaletteRecord


public final class PaletteRecord extends StandardRecord
PaletteRecord (0x0092) - Supports custom palettes.
Author:
Andrew C. Oliver (acoliver at apache dot org), Brian Sanders (bsanders at risklabs dot com) - custom palette editing
  • Field Details

    • sid

      public static final short sid
      See Also:
    • STANDARD_PALETTE_SIZE

      public static final byte STANDARD_PALETTE_SIZE
      The standard size of an XLS palette
      See Also:
    • FIRST_COLOR_INDEX

      public static final short FIRST_COLOR_INDEX
      The byte index of the first color
      See Also:
  • Constructor Details

    • PaletteRecord

      public PaletteRecord()
    • PaletteRecord

      public PaletteRecord(RecordInputStream in)
  • Method Details

    • toString

      public String toString()
      Description copied from class: Record
      get a string representation of the record (for biffview/debugging)
      Overrides:
      toString in class Record
    • serialize

      public void serialize(LittleEndianOutput out)
      Description copied from class: StandardRecord
      Write the data content of this BIFF record. The 'ushort sid' and 'ushort size' header fields have already been written by the superclass.

      The number of bytes written must equal the record size reported by RecordBase.getRecordSize()} minus four ( record header consisting of a 'ushort sid' and 'ushort reclength' has already been written by their superclass).

      Specified by:
      serialize in class StandardRecord
      Parameters:
      out - the output object
    • getDataSize

      protected int getDataSize()
      Specified by:
      getDataSize in class StandardRecord
    • getSid

      public short getSid()
      Description copied from class: Record
      return the non static version of the id for this record.
      Specified by:
      getSid in class Record
      Returns:
      he id for this record
    • getColor

      public byte[] getColor(int byteIndex)
      Returns the color value at a given index
      Parameters:
      byteIndex - palette index, must be >= 0x8
      Returns:
      the RGB triplet for the color, or null if the specified index does not exist
    • setColor

      public void setColor(short byteIndex, byte red, byte green, byte blue)
      Sets the color value at a given index If the given index is greater than the current last color index, then black is inserted at every index required to make the palette continuous.
      Parameters:
      byteIndex - the index to set; if this index is less than 0x8 or greater than 0x40, then no modification is made
      red - the red color part
      green - the green color part
      blue - the blue color part