#include "hv_defs.h"
#include "hypdebug.h"
#include "w_draw.h"

COLORREF const hyp_colors[256] = {
	 /* white		  */ PALETTERGB(255, 255, 255),
	 /* black		  */ PALETTERGB(0, 0, 0),
	 /* red           */ PALETTERGB(255, 0, 0),
	 /* green		  */ PALETTERGB(0, 255, 0),
	 /* blue		  */ PALETTERGB(0, 0, 255),
	 /* cyan		  */ PALETTERGB(0, 255, 255),
	 /* yellow		  */ PALETTERGB(255, 255, 0),
	 /* magenta       */ PALETTERGB(255, 0, 255),
	 /* light gray	  */ PALETTERGB(204, 204, 204),
	 /* dark gray	  */ PALETTERGB(136, 136, 136),
	 /* dark red	  */ PALETTERGB(136, 0, 0),
	 /* dark green    */ PALETTERGB(0, 136, 0),
	 /* dark blue	  */ PALETTERGB(0, 0, 136),
	 /* dark cyan	  */ PALETTERGB(0, 136, 136),
	 /* dark yellow   */ PALETTERGB(136, 136, 0),
	 /* dark magenta  */ PALETTERGB(136, 0, 136),
	PALETTERGB(0xfd, 0xfd, 0xfd),
	PALETTERGB(0xec, 0xec, 0xec),
	PALETTERGB(0xdb, 0xdb, 0xdb),
	PALETTERGB(0xca, 0xca, 0xca),
	PALETTERGB(0xb9, 0xb9, 0xb9),
	PALETTERGB(0xa8, 0xa8, 0xa8),
	PALETTERGB(0x97, 0x97, 0x97),
	PALETTERGB(0x87, 0x87, 0x87),
	PALETTERGB(0x76, 0x76, 0x76),
	PALETTERGB(0x65, 0x65, 0x65),
	PALETTERGB(0x54, 0x54, 0x54),
	PALETTERGB(0x43, 0x43, 0x43),
	PALETTERGB(0x32, 0x32, 0x32),
	PALETTERGB(0x21, 0x21, 0x21),
	PALETTERGB(0x10, 0x10, 0x10),
	PALETTERGB(0x00, 0x00, 0x00),
	PALETTERGB(0xfd, 0x00, 0x00),
	PALETTERGB(0xfd, 0x00, 0x10),
	PALETTERGB(0xfd, 0x00, 0x21),
	PALETTERGB(0xfd, 0x00, 0x32),
	PALETTERGB(0xfd, 0x00, 0x43),
	PALETTERGB(0xfd, 0x00, 0x54),
	PALETTERGB(0xfd, 0x00, 0x65),
	PALETTERGB(0xfd, 0x00, 0x76),
	PALETTERGB(0xfd, 0x00, 0x87),
	PALETTERGB(0xfd, 0x00, 0x97),
	PALETTERGB(0xfd, 0x00, 0xa8),
	PALETTERGB(0xfd, 0x00, 0xb9),
	PALETTERGB(0xfd, 0x00, 0xca),
	PALETTERGB(0xfd, 0x00, 0xdb),
	PALETTERGB(0xfd, 0x00, 0xec),
	PALETTERGB(0xfd, 0x00, 0xfd),
	PALETTERGB(0xec, 0x00, 0xfd),
	PALETTERGB(0xdb, 0x00, 0xfd),
	PALETTERGB(0xca, 0x00, 0xfd),
	PALETTERGB(0xb9, 0x00, 0xfd),
	PALETTERGB(0xa8, 0x00, 0xfd),
	PALETTERGB(0x97, 0x00, 0xfd),
	PALETTERGB(0x87, 0x00, 0xfd),
	PALETTERGB(0x76, 0x00, 0xfd),
	PALETTERGB(0x65, 0x00, 0xfd),
	PALETTERGB(0x54, 0x00, 0xfd),
	PALETTERGB(0x43, 0x00, 0xfd),
	PALETTERGB(0x32, 0x00, 0xfd),
	PALETTERGB(0x21, 0x00, 0xfd),
	PALETTERGB(0x10, 0x00, 0xfd),
	PALETTERGB(0x00, 0x00, 0xfd),
	PALETTERGB(0x00, 0x10, 0xfd),
	PALETTERGB(0x00, 0x21, 0xfd),
	PALETTERGB(0x00, 0x32, 0xfd),
	PALETTERGB(0x00, 0x43, 0xfd),
	PALETTERGB(0x00, 0x54, 0xfd),
	PALETTERGB(0x00, 0x65, 0xfd),
	PALETTERGB(0x00, 0x76, 0xfd),
	PALETTERGB(0x00, 0x87, 0xfd),
	PALETTERGB(0x00, 0x97, 0xfd),
	PALETTERGB(0x00, 0xa8, 0xfd),
	PALETTERGB(0x00, 0xb9, 0xfd),
	PALETTERGB(0x00, 0xca, 0xfd),
	PALETTERGB(0x00, 0xdb, 0xfd),
	PALETTERGB(0x00, 0xec, 0xfd),
	PALETTERGB(0x00, 0xfd, 0xfd),
	PALETTERGB(0x00, 0xfd, 0xec),
	PALETTERGB(0x00, 0xfd, 0xdb),
	PALETTERGB(0x00, 0xfd, 0xca),
	PALETTERGB(0x00, 0xfd, 0xb9),
	PALETTERGB(0x00, 0xfd, 0xa8),
	PALETTERGB(0x00, 0xfd, 0x97),
	PALETTERGB(0x00, 0xfd, 0x87),
	PALETTERGB(0x00, 0xfd, 0x76),
	PALETTERGB(0x00, 0xfd, 0x65),
	PALETTERGB(0x00, 0xfd, 0x54),
	PALETTERGB(0x00, 0xfd, 0x43),
	PALETTERGB(0x00, 0xfd, 0x32),
	PALETTERGB(0x00, 0xfd, 0x21),
	PALETTERGB(0x00, 0xfd, 0x10),
	PALETTERGB(0x00, 0xfd, 0x00),
	PALETTERGB(0x10, 0xfd, 0x00),
	PALETTERGB(0x21, 0xfd, 0x00),
	PALETTERGB(0x32, 0xfd, 0x00),
	PALETTERGB(0x43, 0xfd, 0x00),
	PALETTERGB(0x54, 0xfd, 0x00),
	PALETTERGB(0x65, 0xfd, 0x00),
	PALETTERGB(0x76, 0xfd, 0x00),
	PALETTERGB(0x87, 0xfd, 0x00),
	PALETTERGB(0x97, 0xfd, 0x00),
	PALETTERGB(0xa8, 0xfd, 0x00),
	PALETTERGB(0xb9, 0xfd, 0x00),
	PALETTERGB(0xca, 0xfd, 0x00),
	PALETTERGB(0xdb, 0xfd, 0x00),
	PALETTERGB(0xec, 0xfd, 0x00),
	PALETTERGB(0xfd, 0xfd, 0x00),
	PALETTERGB(0xfd, 0xec, 0x00),
	PALETTERGB(0xfd, 0xdb, 0x00),
	PALETTERGB(0xfd, 0xca, 0x00),
	PALETTERGB(0xfd, 0xb9, 0x00),
	PALETTERGB(0xfd, 0xa8, 0x00),
	PALETTERGB(0xfd, 0x97, 0x00),
	PALETTERGB(0xfd, 0x87, 0x00),
	PALETTERGB(0xfd, 0x76, 0x00),
	PALETTERGB(0xfd, 0x65, 0x00),
	PALETTERGB(0xfd, 0x54, 0x00),
	PALETTERGB(0xfd, 0x43, 0x00),
	PALETTERGB(0xfd, 0x32, 0x00),
	PALETTERGB(0xfd, 0x21, 0x00),
	PALETTERGB(0xfd, 0x10, 0x00),
	PALETTERGB(0xb9, 0x00, 0x00),
	PALETTERGB(0xb9, 0x00, 0x10),
	PALETTERGB(0xb9, 0x00, 0x21),
	PALETTERGB(0xb9, 0x00, 0x32),
	PALETTERGB(0xb9, 0x00, 0x43),
	PALETTERGB(0xb9, 0x00, 0x54),
	PALETTERGB(0xb9, 0x00, 0x65),
	PALETTERGB(0xb9, 0x00, 0x76),
	PALETTERGB(0xb9, 0x00, 0x87),
	PALETTERGB(0xb9, 0x00, 0x97),
	PALETTERGB(0xb9, 0x00, 0xa8),
	PALETTERGB(0xb9, 0x00, 0xb9),
	PALETTERGB(0xa8, 0x00, 0xb9),
	PALETTERGB(0x97, 0x00, 0xb9),
	PALETTERGB(0x87, 0x00, 0xb9),
	PALETTERGB(0x76, 0x00, 0xb9),
	PALETTERGB(0x65, 0x00, 0xb9),
	PALETTERGB(0x54, 0x00, 0xb9),
	PALETTERGB(0x43, 0x00, 0xb9),
	PALETTERGB(0x32, 0x00, 0xb9),
	PALETTERGB(0x21, 0x00, 0xb9),
	PALETTERGB(0x10, 0x00, 0xb9),
	PALETTERGB(0x00, 0x00, 0xb9),
	PALETTERGB(0x00, 0x10, 0xb9),
	PALETTERGB(0x00, 0x21, 0xb9),
	PALETTERGB(0x00, 0x32, 0xb9),
	PALETTERGB(0x00, 0x43, 0xb9),
	PALETTERGB(0x00, 0x54, 0xb9),
	PALETTERGB(0x00, 0x65, 0xb9),
	PALETTERGB(0x00, 0x76, 0xb9),
	PALETTERGB(0x00, 0x87, 0xb9),
	PALETTERGB(0x00, 0x97, 0xb9),
	PALETTERGB(0x00, 0xa8, 0xb9),
	PALETTERGB(0x00, 0xb9, 0xb9),
	PALETTERGB(0x00, 0xb9, 0xa8),
	PALETTERGB(0x00, 0xb9, 0x97),
	PALETTERGB(0x00, 0xb9, 0x87),
	PALETTERGB(0x00, 0xb9, 0x76),
	PALETTERGB(0x00, 0xb9, 0x65),
	PALETTERGB(0x00, 0xb9, 0x54),
	PALETTERGB(0x00, 0xb9, 0x43),
	PALETTERGB(0x00, 0xb9, 0x32),
	PALETTERGB(0x00, 0xb9, 0x21),
	PALETTERGB(0x00, 0xb9, 0x10),
	PALETTERGB(0x00, 0xb9, 0x00),
	PALETTERGB(0x10, 0xb9, 0x00),
	PALETTERGB(0x21, 0xb9, 0x00),
	PALETTERGB(0x32, 0xb9, 0x00),
	PALETTERGB(0x43, 0xb9, 0x00),
	PALETTERGB(0x54, 0xb9, 0x00),
	PALETTERGB(0x65, 0xb9, 0x00),
	PALETTERGB(0x76, 0xb9, 0x00),
	PALETTERGB(0x87, 0xb9, 0x00),
	PALETTERGB(0x97, 0xb9, 0x00),
	PALETTERGB(0xa8, 0xb9, 0x00),
	PALETTERGB(0xb9, 0xb9, 0x00),
	PALETTERGB(0xb9, 0xa8, 0x00),
	PALETTERGB(0xb9, 0x97, 0x00),
	PALETTERGB(0xb9, 0x87, 0x00),
	PALETTERGB(0xb9, 0x76, 0x00),
	PALETTERGB(0xb9, 0x65, 0x00),
	PALETTERGB(0xb9, 0x54, 0x00),
	PALETTERGB(0xb9, 0x43, 0x00),
	PALETTERGB(0xb9, 0x32, 0x00),
	PALETTERGB(0xb9, 0x21, 0x00),
	PALETTERGB(0xb9, 0x10, 0x00),
	PALETTERGB(0x76, 0x00, 0x00),
	PALETTERGB(0x76, 0x00, 0x10),
	PALETTERGB(0x76, 0x00, 0x21),
	PALETTERGB(0x76, 0x00, 0x32),
	PALETTERGB(0x76, 0x00, 0x43),
	PALETTERGB(0x76, 0x00, 0x54),
	PALETTERGB(0x76, 0x00, 0x65),
	PALETTERGB(0x76, 0x00, 0x76),
	PALETTERGB(0x65, 0x00, 0x76),
	PALETTERGB(0x54, 0x00, 0x76),
	PALETTERGB(0x43, 0x00, 0x76),
	PALETTERGB(0x32, 0x00, 0x76),
	PALETTERGB(0x21, 0x00, 0x76),
	PALETTERGB(0x10, 0x00, 0x76),
	PALETTERGB(0x00, 0x00, 0x76),
	PALETTERGB(0x00, 0x10, 0x76),
	PALETTERGB(0x00, 0x21, 0x76),
	PALETTERGB(0x00, 0x32, 0x76),
	PALETTERGB(0x00, 0x43, 0x76),
	PALETTERGB(0x00, 0x54, 0x76),
	PALETTERGB(0x00, 0x65, 0x76),
	PALETTERGB(0x00, 0x76, 0x76),
	PALETTERGB(0x00, 0x76, 0x65),
	PALETTERGB(0x00, 0x76, 0x54),
	PALETTERGB(0x00, 0x76, 0x43),
	PALETTERGB(0x00, 0x76, 0x32),
	PALETTERGB(0x00, 0x76, 0x21),
	PALETTERGB(0x00, 0x76, 0x10),
	PALETTERGB(0x00, 0x76, 0x00),
	PALETTERGB(0x10, 0x76, 0x00),
	PALETTERGB(0x21, 0x76, 0x00),
	PALETTERGB(0x32, 0x76, 0x00),
	PALETTERGB(0x43, 0x76, 0x00),
	PALETTERGB(0x54, 0x76, 0x00),
	PALETTERGB(0x65, 0x76, 0x00),
	PALETTERGB(0x76, 0x76, 0x00),
	PALETTERGB(0x76, 0x65, 0x00),
	PALETTERGB(0x76, 0x54, 0x00),
	PALETTERGB(0x76, 0x43, 0x00),
	PALETTERGB(0x76, 0x32, 0x00),
	PALETTERGB(0x76, 0x21, 0x00),
	PALETTERGB(0x76, 0x10, 0x00),
	PALETTERGB(0x43, 0x00, 0x00),
	PALETTERGB(0x43, 0x00, 0x10),
	PALETTERGB(0x43, 0x00, 0x21),
	PALETTERGB(0x43, 0x00, 0x32),
	PALETTERGB(0x43, 0x00, 0x43),
	PALETTERGB(0x32, 0x00, 0x43),
	PALETTERGB(0x21, 0x00, 0x43),
	PALETTERGB(0x10, 0x00, 0x43),
	PALETTERGB(0x00, 0x00, 0x43),
	PALETTERGB(0x00, 0x10, 0x43),
	PALETTERGB(0x00, 0x21, 0x43),
	PALETTERGB(0x00, 0x32, 0x43),
	PALETTERGB(0x00, 0x43, 0x43),
	PALETTERGB(0x00, 0x43, 0x32),
	PALETTERGB(0x00, 0x43, 0x21),
	PALETTERGB(0x00, 0x43, 0x10),
	PALETTERGB(0x00, 0x43, 0x00),
	PALETTERGB(0x10, 0x43, 0x00),
	PALETTERGB(0x21, 0x43, 0x00),
	PALETTERGB(0x32, 0x43, 0x00),
	PALETTERGB(0x43, 0x43, 0x00),
	PALETTERGB(0x43, 0x32, 0x00),
	PALETTERGB(0x43, 0x21, 0x00),
	PALETTERGB(0x43, 0x10, 0x00),
	PALETTERGB(0xfd, 0xfd, 0xfd),
	PALETTERGB(0x00, 0x00, 0x00)
};

/******************************************************************************/
/*** ---------------------------------------------------------------------- ***/
/******************************************************************************/

void hv_init(void)
{
	char *skin;
	
	/* load toolbar/skin */
	skin = gl_profile.viewer.skin_path;
	if (!empty(skin))
	{
	}

	/* load markers */
	MarkerInit();
	RecentInit();
	w_init_brush();
}	

/*** ---------------------------------------------------------------------- ***/

void hv_exit(void)
{
	MarkerSaveToDisk(gl_profile.viewer.marken_save_ask);
	/* RecentSaveToDisk(); */
	RecentExit();
	w_exit_brush();
}
