// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __java_awt_color_ColorSpace__
#define __java_awt_color_ColorSpace__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>

extern "Java"
{
  namespace java
  {
    namespace awt
    {
      namespace color
      {
        class ColorSpace;
      }
    }
  }
};

class ::java::awt::color::ColorSpace : public ::java::lang::Object
{
public:  // actually protected
  ColorSpace (jint, jint);
public:
  static ::java::awt::color::ColorSpace *getInstance (jint);
  virtual jboolean isCS_sRGB ();
  virtual jfloatArray toRGB (jfloatArray) = 0;
  virtual jfloatArray fromRGB (jfloatArray) = 0;
  virtual jfloatArray toCIEXYZ (jfloatArray) = 0;
  virtual jfloatArray fromCIEXYZ (jfloatArray) = 0;
  virtual jint getType () { return type; }
  virtual jint getNumComponents () { return numComponents; }
  virtual ::java::lang::String *getName (jint);
  virtual jfloat getMinValue (jint);
  virtual jfloat getMaxValue (jint);
private:
  static const jlong serialVersionUID = -409452704308689724LL;
public:
  static const jint TYPE_XYZ = 0L;
  static const jint TYPE_Lab = 1L;
  static const jint TYPE_Luv = 2L;
  static const jint TYPE_YCbCr = 3L;
  static const jint TYPE_Yxy = 4L;
  static const jint TYPE_RGB = 5L;
  static const jint TYPE_GRAY = 6L;
  static const jint TYPE_HSV = 7L;
  static const jint TYPE_HLS = 8L;
  static const jint TYPE_CMYK = 9L;
  static const jint TYPE_CMY = 11L;
  static const jint TYPE_2CLR = 12L;
  static const jint TYPE_3CLR = 13L;
  static const jint TYPE_4CLR = 14L;
  static const jint TYPE_5CLR = 15L;
  static const jint TYPE_6CLR = 16L;
  static const jint TYPE_7CLR = 17L;
  static const jint TYPE_8CLR = 18L;
  static const jint TYPE_9CLR = 19L;
  static const jint TYPE_ACLR = 20L;
  static const jint TYPE_BCLR = 21L;
  static const jint TYPE_CCLR = 22L;
  static const jint TYPE_DCLR = 23L;
  static const jint TYPE_ECLR = 24L;
  static const jint TYPE_FCLR = 25L;
  static const jint CS_sRGB = 1000L;
  static const jint CS_LINEAR_RGB = 1004L;
  static const jint CS_CIEXYZ = 1001L;
  static const jint CS_PYCC = 1002L;
  static const jint CS_GRAY = 1003L;
private:
  static const jint CS_BASE = 1000L;
  static const jint CS_END = 1005L;
  static const jint CS_COUNT = 5L;
  static JArray< ::java::awt::color::ColorSpace *> *INSTANCES;
public: // actually package-private
  jint __attribute__((aligned(__alignof__( ::java::lang::Object ))))  type;
  jint numComponents;
public:

  static ::java::lang::Class class$;
};

#endif /* __java_awt_color_ColorSpace__ */
