Appendix C

The five buttons below each image each have a bitmap label to convey their function. These bitmaps are stored in the X11 Bitmap format, which consists of small fragments of C code, providing an array of bits with symbolic constants giving the width and height. These are read in using the read_x11_bitmap function from the IDL library before being used as the values for the button widgets. The five bitmap files used for button labels are shown below.


    #define rotateCCW_width 16
    #define rotateCCW_height 16
    static unsigned char rotateCCW_bits[] = {
       0x00, 0x00, 0x0c, 0x00, 0xec, 0x03, 0xfc, 0x0f, 0x3c, 0x1c, 0xfc, 0x18,
       0xfc, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x06, 0x30, 0x06, 0x18,
       0x1c, 0x1c, 0xf8, 0x0f, 0xe0, 0x03, 0x00, 0x00};
    #define rotateCW_width 16
    #define rotateCW_height 16
    static unsigned char rotateCW_bits[] = {
       0x00, 0x00, 0x00, 0x18, 0xe0, 0x1b, 0xf8, 0x1f, 0x1c, 0x1e, 0x8c, 0x1f,
       0x86, 0x1f, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x30, 0x0c, 0x30,
       0x1c, 0x1c, 0xf8, 0x0f, 0xe0, 0x03, 0x00, 0x00};
    #define flipH_width 16
    #define flipH_height 16
    static unsigned char flipH_bits[] = {
       0x90, 0x00, 0x98, 0x00, 0x9c, 0x00, 0xfe, 0x1f, 0xfe, 0x1f, 0x9c, 0x00,
       0x98, 0x00, 0x90, 0x04, 0x80, 0x0c, 0x80, 0x1c, 0xfc, 0x3f, 0xfc, 0x3f,
       0x80, 0x1c, 0x80, 0x0c, 0x80, 0x04, 0x00, 0x00};
    #define flipV_width 16
    #define flipV_height 16
    static unsigned char flipV_bits[] = {
       0x00, 0x00, 0x00, 0x0c, 0x18, 0x1e, 0x18, 0x3f, 0x98, 0x7f, 0x18, 0x0c,
       0x18, 0x0c, 0xff, 0x7f, 0x18, 0x0c, 0x18, 0x0c, 0xff, 0x0c, 0x7e, 0x0c,
       0x3c, 0x0c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00};
    #define histEqu_width 16
    #define histEqu_height 16
    static unsigned char histEqu_bits[] = {
       0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x80, 0x03, 0x80, 0x03, 0xc0, 0x07,
       0xc0, 0x07, 0xc8, 0x0f, 0xd8, 0x0f, 0xd8, 0x0f, 0xfc, 0x1f, 0xfc, 0x1f,
       0xfc, 0x3f, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00};