
// 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 gnu
  {
    namespace java
    {
      namespace awt
      {
        namespace color
        {
            class ProfileHeader;
        }
      }
    }
  }
  namespace java
  {
    namespace awt
    {
      namespace color
      {
          class ICC_Profile;
      }
    }
  }
}

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(JArray< jbyte > *);
public: // actually protected
  virtual void finalize();
public:
  static ::java::awt::color::ICC_Profile * getInstance(JArray< jbyte > *);
  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 JArray< jbyte > * getData();
  virtual JArray< jbyte > * getData(jint);
  virtual void setData(jint, JArray< jbyte > *);
  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(JArray< jbyte > *);
  jint getSize();
  JArray< jbyte > * 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 JArray< jshort > * getCurve(jint);
  virtual JArray< jfloat > * getXYZData(jint);
  virtual jint isPredefined();
private:
  JArray< jbyte > * makeXYZData(JArray< jfloat > *);
  JArray< jbyte > * makeTextTag(::java::lang::String *);
  JArray< jbyte > * makeDescTag(::java::lang::String *);
  JArray< jbyte > * makeTRC();
  JArray< jbyte > * makeTRC(jfloat);
  JArray< jbyte > * makeTRC(JArray< jfloat > *);
  JArray< jbyte > * 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 = 0;
  static const jint CLASS_DISPLAY = 1;
  static const jint CLASS_OUTPUT = 2;
  static const jint CLASS_DEVICELINK = 3;
  static const jint CLASS_COLORSPACECONVERSION = 4;
  static const jint CLASS_ABSTRACT = 5;
  static const jint CLASS_NAMEDCOLOR = 6;
  static const jint icSigInputClass = 1935896178;
  static const jint icSigDisplayClass = 1835955314;
  static const jint icSigOutputClass = 1886549106;
  static const jint icSigLinkClass = 1818848875;
  static const jint icSigColorSpaceClass = 1936744803;
  static const jint icSigAbstractClass = 1633842036;
  static const jint icSigNamedColorClass = 1852662636;
  static const jint icSigXYZData = 1482250784;
  static const jint icSigLabData = 1281450528;
  static const jint icSigLuvData = 1282766368;
  static const jint icSigYCbCrData = 1497588338;
  static const jint icSigYxyData = 1501067552;
  static const jint icSigRgbData = 1380401696;
  static const jint icSigGrayData = 1196573017;
  static const jint icSigHsvData = 1213421088;
  static const jint icSigHlsData = 1212961568;
  static const jint icSigCmykData = 1129142603;
  static const jint icSigCmyData = 1129142560;
  static const jint icSigSpace2CLR = 843271250;
  static const jint icSigSpace3CLR = 860048466;
  static const jint icSigSpace4CLR = 876825682;
  static const jint icSigSpace5CLR = 893602898;
  static const jint icSigSpace6CLR = 910380114;
  static const jint icSigSpace7CLR = 927157330;
  static const jint icSigSpace8CLR = 943934546;
  static const jint icSigSpace9CLR = 960711762;
  static const jint icSigSpaceACLR = 1094929490;
  static const jint icSigSpaceBCLR = 1111706706;
  static const jint icSigSpaceCCLR = 1128483922;
  static const jint icSigSpaceDCLR = 1145261138;
  static const jint icSigSpaceECLR = 1162038354;
  static const jint icSigSpaceFCLR = 1178815570;
  static const jint icPerceptual = 0;
  static const jint icRelativeColorimetric = 1;
  static const jint icSaturation = 2;
  static const jint icAbsoluteColorimetric = 3;
  static const jint icSigAToB0Tag = 1093812784;
  static const jint icSigAToB1Tag = 1093812785;
  static const jint icSigAToB2Tag = 1093812786;
  static const jint icSigBlueColorantTag = 1649957210;
  static const jint icSigBlueTRCTag = 1649693251;
  static const jint icSigBToA0Tag = 1110589744;
  static const jint icSigBToA1Tag = 1110589745;
  static const jint icSigBToA2Tag = 1110589746;
  static const jint icSigCalibrationDateTimeTag = 1667329140;
  static const jint icSigCharTargetTag = 1952543335;
  static const jint icSigCopyrightTag = 1668313716;
  static const jint icSigCrdInfoTag = 1668441193;
  static const jint icSigDeviceMfgDescTag = 1684893284;
  static const jint icSigDeviceModelDescTag = 1684890724;
  static const jint icSigDeviceSettingsTag = 1684371059;
  static const jint icSigGamutTag = 1734438260;
  static const jint icSigGrayTRCTag = 1800688195;
  static const jint icSigGreenColorantTag = 1733843290;
  static const jint icSigGreenTRCTag = 1733579331;
  static const jint icSigLuminanceTag = 1819635049;
  static const jint icSigMeasurementTag = 1835360627;
  static const jint icSigMediaBlackPointTag = 1651208308;
  static const jint icSigMediaWhitePointTag = 2004119668;
  static const jint icSigNamedColor2Tag = 1852009522;
  static const jint icSigOutputResponseTag = 1919251312;
  static const jint icSigPreview0Tag = 1886545200;
  static const jint icSigPreview1Tag = 1886545201;
  static const jint icSigPreview2Tag = 1886545202;
  static const jint icSigProfileDescriptionTag = 1684370275;
  static const jint icSigProfileSequenceDescTag = 1886610801;
  static const jint icSigPs2CRD0Tag = 1886610480;
  static const jint icSigPs2CRD1Tag = 1886610481;
  static const jint icSigPs2CRD2Tag = 1886610482;
  static const jint icSigPs2CRD3Tag = 1886610483;
  static const jint icSigPs2CSATag = 1886597747;
  static const jint icSigPs2RenderingIntentTag = 1886597737;
  static const jint icSigRedColorantTag = 1918392666;
  static const jint icSigRedTRCTag = 1918128707;
  static const jint icSigScreeningDescTag = 1935897188;
  static const jint icSigScreeningTag = 1935897198;
  static const jint icSigTechnologyTag = 1952801640;
  static const jint icSigUcrBgTag = 1650877472;
  static const jint icSigViewingCondDescTag = 1987405156;
  static const jint icSigViewingConditionsTag = 1986618743;
  static const jint icSigChromaticityTag = 1667789421;
  static const jint icSigHead = 1751474532;
  static const jint icHdrSize = 0;
  static const jint icHdrCmmId = 4;
  static const jint icHdrVersion = 8;
  static const jint icHdrDeviceClass = 12;
  static const jint icHdrColorSpace = 16;
  static const jint icHdrPcs = 20;
  static const jint icHdrDate = 24;
  static const jint icHdrMagic = 36;
  static const jint icHdrPlatform = 40;
  static const jint icHdrFlags = 44;
  static const jint icHdrManufacturer = 48;
  static const jint icHdrModel = 52;
  static const jint icHdrAttributes = 56;
  static const jint icHdrRenderingIntent = 64;
  static const jint icHdrIlluminant = 68;
  static const jint icHdrCreator = 80;
  static const jint icTagType = 0;
  static const jint icTagReserved = 4;
  static const jint icCurveCount = 8;
  static const jint icCurveData = 12;
  static const jint icXYZNumberX = 8;
private:
  static const jint tagTableOffset = 128;
  static const jint iccProfileSerializedDataVersion = 1;
  static ::java::lang::String * copyrightNotice;
  static const jint TRC_POINTS = 1024;
  static JArray< jfloat > * 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__
