icns 0.4.0

A library for encoding/decoding Apple Icon Image (.icns) files.
Documentation
// Standard 16 color palette used for 4-bit icon formats.
// Entries are (r,g,b)
pub const PALETTE16: &[[u8; 3]; 16] = &[
    [0xff, 0xff, 0xff],
    [0xfc, 0xf3, 0x05],
    [0xff, 0x64, 0x02],
    [0xdd, 0x08, 0x06],
    [0xf2, 0x08, 0x84],
    [0x46, 0x00, 0xa5],
    [0x00, 0x00, 0xd4],
    [0x02, 0xab, 0xea],
    [0x1f, 0xb7, 0x14],
    [0x00, 0x64, 0x11],
    [0x56, 0x2c, 0x05],
    [0x90, 0x71, 0x3a],
    [0xc0, 0xc0, 0xc0],
    [0x80, 0x80, 0x80],
    [0x40, 0x40, 0x40],
    [0x00, 0x00, 0x00],
];

// Standard 256 color palette used for 8-bit icon formats
// Entries are (r,g,b)
pub const PALETTE256: &[[u8; 3]; 256] = &[
    [0xff, 0xff, 0xff],
    [0xff, 0xff, 0xcc],
    [0xff, 0xff, 0x99],
    [0xff, 0xff, 0x66],
    [0xff, 0xff, 0x33],
    [0xff, 0xff, 0x00],
    [0xff, 0xcc, 0xff],
    [0xff, 0xcc, 0xcc],
    [0xff, 0xcc, 0x99],
    [0xff, 0xcc, 0x66],
    [0xff, 0xcc, 0x33],
    [0xff, 0xcc, 0x00],
    [0xff, 0x99, 0xff],
    [0xff, 0x99, 0xcc],
    [0xff, 0x99, 0x99],
    [0xff, 0x99, 0x66],
    [0xff, 0x99, 0x33],
    [0xff, 0x99, 0x00],
    [0xff, 0x66, 0xff],
    [0xff, 0x66, 0xcc],
    [0xff, 0x66, 0x99],
    [0xff, 0x66, 0x66],
    [0xff, 0x66, 0x33],
    [0xff, 0x66, 0x00],
    [0xff, 0x33, 0xff],
    [0xff, 0x33, 0xcc],
    [0xff, 0x33, 0x99],
    [0xff, 0x33, 0x66],
    [0xff, 0x33, 0x33],
    [0xff, 0x33, 0x00],
    [0xff, 0x00, 0xff],
    [0xff, 0x00, 0xcc],
    [0xff, 0x00, 0x99],
    [0xff, 0x00, 0x66],
    [0xff, 0x00, 0x33],
    [0xff, 0x00, 0x00],
    [0xcc, 0xff, 0xff],
    [0xcc, 0xff, 0xcc],
    [0xcc, 0xff, 0x99],
    [0xcc, 0xff, 0x66],
    [0xcc, 0xff, 0x33],
    [0xcc, 0xff, 0x00],
    [0xcc, 0xcc, 0xff],
    [0xcc, 0xcc, 0xcc],
    [0xcc, 0xcc, 0x99],
    [0xcc, 0xcc, 0x66],
    [0xcc, 0xcc, 0x33],
    [0xcc, 0xcc, 0x00],
    [0xcc, 0x99, 0xff],
    [0xcc, 0x99, 0xcc],
    [0xcc, 0x99, 0x99],
    [0xcc, 0x99, 0x66],
    [0xcc, 0x99, 0x33],
    [0xcc, 0x99, 0x00],
    [0xcc, 0x66, 0xff],
    [0xcc, 0x66, 0xcc],
    [0xcc, 0x66, 0x99],
    [0xcc, 0x66, 0x66],
    [0xcc, 0x66, 0x33],
    [0xcc, 0x66, 0x00],
    [0xcc, 0x33, 0xff],
    [0xcc, 0x33, 0xcc],
    [0xcc, 0x33, 0x99],
    [0xcc, 0x33, 0x66],
    [0xcc, 0x33, 0x33],
    [0xcc, 0x33, 0x00],
    [0xcc, 0x00, 0xff],
    [0xcc, 0x00, 0xcc],
    [0xcc, 0x00, 0x99],
    [0xcc, 0x00, 0x66],
    [0xcc, 0x00, 0x33],
    [0xcc, 0x00, 0x00],
    [0x99, 0xff, 0xff],
    [0x99, 0xff, 0xcc],
    [0x99, 0xff, 0x99],
    [0x99, 0xff, 0x66],
    [0x99, 0xff, 0x33],
    [0x99, 0xff, 0x00],
    [0x99, 0xcc, 0xff],
    [0x99, 0xcc, 0xcc],
    [0x99, 0xcc, 0x99],
    [0x99, 0xcc, 0x66],
    [0x99, 0xcc, 0x33],
    [0x99, 0xcc, 0x00],
    [0x99, 0x99, 0xff],
    [0x99, 0x99, 0xcc],
    [0x99, 0x99, 0x99],
    [0x99, 0x99, 0x66],
    [0x99, 0x99, 0x33],
    [0x99, 0x99, 0x00],
    [0x99, 0x66, 0xff],
    [0x99, 0x66, 0xcc],
    [0x99, 0x66, 0x99],
    [0x99, 0x66, 0x66],
    [0x99, 0x66, 0x33],
    [0x99, 0x66, 0x00],
    [0x99, 0x33, 0xff],
    [0x99, 0x33, 0xcc],
    [0x99, 0x33, 0x99],
    [0x99, 0x33, 0x66],
    [0x99, 0x33, 0x33],
    [0x99, 0x33, 0x00],
    [0x99, 0x00, 0xff],
    [0x99, 0x00, 0xcc],
    [0x99, 0x00, 0x99],
    [0x99, 0x00, 0x66],
    [0x99, 0x00, 0x33],
    [0x99, 0x00, 0x00],
    [0x66, 0xff, 0xff],
    [0x66, 0xff, 0xcc],
    [0x66, 0xff, 0x99],
    [0x66, 0xff, 0x66],
    [0x66, 0xff, 0x33],
    [0x66, 0xff, 0x00],
    [0x66, 0xcc, 0xff],
    [0x66, 0xcc, 0xcc],
    [0x66, 0xcc, 0x99],
    [0x66, 0xcc, 0x66],
    [0x66, 0xcc, 0x33],
    [0x66, 0xcc, 0x00],
    [0x66, 0x99, 0xff],
    [0x66, 0x99, 0xcc],
    [0x66, 0x99, 0x99],
    [0x66, 0x99, 0x66],
    [0x66, 0x99, 0x33],
    [0x66, 0x99, 0x00],
    [0x66, 0x66, 0xff],
    [0x66, 0x66, 0xcc],
    [0x66, 0x66, 0x99],
    [0x66, 0x66, 0x66],
    [0x66, 0x66, 0x33],
    [0x66, 0x66, 0x00],
    [0x66, 0x33, 0xff],
    [0x66, 0x33, 0xcc],
    [0x66, 0x33, 0x99],
    [0x66, 0x33, 0x66],
    [0x66, 0x33, 0x33],
    [0x66, 0x33, 0x00],
    [0x66, 0x00, 0xff],
    [0x66, 0x00, 0xcc],
    [0x66, 0x00, 0x99],
    [0x66, 0x00, 0x66],
    [0x66, 0x00, 0x33],
    [0x66, 0x00, 0x00],
    [0x33, 0xff, 0xff],
    [0x33, 0xff, 0xcc],
    [0x33, 0xff, 0x99],
    [0x33, 0xff, 0x66],
    [0x33, 0xff, 0x33],
    [0x33, 0xff, 0x00],
    [0x33, 0xcc, 0xff],
    [0x33, 0xcc, 0xcc],
    [0x33, 0xcc, 0x99],
    [0x33, 0xcc, 0x66],
    [0x33, 0xcc, 0x33],
    [0x33, 0xcc, 0x00],
    [0x33, 0x99, 0xff],
    [0x33, 0x99, 0xcc],
    [0x33, 0x99, 0x99],
    [0x33, 0x99, 0x66],
    [0x33, 0x99, 0x33],
    [0x33, 0x99, 0x00],
    [0x33, 0x66, 0xff],
    [0x33, 0x66, 0xcc],
    [0x33, 0x66, 0x99],
    [0x33, 0x66, 0x66],
    [0x33, 0x66, 0x33],
    [0x33, 0x66, 0x00],
    [0x33, 0x33, 0xff],
    [0x33, 0x33, 0xcc],
    [0x33, 0x33, 0x99],
    [0x33, 0x33, 0x66],
    [0x33, 0x33, 0x33],
    [0x33, 0x33, 0x00],
    [0x33, 0x00, 0xff],
    [0x33, 0x00, 0xcc],
    [0x33, 0x00, 0x99],
    [0x33, 0x00, 0x66],
    [0x33, 0x00, 0x33],
    [0x33, 0x00, 0x00],
    [0x00, 0xff, 0xff],
    [0x00, 0xff, 0xcc],
    [0x00, 0xff, 0x99],
    [0x00, 0xff, 0x66],
    [0x00, 0xff, 0x33],
    [0x00, 0xff, 0x00],
    [0x00, 0xcc, 0xff],
    [0x00, 0xcc, 0xcc],
    [0x00, 0xcc, 0x99],
    [0x00, 0xcc, 0x66],
    [0x00, 0xcc, 0x33],
    [0x00, 0xcc, 0x00],
    [0x00, 0x99, 0xff],
    [0x00, 0x99, 0xcc],
    [0x00, 0x99, 0x99],
    [0x00, 0x99, 0x66],
    [0x00, 0x99, 0x33],
    [0x00, 0x99, 0x00],
    [0x00, 0x66, 0xff],
    [0x00, 0x66, 0xcc],
    [0x00, 0x66, 0x99],
    [0x00, 0x66, 0x66],
    [0x00, 0x66, 0x33],
    [0x00, 0x66, 0x00],
    [0x00, 0x33, 0xff],
    [0x00, 0x33, 0xcc],
    [0x00, 0x33, 0x99],
    [0x00, 0x33, 0x66],
    [0x00, 0x33, 0x33],
    [0x00, 0x33, 0x00],
    [0x00, 0x00, 0xff],
    [0x00, 0x00, 0xcc],
    [0x00, 0x00, 0x99],
    [0x00, 0x00, 0x66],
    [0x00, 0x00, 0x33],
    [0xee, 0x00, 0x00],
    [0xdd, 0x00, 0x00],
    [0xbb, 0x00, 0x00],
    [0xaa, 0x00, 0x00],
    [0x88, 0x00, 0x00],
    [0x77, 0x00, 0x00],
    [0x55, 0x00, 0x00],
    [0x44, 0x00, 0x00],
    [0x22, 0x00, 0x00],
    [0x11, 0x00, 0x00],
    [0x00, 0xee, 0x00],
    [0x00, 0xdd, 0x00],
    [0x00, 0xbb, 0x00],
    [0x00, 0xaa, 0x00],
    [0x00, 0x88, 0x00],
    [0x00, 0x77, 0x00],
    [0x00, 0x55, 0x00],
    [0x00, 0x44, 0x00],
    [0x00, 0x22, 0x00],
    [0x00, 0x11, 0x00],
    [0x00, 0x00, 0xee],
    [0x00, 0x00, 0xdd],
    [0x00, 0x00, 0xbb],
    [0x00, 0x00, 0xaa],
    [0x00, 0x00, 0x88],
    [0x00, 0x00, 0x77],
    [0x00, 0x00, 0x55],
    [0x00, 0x00, 0x44],
    [0x00, 0x00, 0x22],
    [0x00, 0x00, 0x11],
    [0xee, 0xee, 0xee],
    [0xdd, 0xdd, 0xdd],
    [0xbb, 0xbb, 0xbb],
    [0xaa, 0xaa, 0xaa],
    [0x88, 0x88, 0x88],
    [0x77, 0x77, 0x77],
    [0x55, 0x55, 0x55],
    [0x44, 0x44, 0x44],
    [0x22, 0x22, 0x22],
    [0x11, 0x11, 0x11],
    [0x00, 0x00, 0x00],
];