

/*
       File:             amxw.h
       Author:           Mary Soon Lee
       Created:          12 Nov 95
       Modified:         23 Mar 96

       Description:     Standard andrew header file for graphics
*/

#ifndef AMXW_H
#define AMXW_H

#include <stdio.h>
#include <math.h>
#include "hash.h"
#include "utils.h"
#include "amut.h"

/*#include <windows.h>*/
#include "ambs.h"
#include "amgr.h"

/* This is a temporary flag, that should only be switched on if you
   are trying to make the PostScript version of a lingraph image look
   good (and black-and-white) for a paper */
  
/* #define FIGS_FOR_PAPER */

#define NUM_GRAY_SCALES 32

#define NUM_AG_COLORS 28

#define NUM_COLORS (NUM_GRAY_SCALES + NUM_AG_COLORS)

#define AG_BLACK 0
#define AG_WHITE 1
#define AG_GRAY 2
#define AG_DARKRED 3
#define AG_RED 4
#define AG_OLIVE 5
#define AG_YELLOW 6
#define AG_DARKGREEN 7
#define AG_GREEN 8
#define AG_BLUEGREEN 9
#define AG_CYAN 10
#define AG_DARKBLUE 11
#define AG_BLUE 12
#define AG_PURPLE 13
#define AG_MAGENTA 14
#define AG_ORANGE 15
#define AG_T1 16
#define AG_T2 17
#define AG_T3 18
#define AG_T4 19
#define AG_T5 20
#define AG_T6 21
#define AG_T7 22
#define AG_T8 23
#define AG_T9 24
#define AG_T10 25
#define AG_T11 26
#define AG_T12 27

#define AG_GRAYSCALE_BASE (NUM_AG_COLORS)

#ifdef PC_MVIS_PLATFORM
void RedrawPict(HDC hdc);
#endif

/* these integers are pixels.  0 is the default, which somehow produces
   visible lines anyway.  Hmmm
   */
int simple_get_line_width(void);
void simple_set_line_width(int line_width);
void simple_set_pen_rgb(double r, double g, double b);

int simple_spectrum_color(double frac);
double invert_simple_spectrum_color(int color);
int opposite_simple_spectrum_color(int color);

#endif /* #ifndef AMXW_H */

