FOREIGN MODULE sun_awt_color;

IMPORT
    java_awt_color := "java.awt.color",
    java_lang := "java.lang",
    java_awt_image := "java.awt.image",
    java_io := "java.io",
    java_util := "java.util";

TYPE

  CMM* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
         STATIC
           PROCEDURE checkStatus*(p0 : INTEGER);
           PROCEDURE cmmColorConvert*(p0 : LONGINT;
                                      p1 : CMMImageLayout;
                                      p2 : CMMImageLayout) : INTEGER;
           PROCEDURE cmmCombineTransforms*(IN  p0 : ARRAY OF ICC_Transform;
                                               p1 : ICC_Transform) : INTEGER;
           PROCEDURE cmmCullICC_Profiles*(IN  p0 : ARRAY OF BYTE;
                                          IN  p1 : ARRAY OF BYTE;
                                          IN  p2 : ARRAY OF LONGINT;
                                          IN  p3 : ARRAY OF LONGINT;
                                          IN  p4 : ARRAY OF INTEGER) : INTEGER;
           PROCEDURE cmmFindICC_Profiles*(IN  p0 : ARRAY OF BYTE;
                                          IN  p1 : ARRAY OF BYTE;
                                              p2 : java_lang.String;
                                          IN  p3 : ARRAY OF LONGINT;
                                          IN  p4 : ARRAY OF INTEGER) : INTEGER;
           PROCEDURE cmmFreeProfile*(p0 : LONGINT) : INTEGER;
           PROCEDURE cmmFreeTransform*(p0 : LONGINT) : INTEGER;
           PROCEDURE cmmGetNumComponents*(    p0 : LONGINT;
                                          IN  p1 : ARRAY OF INTEGER) : INTEGER;
           PROCEDURE cmmGetProfileData*(    p0 : LONGINT;
                                        IN  p1 : ARRAY OF BYTE) : INTEGER;
           PROCEDURE cmmGetProfileSize*(    p0 : LONGINT;
                                        IN  p1 : ARRAY OF INTEGER) : INTEGER;
           PROCEDURE cmmGetTagData*(    p0 : LONGINT;
                                        p1 : INTEGER;
                                    IN  p2 : ARRAY OF BYTE) : INTEGER;
           PROCEDURE cmmGetTagSize*(    p0 : LONGINT;
                                        p1 : INTEGER;
                                    IN  p2 : ARRAY OF INTEGER) : INTEGER;
           PROCEDURE cmmGetTransform*(p0 : java_awt_color.ICC_Profile;
                                      p1 : INTEGER;
                                      p2 : INTEGER;
                                      p3 : ICC_Transform) : INTEGER;
           PROCEDURE cmmLoadProfile*(IN  p0 : ARRAY OF BYTE;
                                     IN  p1 : ARRAY OF LONGINT) : INTEGER;
           PROCEDURE cmmSetTagData*(    p0 : LONGINT;
                                        p1 : INTEGER;
                                    IN  p2 : ARRAY OF BYTE) : INTEGER;
           PROCEDURE Init*() : CMM,CONSTRUCTOR;
         END;

  CMM$CSAccessor* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                    STATIC
                      GRAYspace*       : java_awt_color.ColorSpace;
                      LINEAR_RGBspace* : java_awt_color.ColorSpace;
                      PROCEDURE Init*() : CMM$CSAccessor,CONSTRUCTOR;
                    END;

  ICC_Transform* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                   STATIC
                     Any*        = -1;
                     Gamut*      = 3;
                     In*         = 1;
                     Out*        = 2;
                     Simulation* = 4;
                     PROCEDURE Init*(IN  p0 : ARRAY OF ICC_Transform) : ICC_Transform,CONSTRUCTOR;
                     PROCEDURE Init*(p0 : java_awt_color.ICC_Profile;
                                     p1 : INTEGER;
                                     p2 : INTEGER) : ICC_Transform,CONSTRUCTOR;
                     PROCEDURE Init*() : ICC_Transform,CONSTRUCTOR;
                   END;

  ProfileActivator* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
                      END;

  ProfileDeferralInfo* = POINTER TO EXTENSIBLE RECORD (java_io.InputStream)    (* Typebound Procedures *)
                           colorSpaceType* : INTEGER;
                           numComponents*  : INTEGER;
                           profileClass*   : INTEGER;
                           filename*       : java_lang.String;
                         STATIC
                           PROCEDURE Init*(p0 : java_lang.String;
                                           p1 : INTEGER;
                                           p2 : INTEGER;
                                           p3 : INTEGER) : ProfileDeferralInfo,CONSTRUCTOR;
                         END;

  ProfileDeferralMgr* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                        STATIC
                          deferring*          : BOOLEAN;
                          PROCEDURE activateProfiles*();
                          PROCEDURE Init*() : ProfileDeferralMgr,CONSTRUCTOR;
                          PROCEDURE registerDeferral*(p0 : ProfileActivator);
                          PROCEDURE unregisterDeferral*(p0 : ProfileActivator);
                        END;




PROCEDURE (self:CMM) finalize!(),EXTENSIBLE;

PROCEDURE (self:ICC_Transform) colorConvert*(p0 : java_awt_image.Raster;
                                             p1 : java_awt_image.WritableRaster),NEW,EXTENSIBLE;

PROCEDURE (self:ICC_Transform) colorConvert*(    p0 : java_awt_image.Raster;
                                                 p1 : java_awt_image.WritableRaster;
                                             IN  p2 : ARRAY OF SHORTREAL;
                                             IN  p3 : ARRAY OF SHORTREAL;
                                             IN  p4 : ARRAY OF SHORTREAL;
                                             IN  p5 : ARRAY OF SHORTREAL),NEW,EXTENSIBLE;

PROCEDURE (self:ICC_Transform) colorConvert*(IN  p0 : ARRAY OF BYTE;
                                             IN  p1 : ARRAY OF BYTE) : POINTER TO ARRAY OF BYTE,NEW,EXTENSIBLE;

PROCEDURE (self:ICC_Transform) colorConvert*(IN  p0 : ARRAY OF SHORTINT;
                                             IN  p1 : ARRAY OF SHORTINT) : POINTER TO ARRAY OF SHORTINT,NEW,EXTENSIBLE;

PROCEDURE (self:ICC_Transform) colorConvert*(p0 : java_awt_image.BufferedImage;
                                             p1 : java_awt_image.BufferedImage),NEW,EXTENSIBLE;

PROCEDURE (self:ICC_Transform) finalize*(),EXTENSIBLE;

PROCEDURE (self:ICC_Transform) getNumInComponents*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:ICC_Transform) getNumOutComponents*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:ProfileActivator) activate*(),NEW,ABSTRACT;

PROCEDURE (self:ProfileDeferralInfo) read*() : INTEGER,EXTENSIBLE;

END sun_awt_color.