// C++ code Copyright (C) David R. Evans G4AMJ/NQ0I

#ifndef COLOURH
#define COLOURH

#include <defines.h>

#include <window.h>

extern "C" {
extern int pw_setcmsname(...);
};

class colour
{ friend class colourmap;
  byte red, green, blue;

public:
  colour(byte, byte, byte);
  friend void set_colour(colourmap&, int, colour);
};

class colourmap
{ Pixwin* pw;
  DREstring cms_name;

  colourmap(Window&, DREstring&, int);

public:
  colourmap(window& w, DREstring& s, int i) { *this = colourmap(w.w, s, i); }
  colourmap(frame& f, DREstring& s, int i) { *this = colourmap(f.w, s, i); }
  colourmap(DREstring&);
  colourmap(void);
  colourmap(Pixwin*, DREstring&, int);
//  void operator=(colourmap&);
  void operator<<(Pixwin*);
  friend void set_colour(colourmap&, int, colour);
};

#endif
