    FOREIGN MODULE sun_awt_color;

    IMPORT
        java_lang,
        java_awt_color,
        java_awt_image,
        java_io,
        java_util;

    TYPE

      CMM* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
             STATIC
               PROCEDURE Init*() : CMM,CONSTRUCTOR;
               PROCEDURE checkStatus*(p0 : INTEGER);
               PROCEDURE cmmColorConvert*(p0 : LONGINT;
                                          p1 : CMMImageLayout;
                                          p2 : CMMImageLayout) : INTEGER;
               PROCEDURE cmmCombineTransforms*(IN  p0 : ARRAY OF LONGINT;
                                                   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;
             END;

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

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

      ProfileDeferralInfo* = POINTER TO EXTENSIBLE RECORD (java_io.InputStream)
                               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 Init*() : ProfileDeferralMgr,CONSTRUCTOR;
                              PROCEDURE activateProfiles*();
                              PROCEDURE registerDeferral*(p0 : ProfileActivator);
                              PROCEDURE unregisterDeferral*(p0 : ProfileActivator);
                            END;

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

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

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

    PROCEDURE (self:ICC_Transform) colorConvert*(p0 : java_awt_image.Raster;
                                                 p1 : java_awt_image.WritableRaster),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) 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.