/*
 * $RCSfile: gi.h $
 *
 * $Author: marcel $
 *
 * $Revision: 1.5 $
 *
 * $Date: 1995/05/15 10:50:17 $
 *
 * $Locker: marcel $
 *
 * $State: Exp $
 *
 * Amiga version
 *
 * Copyright © 1995 Marcel Offermans
 *
 * tabsize = 5
 */

#ifndef RARS_GI_H
#define RARS_GI_H

#ifndef RARS_OS_H
#include "os.h"
#endif

#include <math.h>

const double DEGPRAD = 180.0 / PI;

struct colors {int nose, tail;};

enum {
	oBLACK,
	oBLUE,
	oGREEN,
	oCYAN,
	oRED,
	oMAGENTA,
	oBROWN,
	oLIGHTGRAY,
	oDARKGRAY,
	oLIGHTBLUE,
	oLIGHTGREEN,
	oLIGHTCYAN,
	oLIGHTRED,
	oLIGHTMAGENTA,
	oYELLOW,
	oWHITE
};

const int TRACK_COLOR = oDARKGRAY;
const int FIELD_COLOR = oGREEN;
const int TEXT_COLOR  = oBLACK;
const int RAIL_COLOR  = oWHITE;
const int IP_NAME_COLOR = oWHITE;
const int IP_NUM_COLOR = oYELLOW;

extern colors car_colors[];
extern colors car_clrs[];

extern double SCALE;
extern double CHR_HGT;
extern double CHR_WID;
extern double X_MAX, Y_MAX;

extern struct Window *window_ptr;
extern BOOL available;

extern "C" ULONG scrdepth;
extern "C" ULONG scrwidth;
extern "C" ULONG scrheight;
extern "C" ULONG scrid;
extern "C" ULONG scroscantype;
extern "C" ULONG scrautoscroll;

void resume_normal_display(void);
void draw_line(double, double, double, double);
void rectangle(double, double, double, double);
void set_color(int);
void set_fill_color(int);
void flood_fill(double, double);
void text_output(double, double, char *);
void initialize_graphics(void);

#endif /* RARS_GI_H */
