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 Summary

      Fields 
      Modifier and Type Field Description
      static short FIRST_COLOR_INDEX
      The byte index of the first color
      static short sid  
      static byte STANDARD_PALETTE_SIZE
      The standard size of an XLS palette
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      byte[] getColor​(int byteIndex)
      Returns the color value at a given index
      protected int getDataSize()  
      short getSid()
      return the non static version of the id for this record.
      void serialize​(LittleEndianOutput out)
      Write the data content of this BIFF record.
      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.
      java.lang.String toString()
      get a string representation of the record (for biffview/debugging)
      • Methods inherited from class java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • STANDARD_PALETTE_SIZE

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

        public static final short FIRST_COLOR_INDEX
        The byte index of the first color
        See Also:
        Constant Field Values
    • Constructor Detail

      • PaletteRecord

        public PaletteRecord()
    • Method Detail

      • toString

        public java.lang.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
      • 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