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

#ifndef __java_awt_color_ICC_Profile__
#define __java_awt_color_ICC_Profile__

#pragma interface

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

extern "Java"
{
  namespace java
  {
    namespace awt
    {
      namespace color
      {
        class ICC_Profile;
      }
    }
  }
  namespace gnu
  {
    namespace java
    {
      namespace awt
      {
        namespace color
        {
          class ProfileHeader;
        }
      }
    }
  }
}

class java::awt::color::ICC_Profile : public ::java::lang::Object
{
public: // actually package-private
  ICC_Profile (jint);
  ICC_Profile (::gnu::java::awt::color::ProfileHeader *, ::java::util::Hashtable *);
  ICC_Profile (jbyteArray);
public:  // actually protected
  virtual void finalize () { }
public:
  static ::java::awt::color::ICC_Profile *getInstance (jbyteArray);
  static ::java::awt::color::ICC_Profile *getInstance (jint);
  static ::java::awt::color::ICC_Profile *getInstance (::java::lang::String *);
  static ::java::awt::color::ICC_Profile *getInstance (::java::io::InputStream *);
  virtual jint getMajorVersion ();
  virtual jint getMinorVersion ();
  virtual jint getProfileClass ();
  virtual jint getColorSpaceType ();
  virtual jint getPCSType ();
  virtual void write (::java::lang::String *);
  virtual void write (::java::io::OutputStream *);
  virtual jbyteArray getData ();
  virtual jbyteArray getData (jint);
  virtual void setData (jint, jbyteArray);
  virtual jint getNumComponents ();
public:  // actually protected
  virtual ::java::lang::Object *readResolve ();
private:
  void readObject (::java::io::ObjectInputStream *);
  void writeObject (::java::io::ObjectOutputStream *);
  static ::java::util::Hashtable *createTagTable (jbyteArray);
  jint getSize ();
  jbyteArray getTagTable ();
  static jboolean isRGBProfile (::gnu::java::awt::color::ProfileHeader *, ::java::util::Hashtable *);
  static jboolean isGrayProfile (::gnu::java::awt::color::ProfileHeader *, ::java::util::Hashtable *);
public: // actually package-private
  virtual jshortArray getCurve (jint);
  virtual jfloatArray getXYZData (jint);
  virtual jint isPredefined () { return profileID; }
private:
  jbyteArray makeXYZData (jfloatArray);
  jbyteArray makeTextTag (::java::lang::String *);
  jbyteArray makeDescTag (::java::lang::String *);
  jbyteArray makeTRC ();
  jbyteArray makeTRC (jfloat);
  jbyteArray makeTRC (jfloatArray);
  jbyteArray makeIdentityClut ();
  void createProfile (jint);
  void createRGBProfile ();
  void createLinearRGBProfile ();
  void createCIEProfile ();
  void createGrayProfile ();
  void createPyccProfile ();
  static const jlong serialVersionUID = -3938515861990936766LL;
public:
  static const jint CLASS_INPUT = 0L;
  static const jint CLASS_DISPLAY = 1L;
  static const jint CLASS_OUTPUT = 2L;
  static const jint CLASS_DEVICELINK = 3L;
  static const jint CLASS_COLORSPACECONVERSION = 4L;
  static const jint CLASS_ABSTRACT = 5L;
  static const jint CLASS_NAMEDCOLOR = 6L;
  static const jint icSigInputClass = 1935896178L;
  static const jint icSigDisplayClass = 1835955314L;
  static const jint icSigOutputClass = 1886549106L;
  static const jint icSigLinkClass = 1818848875L;
  static const jint icSigColorSpaceClass = 1936744803L;
  static const jint icSigAbstractClass = 1633842036L;
  static const jint icSigNamedColorClass = 1852662636L;
  static const jint icSigXYZData = 1482250784L;
  static const jint icSigLabData = 1281450528L;
  static const jint icSigLuvData = 1282766368L;
  static const jint icSigYCbCrData = 1497588338L;
  static const jint icSigYxyData = 1501067552L;
  static const jint icSigRgbData = 1380401696L;
  static const jint icSigGrayData = 1196573017L;
  static const jint icSigHsvData = 1213421088L;
  static const jint icSigHlsData = 1212961568L;
  static const jint icSigCmykData = 1129142603L;
  static const jint icSigCmyData = 1129142560L;
  static const jint icSigSpace2CLR = 843271250L;
  static const jint icSigSpace3CLR = 860048466L;
  static const jint icSigSpace4CLR = 876825682L;
  static const jint icSigSpace5CLR = 893602898L;
  static const jint icSigSpace6CLR = 910380114L;
  static const jint icSigSpace7CLR = 927157330L;
  static const jint icSigSpace8CLR = 943934546L;
  static const jint icSigSpace9CLR = 960711762L;
  static const jint icSigSpaceACLR = 1094929490L;
  static const jint icSigSpaceBCLR = 1111706706L;
  static const jint icSigSpaceCCLR = 1128483922L;
  static const jint icSigSpaceDCLR = 1145261138L;
  static const jint icSigSpaceECLR = 1162038354L;
  static const jint icSigSpaceFCLR = 1178815570L;
  static const jint icPerceptual = 0L;
  static const jint icRelativeColorimetric = 1L;
  static const jint icSaturation = 2L;
  static const jint icAbsoluteColorimetric = 3L;
  static const jint icSigAToB0Tag = 1093812784L;
  static const jint icSigAToB1Tag = 1093812785L;
  static const jint icSigAToB2Tag = 1093812786L;
  static const jint icSigBlueColorantTag = 1649957210L;
  static const jint icSigBlueTRCTag = 1649693251L;
  static const jint icSigBToA0Tag = 1110589744L;
  static const jint icSigBToA1Tag = 1110589745L;
  static const jint icSigBToA2Tag = 1110589746L;
  static const jint icSigCalibrationDateTimeTag = 1667329140L;
  static const jint icSigCharTargetTag = 1952543335L;
  static const jint icSigCopyrightTag = 1668313716L;
  static const jint icSigCrdInfoTag = 1668441193L;
  static const jint icSigDeviceMfgDescTag = 1684893284L;
  static const jint icSigDeviceModelDescTag = 1684890724L;
  static const jint icSigDeviceSettingsTag = 1684371059L;
  static const jint icSigGamutTag = 1734438260L;
  static const jint icSigGrayTRCTag = 1800688195L;
  static const jint icSigGreenColorantTag = 1733843290L;
  static const jint icSigGreenTRCTag = 1733579331L;
  static const jint icSigLuminanceTag = 1819635049L;
  static const jint icSigMeasurementTag = 1835360627L;
  static const jint icSigMediaBlackPointTag = 1651208308L;
  static const jint icSigMediaWhitePointTag = 2004119668L;
  static const jint icSigNamedColor2Tag = 1852009522L;
  static const jint icSigOutputResponseTag = 1919251312L;
  static const jint icSigPreview0Tag = 1886545200L;
  static const jint icSigPreview1Tag = 1886545201L;
  static const jint icSigPreview2Tag = 1886545202L;
  static const jint icSigProfileDescriptionTag = 1684370275L;
  static const jint icSigProfileSequenceDescTag = 1886610801L;
  static const jint icSigPs2CRD0Tag = 1886610480L;
  static const jint icSigPs2CRD1Tag = 1886610481L;
  static const jint icSigPs2CRD2Tag = 1886610482L;
  static const jint icSigPs2CRD3Tag = 1886610483L;
  static const jint icSigPs2CSATag = 1886597747L;
  static const jint icSigPs2RenderingIntentTag = 1886597737L;
  static const jint icSigRedColorantTag = 1918392666L;
  static const jint icSigRedTRCTag = 1918128707L;
  static const jint icSigScreeningDescTag = 1935897188L;
  static const jint icSigScreeningTag = 1935897198L;
  static const jint icSigTechnologyTag = 1952801640L;
  static const jint icSigUcrBgTag = 1650877472L;
  static const jint icSigViewingCondDescTag = 1987405156L;
  static const jint icSigViewingConditionsTag = 1986618743L;
  static const jint icSigChromaticityTag = 1667789421L;
  static const jint icSigHead = 1751474532L;
  static const jint icHdrSize = 0L;
  static const jint icHdrCmmId = 4L;
  static const jint icHdrVersion = 8L;
  static const jint icHdrDeviceClass = 12L;
  static const jint icHdrColorSpace = 16L;
  static const jint icHdrPcs = 20L;
  static const jint icHdrDate = 24L;
  static const jint icHdrMagic = 36L;
  static const jint icHdrPlatform = 40L;
  static const jint icHdrFlags = 44L;
  static const jint icHdrManufacturer = 48L;
  static const jint icHdrModel = 52L;
  static const jint icHdrAttributes = 56L;
  static const jint icHdrRenderingIntent = 64L;
  static const jint icHdrIlluminant = 68L;
  static const jint icHdrCreator = 80L;
  static const jint icTagType = 0L;
  static const jint icTagReserved = 4L;
  static const jint icCurveCount = 8L;
  static const jint icCurveData = 12L;
  static const jint icXYZNumberX = 8L;
private:
  static const jint tagTableOffset = 128L;
  static const jint iccProfileSerializedDataVersion = 1L;
  static ::java::lang::String *copyrightNotice;
  static const jint TRC_POINTS = 1024L;
  static jfloatArray D50;
  jint __attribute__((aligned(__alignof__( ::java::lang::Object ))))  profileID;
  ::gnu::java::awt::color::ProfileHeader *header;
  ::java::util::Hashtable *tagTable;
public:

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

#endif /* __java_awt_color_ICC_Profile__ */
