Colour-maps in Tina are defined around a standard lookup table of pixel values
cmap ->std_lut[0:CMAPLOOKUPSIZE])for each Tv panel. These are the pixel values neccesary to generate a particular colour from the graphics server. Tina uses a set of simple rules to locate grey scales and colours within this array, there may be some duplication of colours depending upon availability of resources. The intention is to provide a software buffer between the graphics software and the Tina Tv libraries in case of future changes in the graphics environment. Graphical colours are set via the use of the Tina_Color data structure. All X graphics calls are isolated in the src/X11 directory.
There are several possible colour-maps, two primarily for grey scale display with geometric overdraws, a purple green anaglyph, which can be viewied with red/green filters for stereo vision (but also maximises visual contrast for those who are red/green colour blind). Finally there is a false colour-map which is useful for displaying absolute values from quantitative pixel measurement processes. This attempts to map the majority of the available colour space in a way which moves from low to high intesities and also cold to hot. The grey scale and false colour-maps also have red overlay planes for temporary sprite graphics. These are stored in the upper half of the colour cells and are accessed by a non destructive XOR process.
Colour-maps are allocated to a given Tv via calls to
Bool tv_grey_cmap_create(Tv * tv, int base) Bool tv_standard_cmap_create(Tv * tv, int base) Bool tv_false_cmap_create(Tv * tv, int base) Bool tv_anag_cmap_create(Tv * tv, int base)The base variable specifies how much of the system colour-map should be preserved (see below). Colour-map information is stored within each Tv data structure and on a list of available maps. When a new colour-map is requested this list is searched for the corresponding map (with the same cmap_create_fn() and number of default colours) before a new one is generated. The available colour cells within each Tv can be displayed from the View Tool.