hschumann2/TempleOS-Source-Code
0847
1 2GR graphics files are 8-bits-per-pixels but only 4-bits of color, with3transparency and no palette. Compression is the standard TempleOS LZW4compression.5 6#define DCF_COMPRESSED 1 //This is the only saved flag.7#define DCF_PALETTE 28 9#define TRANSPARENT 0xFF10#define BLACK 011#define BLUE 112#define GREEN 213#define CYAN 314#define RED 415#define PURPLE 516#define BROWN 617#define LTGRAY 718#define DKGRAY 819#define LTBLUE 920#define LTGREEN 1021#define LTCYAN 1122#define LTRED 1223#define LTPURPLE 1324#define YELLOW 1425#define WHITE 1526 27class CBGR4828{29 U16 r,g,b,pad;30};31 32CBGR48 gr_palette_std[16]={330x000000000000,0x00000000AAAA,0x0000AAAA0000,0x0000AAAAAAAA,340xAAAA00000000,0xAAAA0000AAAA,0xAAAA55550000,0xAAAAAAAAAAAA,350x555555555555,0x55555555FFFF,0x5555FFFF5555,0x5555FFFFFFFF,360xFFFF55555555,0xFFFF5555FFFF,0xFFFFFFFF5555,0xFFFFFFFFFFFF};37 38class GRFile39{40 I32 width;41 I32 width_internal; //Rounded-up to multiple of 8.42 I32 height;43 I32 flags; //DCF_COMPRESSED? See ::/Kernel/Compress.HC.44 CBGR48 palette[16]; //Included if DCF_PALETTE.45 U8 body[];46};47 48See DCSave(), GRWrite(), DCLoad(), and GRRead().49 