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.