Class PaletteRecord


  • public class PaletteRecord
    extends Record
    PaletteRecord - Supports custom palettes.
    Version:
    2.0-pre
    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
      protected void fillFields​(RecordInputStream in)
      called by the constructor, should set class level fields.
      byte[] getColor​(short byteIndex)
      Returns the color value at a given index
      int getRecordSize()
      gives the current serialized size of the record.
      short getSid()
      return the non static version of the id for this record.
      int serialize​(int offset, byte[] data)
      called by the class that is responsible for writing this sucker.
      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.
      String toString()
      get a string representation of the record (for biffview/debugging)
      protected void validateSid​(short id)
      called by constructor, should throw runtime exception in the event of a record passed with a differing ID.
    • 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()
      • PaletteRecord

        public PaletteRecord​(RecordInputStream in)
        Constructs a PaletteRecord record and sets its fields appropriately.
        Parameters:
        in - the RecordInputstream to read the record from
    • Method Detail

      • validateSid

        protected void validateSid​(short id)
        Description copied from class: Record
        called by constructor, should throw runtime exception in the event of a record passed with a differing ID.
        Specified by:
        validateSid in class Record
        Parameters:
        id - alleged id for this record
      • fillFields

        protected void fillFields​(RecordInputStream in)
        Description copied from class: Record
        called by the constructor, should set class level fields. Should throw runtime exception for bad/icomplete data.
        Specified by:
        fillFields in class Record
        Parameters:
        in - the RecordInputstream to read the record from
      • 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 int serialize​(int offset,
                             byte[] data)
        Description copied from class: Record
        called by the class that is responsible for writing this sucker. Subclasses should implement this so that their data is passed back in a byte array.
        Specified by:
        serialize in class Record
        Parameters:
        offset - to begin writing at
        data - byte array containing instance data
        Returns:
        number of bytes written
      • getRecordSize

        public int getRecordSize()
        Description copied from class: Record
        gives the current serialized size of the record. Should include the sid and reclength (4 bytes).
        Overrides:
        getRecordSize in class Record
      • 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
      • getColor

        public byte[] getColor​(short byteIndex)
        Returns the color value at a given index
        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