FOREIGN MODULE sun_java2d_loops;

IMPORT
    sun_java2d := "sun.java2d",
    java_awt := "java.awt",
    sun_java2d_pipe := "sun.java2d.pipe",
    java_lang := "java.lang",
    java_util := "java.util",
    java_io := "java.io",
    java_lang_ref := "java.lang.ref",
    sun_font := "sun.font",
    java_awt_geom := "java.awt.geom",
    java_security := "java.security",
    sun_nio_ch := "sun.nio.ch",
    sun_misc := "sun.misc",
    java_awt_image := "java.awt.image",
    sun_awt_image := "sun.awt.image";

TYPE

  Blit* = POINTER TO EXTENSIBLE RECORD (GraphicsPrimitive)    (* Typebound Procedures *)
          STATIC
            methodSignature* : java_lang.String;
            primTypeID*      : INTEGER;
            PROCEDURE getFromCache*(p0 : SurfaceType;
                                    p1 : CompositeType;
                                    p2 : SurfaceType) : Blit;
            PROCEDURE Init*(p0 : LONGINT;
                            p1 : SurfaceType;
                            p2 : CompositeType;
                            p3 : SurfaceType) : Blit,CONSTRUCTOR;
            PROCEDURE Init!(p0 : SurfaceType;
                            p1 : CompositeType;
                            p2 : SurfaceType) : Blit,CONSTRUCTOR;
            PROCEDURE locate*(p0 : SurfaceType;
                              p1 : CompositeType;
                              p2 : SurfaceType) : Blit;
          END;

  BlitBg* = POINTER TO EXTENSIBLE RECORD (GraphicsPrimitive)    (* Typebound Procedures *)
            STATIC
              methodSignature* : java_lang.String;
              primTypeID*      : INTEGER;
              PROCEDURE getFromCache*(p0 : SurfaceType;
                                      p1 : CompositeType;
                                      p2 : SurfaceType) : BlitBg;
              PROCEDURE Init*(p0 : LONGINT;
                              p1 : SurfaceType;
                              p2 : CompositeType;
                              p3 : SurfaceType) : BlitBg,CONSTRUCTOR;
              PROCEDURE Init!(p0 : SurfaceType;
                              p1 : CompositeType;
                              p2 : SurfaceType) : BlitBg,CONSTRUCTOR;
              PROCEDURE locate*(p0 : SurfaceType;
                                p1 : CompositeType;
                                p2 : SurfaceType) : BlitBg;
            END;

  CompositeType* = POINTER TO RECORD (java_lang.Object)    (* Typebound Procedures *)
                   STATIC
                     AlphaXor*            : CompositeType;
                     Any*                 : CompositeType;
                     AnyAlpha*            : CompositeType;
                     Clear*               : CompositeType;
                     DESC_ALPHA_XOR*      = "Porter-Duff Xor";
                     DESC_ANY*            = "Any CompositeContext";
                     DESC_ANY_ALPHA*      = "Any AlphaComposite Rule";
                     DESC_CLEAR*          = "Porter-Duff Clear";
                     DESC_DST*            = "Porter-Duff Dst";
                     DESC_DST_ATOP*       = "Porter-Duff Dst Atop Src";
                     DESC_DST_IN*         = "Porter-Duff Dst In Src";
                     DESC_DST_OUT*        = "Porter-Duff Dst HeldOutBy Src";
                     DESC_DST_OVER*       = "Porter-Duff Dst Over Src";
                     DESC_SRC*            = "Porter-Duff Src";
                     DESC_SRC_ATOP*       = "Porter-Duff Src Atop Dst";
                     DESC_SRC_IN*         = "Porter-Duff Src In Dst";
                     DESC_SRC_NO_EA*      = "Porter-Duff Src, No Extra Alpha";
                     DESC_SRC_OUT*        = "Porter-Duff Src HeldOutBy Dst";
                     DESC_SRC_OVER*       = "Porter-Duff Src Over Dst";
                     DESC_SRC_OVER_NO_EA* = "Porter-Duff SrcOverDst, No Extra Alpha";
                     DESC_XOR*            = "XOR mode";
                     Dst*                 : CompositeType;
                     DstAtop*             : CompositeType;
                     DstIn*               : CompositeType;
                     DstOut*              : CompositeType;
                     DstOver*             : CompositeType;
                     General*             : CompositeType;
                     OpaqueSrcOverNoEa*   : CompositeType;
                     Src*                 : CompositeType;
                     SrcAtop*             : CompositeType;
                     SrcIn*               : CompositeType;
                     SrcNoEa*             : CompositeType;
                     SrcOut*              : CompositeType;
                     SrcOver*             : CompositeType;
                     SrcOverNoEa*         : CompositeType;
                     Xor*                 : CompositeType;
                     PROCEDURE forAlphaComposite*(p0 : java_awt.AlphaComposite) : CompositeType;
                     PROCEDURE makeUniqueID*(p0 : java_lang.String) : INTEGER;
                   END;

  CustomComponent* = POINTER TO RECORD (java_lang.Object)
                     STATIC
                       PROCEDURE getRegionOfInterest*(p0 : sun_java2d.SurfaceData;
                                                      p1 : sun_java2d.SurfaceData;
                                                      p2 : sun_java2d_pipe.Region;
                                                      p3 : INTEGER;
                                                      p4 : INTEGER;
                                                      p5 : INTEGER;
                                                      p6 : INTEGER;
                                                      p7 : INTEGER;
                                                      p8 : INTEGER) : sun_java2d_pipe.Region;
                       PROCEDURE Init*() : CustomComponent,CONSTRUCTOR;
                       PROCEDURE register*();
                     END;

  DrawGlyphList* = POINTER TO EXTENSIBLE RECORD (GraphicsPrimitive)    (* Typebound Procedures *)
                   STATIC
                     methodSignature* : java_lang.String;
                     primTypeID*      : INTEGER;
                     PROCEDURE Init*(p0 : LONGINT;
                                     p1 : SurfaceType;
                                     p2 : CompositeType;
                                     p3 : SurfaceType) : DrawGlyphList,CONSTRUCTOR;
                     PROCEDURE Init!(p0 : SurfaceType;
                                     p1 : CompositeType;
                                     p2 : SurfaceType) : DrawGlyphList,CONSTRUCTOR;
                     PROCEDURE locate*(p0 : SurfaceType;
                                       p1 : CompositeType;
                                       p2 : SurfaceType) : DrawGlyphList;
                   END;

  DrawGlyphListAA* = POINTER TO EXTENSIBLE RECORD (GraphicsPrimitive)    (* Typebound Procedures *)
                     STATIC
                       methodSignature* : java_lang.String;
                       primTypeID*      : INTEGER;
                       PROCEDURE Init*(p0 : LONGINT;
                                       p1 : SurfaceType;
                                       p2 : CompositeType;
                                       p3 : SurfaceType) : DrawGlyphListAA,CONSTRUCTOR;
                       PROCEDURE Init!(p0 : SurfaceType;
                                       p1 : CompositeType;
                                       p2 : SurfaceType) : DrawGlyphListAA,CONSTRUCTOR;
                       PROCEDURE locate*(p0 : SurfaceType;
                                         p1 : CompositeType;
                                         p2 : SurfaceType) : DrawGlyphListAA;
                     END;

  DrawGlyphListAA$General* = POINTER TO EXTENSIBLE RECORD (DrawGlyphListAA)    (* Typebound Procedures *)
                             STATIC
                               PROCEDURE Init*(p0 : SurfaceType;
                                               p1 : CompositeType;
                                               p2 : SurfaceType) : DrawGlyphListAA$General,CONSTRUCTOR;
                             END;

  DrawGlyphListLCD* = POINTER TO EXTENSIBLE RECORD (GraphicsPrimitive)    (* Typebound Procedures *)
                      STATIC
                        methodSignature* : java_lang.String;
                        primTypeID*      : INTEGER;
                        PROCEDURE Init*(p0 : LONGINT;
                                        p1 : SurfaceType;
                                        p2 : CompositeType;
                                        p3 : SurfaceType) : DrawGlyphListLCD,CONSTRUCTOR;
                        PROCEDURE Init!(p0 : SurfaceType;
                                        p1 : CompositeType;
                                        p2 : SurfaceType) : DrawGlyphListLCD,CONSTRUCTOR;
                        PROCEDURE locate*(p0 : SurfaceType;
                                          p1 : CompositeType;
                                          p2 : SurfaceType) : DrawGlyphListLCD;
                      END;

  DrawLine* = POINTER TO EXTENSIBLE RECORD (GraphicsPrimitive)    (* Typebound Procedures *)
              STATIC
                methodSignature* : java_lang.String;
                primTypeID*      : INTEGER;
                PROCEDURE Init*(p0 : LONGINT;
                                p1 : SurfaceType;
                                p2 : CompositeType;
                                p3 : SurfaceType) : DrawLine,CONSTRUCTOR;
                PROCEDURE Init!(p0 : SurfaceType;
                                p1 : CompositeType;
                                p2 : SurfaceType) : DrawLine,CONSTRUCTOR;
                PROCEDURE locate*(p0 : SurfaceType;
                                  p1 : CompositeType;
                                  p2 : SurfaceType) : DrawLine;
              END;

  DrawParallelogram* = POINTER TO EXTENSIBLE RECORD (GraphicsPrimitive)    (* Typebound Procedures *)
                       STATIC
                         methodSignature* : java_lang.String;
                         primTypeID*      : INTEGER;
                         PROCEDURE Init*(p0 : LONGINT;
                                         p1 : SurfaceType;
                                         p2 : CompositeType;
                                         p3 : SurfaceType) : DrawParallelogram,CONSTRUCTOR;
                         PROCEDURE Init!(p0 : SurfaceType;
                                         p1 : CompositeType;
                                         p2 : SurfaceType) : DrawParallelogram,CONSTRUCTOR;
                         PROCEDURE locate*(p0 : SurfaceType;
                                           p1 : CompositeType;
                                           p2 : SurfaceType) : DrawParallelogram;
                       END;

  DrawPath* = POINTER TO EXTENSIBLE RECORD (GraphicsPrimitive)    (* Typebound Procedures *)
              STATIC
                methodSignature* : java_lang.String;
                primTypeID*      : INTEGER;
                PROCEDURE Init*(p0 : LONGINT;
                                p1 : SurfaceType;
                                p2 : CompositeType;
                                p3 : SurfaceType) : DrawPath,CONSTRUCTOR;
                PROCEDURE Init!(p0 : SurfaceType;
                                p1 : CompositeType;
                                p2 : SurfaceType) : DrawPath,CONSTRUCTOR;
                PROCEDURE locate*(p0 : SurfaceType;
                                  p1 : CompositeType;
                                  p2 : SurfaceType) : DrawPath;
              END;

  DrawPolygons* = POINTER TO EXTENSIBLE RECORD (GraphicsPrimitive)    (* Typebound Procedures *)
                  STATIC
                    methodSignature* : java_lang.String;
                    primTypeID*      : INTEGER;
                    PROCEDURE Init*(p0 : LONGINT;
                                    p1 : SurfaceType;
                                    p2 : CompositeType;
                                    p3 : SurfaceType) : DrawPolygons,CONSTRUCTOR;
                    PROCEDURE Init!(p0 : SurfaceType;
                                    p1 : CompositeType;
                                    p2 : SurfaceType) : DrawPolygons,CONSTRUCTOR;
                    PROCEDURE locate*(p0 : SurfaceType;
                                      p1 : CompositeType;
                                      p2 : SurfaceType) : DrawPolygons;
                  END;

  DrawRect* = POINTER TO EXTENSIBLE RECORD (GraphicsPrimitive)    (* Typebound Procedures *)
              STATIC
                methodSignature* : java_lang.String;
                primTypeID*      : INTEGER;
                PROCEDURE Init*(p0 : LONGINT;
                                p1 : SurfaceType;
                                p2 : CompositeType;
                                p3 : SurfaceType) : DrawRect,CONSTRUCTOR;
                PROCEDURE Init!(p0 : SurfaceType;
                                p1 : CompositeType;
                                p2 : SurfaceType) : DrawRect,CONSTRUCTOR;
                PROCEDURE locate*(p0 : SurfaceType;
                                  p1 : CompositeType;
                                  p2 : SurfaceType) : DrawRect;
              END;

  FillParallelogram* = POINTER TO EXTENSIBLE RECORD (GraphicsPrimitive)    (* Typebound Procedures *)
                       STATIC
                         methodSignature* : java_lang.String;
                         primTypeID*      : INTEGER;
                         PROCEDURE Init*(p0 : LONGINT;
                                         p1 : SurfaceType;
                                         p2 : CompositeType;
                                         p3 : SurfaceType) : FillParallelogram,CONSTRUCTOR;
                         PROCEDURE Init!(p0 : SurfaceType;
                                         p1 : CompositeType;
                                         p2 : SurfaceType) : FillParallelogram,CONSTRUCTOR;
                         PROCEDURE locate*(p0 : SurfaceType;
                                           p1 : CompositeType;
                                           p2 : SurfaceType) : FillParallelogram;
                       END;

  FillPath* = POINTER TO EXTENSIBLE RECORD (GraphicsPrimitive)    (* Typebound Procedures *)
              STATIC
                methodSignature* : java_lang.String;
                primTypeID*      : INTEGER;
                PROCEDURE Init*(p0 : LONGINT;
                                p1 : SurfaceType;
                                p2 : CompositeType;
                                p3 : SurfaceType) : FillPath,CONSTRUCTOR;
                PROCEDURE Init!(p0 : SurfaceType;
                                p1 : CompositeType;
                                p2 : SurfaceType) : FillPath,CONSTRUCTOR;
                PROCEDURE locate*(p0 : SurfaceType;
                                  p1 : CompositeType;
                                  p2 : SurfaceType) : FillPath;
              END;

  FillRect* = POINTER TO EXTENSIBLE RECORD (GraphicsPrimitive)    (* Typebound Procedures *)
              STATIC
                methodSignature* : java_lang.String;
                primTypeID*      : INTEGER;
                PROCEDURE Init*(p0 : LONGINT;
                                p1 : SurfaceType;
                                p2 : CompositeType;
                                p3 : SurfaceType) : FillRect,CONSTRUCTOR;
                PROCEDURE Init!(p0 : SurfaceType;
                                p1 : CompositeType;
                                p2 : SurfaceType) : FillRect,CONSTRUCTOR;
                PROCEDURE locate*(p0 : SurfaceType;
                                  p1 : CompositeType;
                                  p2 : SurfaceType) : FillRect;
              END;

  FillRect$General* = POINTER TO EXTENSIBLE RECORD (FillRect)    (* Typebound Procedures *)
                        fillop* : MaskFill;
                      STATIC
                        PROCEDURE Init*(p0 : SurfaceType;
                                        p1 : CompositeType;
                                        p2 : SurfaceType) : FillRect$General,CONSTRUCTOR;
                      END;

  FillSpans* = POINTER TO EXTENSIBLE RECORD (GraphicsPrimitive)    (* Typebound Procedures *)
               STATIC
                 methodSignature* : java_lang.String;
                 primTypeID*      : INTEGER;
                 PROCEDURE Init*(p0 : LONGINT;
                                 p1 : SurfaceType;
                                 p2 : CompositeType;
                                 p3 : SurfaceType) : FillSpans,CONSTRUCTOR;
                 PROCEDURE Init!(p0 : SurfaceType;
                                 p1 : CompositeType;
                                 p2 : SurfaceType) : FillSpans,CONSTRUCTOR;
                 PROCEDURE locate*(p0 : SurfaceType;
                                   p1 : CompositeType;
                                   p2 : SurfaceType) : FillSpans;
               END;

  FontInfo* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + java_lang.Cloneable)    (* Typebound Procedures *)
                font*         : java_awt.Font;
                font2D*       : sun_font.Font2D;
                fontStrike*   : sun_font.FontStrike;
                devTx*        : POINTER TO ARRAY OF REAL;
                glyphTx*      : POINTER TO ARRAY OF REAL;
                pixelHeight*  : INTEGER;
                originX*      : SHORTREAL;
                originY*      : SHORTREAL;
                aaHint*       : INTEGER;
                lcdRGBOrder*  : BOOLEAN;
                lcdSubPixPos* : BOOLEAN;
              STATIC
                PROCEDURE Init*() : FontInfo,CONSTRUCTOR;
              END;

  GeneralRenderer* = POINTER TO RECORD (java_lang.Object)
                     STATIC
                       PROCEDURE adjustLine*(IN  p0 : ARRAY OF INTEGER;
                                                 p1 : INTEGER;
                                                 p2 : INTEGER;
                                                 p3 : INTEGER;
                                                 p4 : INTEGER) : BOOLEAN;
                       PROCEDURE doDrawRect*(p0 : PixelWriter;
                                             p1 : sun_java2d.SunGraphics2D;
                                             p2 : sun_java2d.SurfaceData;
                                             p3 : INTEGER;
                                             p4 : INTEGER;
                                             p5 : INTEGER;
                                             p6 : INTEGER);
                       PROCEDURE Init*() : GeneralRenderer,CONSTRUCTOR;
                       PROCEDURE register*();
                     END;

  GraphicsPrimitive* = POINTER TO ABSTRACT RECORD (java_lang.Object)    (* Typebound Procedures *)
                       STATIC
                         TRACECOUNTS*     = 4;
                         tracefile*       : java_lang.String;
                         traceflags*      : INTEGER;
                         TRACELOG*        = 1;
                         traceout*        : java_io.PrintStream;
                         TRACETIMESTAMP*  = 2;
                         PROCEDURE convertFrom!(p0 : Blit;
                                                p1 : sun_java2d.SurfaceData;
                                                p2 : INTEGER;
                                                p3 : INTEGER;
                                                p4 : INTEGER;
                                                p5 : INTEGER;
                                                p6 : sun_java2d.SurfaceData) : sun_java2d.SurfaceData;
                         PROCEDURE convertFrom!(p0 : Blit;
                                                p1 : sun_java2d.SurfaceData;
                                                p2 : INTEGER;
                                                p3 : INTEGER;
                                                p4 : INTEGER;
                                                p5 : INTEGER;
                                                p6 : sun_java2d.SurfaceData;
                                                p7 : INTEGER) : sun_java2d.SurfaceData;
                         PROCEDURE convertTo!(p0 : Blit;
                                              p1 : sun_java2d.SurfaceData;
                                              p2 : sun_java2d.SurfaceData;
                                              p3 : sun_java2d_pipe.Region;
                                              p4 : INTEGER;
                                              p5 : INTEGER;
                                              p6 : INTEGER;
                                              p7 : INTEGER);
                         PROCEDURE createConverter!(p0 : SurfaceType;
                                                    p1 : SurfaceType) : Blit;
                         PROCEDURE getGeneralOp!(p0 : INTEGER;
                                                 p1 : CompositeType) : GraphicsPrimitive;
                         PROCEDURE Init!(p0 : LONGINT;
                                         p1 : java_lang.String;
                                         p2 : INTEGER;
                                         p3 : SurfaceType;
                                         p4 : CompositeType;
                                         p5 : SurfaceType) : GraphicsPrimitive,CONSTRUCTOR;
                         PROCEDURE Init!(p0 : java_lang.String;
                                         p1 : INTEGER;
                                         p2 : SurfaceType;
                                         p3 : CompositeType;
                                         p4 : SurfaceType) : GraphicsPrimitive,CONSTRUCTOR;
                         PROCEDURE makePrimTypeID*() : INTEGER;
                         PROCEDURE makeUniqueID*(p0 : INTEGER;
                                                 p1 : SurfaceType;
                                                 p2 : CompositeType;
                                                 p3 : SurfaceType) : INTEGER;
                         PROCEDURE simplename*(p0 : SurfaceType) : java_lang.String;
                         PROCEDURE simplename*(p0 : CompositeType) : java_lang.String;
                         PROCEDURE simplename*(IN  p0 : ARRAY OF Field;
                                                   p1 : java_lang.Object) : java_lang.String;
                         PROCEDURE tracePrimitive*(p0 : java_lang.Object);
                         PROCEDURE tracingEnabled*() : BOOLEAN;
                       END;

  GraphicsPrimitive$GeneralBinaryOp* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
                                       END;

  GraphicsPrimitive$GeneralUnaryOp* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
                                      END;

  GraphicsPrimitive$TraceReporter* = POINTER TO EXTENSIBLE RECORD (java_lang.Thread)    (* Typebound Procedures *)
                                     STATIC
                                       PROCEDURE Init*() : GraphicsPrimitive$TraceReporter,CONSTRUCTOR;
                                       PROCEDURE setShutdownHook*();
                                     END;

  GraphicsPrimitiveMgr* = POINTER TO RECORD (java_lang.Object)
                          STATIC
                            PROCEDURE locate*(p0 : INTEGER;
                                              p1 : SurfaceType) : GraphicsPrimitive;
                            PROCEDURE locate*(p0 : INTEGER;
                                              p1 : SurfaceType;
                                              p2 : CompositeType;
                                              p3 : SurfaceType) : GraphicsPrimitive;
                            PROCEDURE locatePrim*(p0 : INTEGER;
                                                  p1 : SurfaceType;
                                                  p2 : CompositeType;
                                                  p3 : SurfaceType) : GraphicsPrimitive;
                            PROCEDURE main*(IN  p0 : ARRAY OF java_lang.String);
                            PROCEDURE register*(IN  p0 : ARRAY OF GraphicsPrimitive);
                            PROCEDURE registerGeneral*(p0 : GraphicsPrimitive);
                            PROCEDURE testPrimitiveInstantiation*(p0 : BOOLEAN);
                            PROCEDURE testPrimitiveInstantiation*();
                          END;

  GraphicsPrimitiveProxy* = POINTER TO EXTENSIBLE RECORD (GraphicsPrimitive)    (* Typebound Procedures *)
                            STATIC
                              PROCEDURE Init*(p0 : java_lang.Class;
                                              p1 : java_lang.String;
                                              p2 : java_lang.String;
                                              p3 : INTEGER;
                                              p4 : SurfaceType;
                                              p5 : CompositeType;
                                              p6 : SurfaceType) : GraphicsPrimitiveProxy,CONSTRUCTOR;
                            END;

  MaskBlit* = POINTER TO EXTENSIBLE RECORD (GraphicsPrimitive)    (* Typebound Procedures *)
              STATIC
                methodSignature* : java_lang.String;
                primTypeID*      : INTEGER;
                PROCEDURE getFromCache*(p0 : SurfaceType;
                                        p1 : CompositeType;
                                        p2 : SurfaceType) : MaskBlit;
                PROCEDURE Init*(p0 : LONGINT;
                                p1 : SurfaceType;
                                p2 : CompositeType;
                                p3 : SurfaceType) : MaskBlit,CONSTRUCTOR;
                PROCEDURE Init!(p0 : SurfaceType;
                                p1 : CompositeType;
                                p2 : SurfaceType) : MaskBlit,CONSTRUCTOR;
                PROCEDURE locate*(p0 : SurfaceType;
                                  p1 : CompositeType;
                                  p2 : SurfaceType) : MaskBlit;
              END;

  MaskFill* = POINTER TO EXTENSIBLE RECORD (GraphicsPrimitive)    (* Typebound Procedures *)
              STATIC
                methodSignature* : java_lang.String;
                primTypeID*      : INTEGER;
                PROCEDURE getFromCache*(p0 : SurfaceType;
                                        p1 : CompositeType;
                                        p2 : SurfaceType) : MaskFill;
                PROCEDURE Init!(p0 : SurfaceType;
                                p1 : CompositeType;
                                p2 : SurfaceType) : MaskFill,CONSTRUCTOR;
                PROCEDURE Init*(p0 : LONGINT;
                                p1 : SurfaceType;
                                p2 : CompositeType;
                                p3 : SurfaceType) : MaskFill,CONSTRUCTOR;
                PROCEDURE locate*(p0 : SurfaceType;
                                  p1 : CompositeType;
                                  p2 : SurfaceType) : MaskFill;
                PROCEDURE locatePrim*(p0 : SurfaceType;
                                      p1 : CompositeType;
                                      p2 : SurfaceType) : MaskFill;
              END;

  ProcessPath* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                 STATIC
                   EPSF*                  = 9.765625E-4;
                   EPSFX*                 = 1;
                   noopEndSubPathHandler* : ProcessPath$EndSubPathHandler;
                   PH_MODE_DRAW_CLIP*     = 0;
                   PH_MODE_FILL_CLIP*     = 1;
                   PROCEDURE drawPath*(p0 : ProcessPath$DrawHandler;
                                       p1 : ProcessPath$EndSubPathHandler;
                                       p2 : java_awt_geom.Path2D$Float;
                                       p3 : INTEGER;
                                       p4 : INTEGER) : BOOLEAN;
                   PROCEDURE drawPath*(p0 : ProcessPath$DrawHandler;
                                       p1 : java_awt_geom.Path2D$Float;
                                       p2 : INTEGER;
                                       p3 : INTEGER) : BOOLEAN;
                   PROCEDURE fillPath*(p0 : ProcessPath$DrawHandler;
                                       p1 : java_awt_geom.Path2D$Float;
                                       p2 : INTEGER;
                                       p3 : INTEGER) : BOOLEAN;
                   PROCEDURE Init*() : ProcessPath,CONSTRUCTOR;
                 END;

  ProcessPath$DrawHandler* = POINTER TO ABSTRACT RECORD (java_lang.Object)    (* Typebound Procedures *)
                               xMin*          : INTEGER;
                               yMin*          : INTEGER;
                               xMax*          : INTEGER;
                               yMax*          : INTEGER;
                               xMinf*         : SHORTREAL;
                               yMinf*         : SHORTREAL;
                               xMaxf*         : SHORTREAL;
                               yMaxf*         : SHORTREAL;
                               strokeControl* : INTEGER;
                             STATIC
                               PROCEDURE Init*(p0 : INTEGER;
                                               p1 : INTEGER;
                                               p2 : INTEGER;
                                               p3 : INTEGER) : ProcessPath$DrawHandler,CONSTRUCTOR;
                               PROCEDURE Init*(p0 : INTEGER;
                                               p1 : INTEGER;
                                               p2 : INTEGER;
                                               p3 : INTEGER;
                                               p4 : INTEGER) : ProcessPath$DrawHandler,CONSTRUCTOR;
                             END;

  ProcessPath$EndSubPathHandler* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
                                   END;

  ProcessPath$ProcessHandler* = POINTER TO ABSTRACT RECORD (java_lang.Object + ProcessPath$EndSubPathHandler)    (* Typebound Procedures *)
                                STATIC
                                  PROCEDURE Init*(p0 : ProcessPath$DrawHandler;
                                                  p1 : INTEGER) : ProcessPath$ProcessHandler,CONSTRUCTOR;
                                END;

  RenderCache* = POINTER TO RECORD (java_lang.Object)    (* Typebound Procedures *)
                 STATIC
                   PROCEDURE Init*(p0 : INTEGER) : RenderCache,CONSTRUCTOR;
                 END;

  RenderLoops* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                   drawLineLoop*          : DrawLine;
                   fillRectLoop*          : FillRect;
                   drawRectLoop*          : DrawRect;
                   drawPolygonsLoop*      : DrawPolygons;
                   drawPathLoop*          : DrawPath;
                   fillPathLoop*          : FillPath;
                   fillSpansLoop*         : FillSpans;
                   fillParallelogramLoop* : FillParallelogram;
                   drawParallelogramLoop* : DrawParallelogram;
                   drawGlyphListLoop*     : DrawGlyphList;
                   drawGlyphListAALoop*   : DrawGlyphListAA;
                   drawGlyphListLCDLoop*  : DrawGlyphListLCD;
                 STATIC
                   primTypeID* : INTEGER;
                   PROCEDURE Init*() : RenderLoops,CONSTRUCTOR;
                 END;

  ScaledBlit* = POINTER TO EXTENSIBLE RECORD (GraphicsPrimitive)    (* Typebound Procedures *)
                STATIC
                  methodSignature* : java_lang.String;
                  primTypeID*      : INTEGER;
                  PROCEDURE getFromCache*(p0 : SurfaceType;
                                          p1 : CompositeType;
                                          p2 : SurfaceType) : ScaledBlit;
                  PROCEDURE Init*(p0 : LONGINT;
                                  p1 : SurfaceType;
                                  p2 : CompositeType;
                                  p3 : SurfaceType) : ScaledBlit,CONSTRUCTOR;
                  PROCEDURE Init!(p0 : SurfaceType;
                                  p1 : CompositeType;
                                  p2 : SurfaceType) : ScaledBlit,CONSTRUCTOR;
                  PROCEDURE locate*(p0 : SurfaceType;
                                    p1 : CompositeType;
                                    p2 : SurfaceType) : ScaledBlit;
                END;

  SurfaceType* = POINTER TO RECORD (java_lang.Object)    (* Typebound Procedures *)
                   pixelConverter! : sun_awt_image.PixelConverter;
                 STATIC
                   Any*                               : SurfaceType;
                   Any3Byte*                          : SurfaceType;
                   Any4Byte*                          : SurfaceType;
                   AnyByte*                           : SurfaceType;
                   AnyByteBinary*                     : SurfaceType;
                   AnyColor*                          : SurfaceType;
                   AnyDcm*                            : SurfaceType;
                   AnyInt*                            : SurfaceType;
                   AnyPaint*                          : SurfaceType;
                   AnyShort*                          : SurfaceType;
                   ByteBinary1Bit*                    : SurfaceType;
                   ByteBinary2Bit*                    : SurfaceType;
                   ByteBinary4Bit*                    : SurfaceType;
                   ByteGray*                          : SurfaceType;
                   ByteIndexed*                       : SurfaceType;
                   ByteIndexedBm*                     : SurfaceType;
                   ByteIndexedOpaque*                 : SurfaceType;
                   Custom*                            : SurfaceType;
                   DESC_3BYTE_BGR*                    = "3 Byte BGR";
                   DESC_3BYTE_RGB*                    = "3 Byte RGB";
                   DESC_4BYTE_ABGR*                   = "4 Byte ABGR";
                   DESC_4BYTE_ABGR_PRE*               = "4 Byte ABGR Premultiplied";
                   DESC_ANY*                          = "Any Surface";
                   DESC_ANY_3BYTE*                    = "Any 3 Byte Component";
                   DESC_ANY_4BYTE*                    = "Any 4 Byte Component";
                   DESC_ANY_BYTE*                     = "Any Discrete Byte";
                   DESC_ANY_COLOR*                    = "Single Color";
                   DESC_ANY_INT*                      = "Any Discrete Integer";
                   DESC_ANY_INT_DCM*                  = "Any Integer DCM";
                   DESC_ANY_PAINT*                    = "Paint Object";
                   DESC_ANY_SHORT*                    = "Any Discrete Short";
                   DESC_BYTE_BINARY*                  = "Packed Binary Bitmap";
                   DESC_BYTE_BINARY_1BIT*             = "Packed Binary 1-bit Bitmap";
                   DESC_BYTE_BINARY_2BIT*             = "Packed Binary 2-bit Bitmap";
                   DESC_BYTE_BINARY_4BIT*             = "Packed Binary 4-bit Bitmap";
                   DESC_BYTE_GRAY*                    = "8-bit Gray";
                   DESC_BYTE_INDEXED*                 = "8-bit Indexed";
                   DESC_BYTE_INDEXED_BM*              = "8-bit Indexed (Bitmask)";
                   DESC_BYTE_INDEXED_OPAQUE*          = "8-bit Indexed (Opaque)";
                   DESC_GRADIENT_PAINT*               = "Gradient Paint";
                   DESC_INDEX12_GRAY*                 = "12-bit Palettized Gray";
                   DESC_INDEX8_GRAY*                  = "8-bit Palettized Gray";
                   DESC_INT_ARGB*                     = "Integer ARGB";
                   DESC_INT_ARGB_BM*                  = "Int ARGB (Bitmask)";
                   DESC_INT_ARGB_PRE*                 = "Integer ARGB Premultiplied";
                   DESC_INT_BGR*                      = "Integer BGR";
                   DESC_INT_BGRx*                     = "Integer BGRx";
                   DESC_INT_RGB*                      = "Integer RGB";
                   DESC_INT_RGBx*                     = "Integer RGBx";
                   DESC_LINEAR_GRADIENT_PAINT*        = "Linear Gradient Paint";
                   DESC_OPAQUE_COLOR*                 = "Opaque Color";
                   DESC_OPAQUE_GRADIENT_PAINT*        = "Opaque Gradient Paint";
                   DESC_OPAQUE_LINEAR_GRADIENT_PAINT* = "Opaque Linear Gradient Paint";
                   DESC_OPAQUE_RADIAL_GRADIENT_PAINT* = "Opaque Radial Gradient Paint";
                   DESC_OPAQUE_TEXTURE_PAINT*         = "Opaque Texture Paint";
                   DESC_RADIAL_GRADIENT_PAINT*        = "Radial Gradient Paint";
                   DESC_TEXTURE_PAINT*                = "Texture Paint";
                   DESC_USHORT_4444_ARGB*             = "Short 4444 ARGB";
                   DESC_USHORT_555_RGB*               = "Short 555 RGB";
                   DESC_USHORT_555_RGBx*              = "Short 555 RGBx";
                   DESC_USHORT_565_RGB*               = "Short 565 RGB";
                   DESC_USHORT_GRAY*                  = "16-bit Gray";
                   DESC_USHORT_INDEXED*               = "16-bit Indexed";
                   FourByteAbgr*                      : SurfaceType;
                   FourByteAbgrPre*                   : SurfaceType;
                   GradientPaint*                     : SurfaceType;
                   Index12Gray*                       : SurfaceType;
                   Index8Gray*                        : SurfaceType;
                   IntArgb*                           : SurfaceType;
                   IntArgbBm*                         : SurfaceType;
                   IntArgbPre*                        : SurfaceType;
                   IntBgr*                            : SurfaceType;
                   IntBgrx*                           : SurfaceType;
                   IntRgb*                            : SurfaceType;
                   IntRgbx*                           : SurfaceType;
                   LinearGradientPaint*               : SurfaceType;
                   OpaqueColor*                       : SurfaceType;
                   OpaqueGradientPaint*               : SurfaceType;
                   OpaqueLinearGradientPaint*         : SurfaceType;
                   OpaqueRadialGradientPaint*         : SurfaceType;
                   OpaqueTexturePaint*                : SurfaceType;
                   RadialGradientPaint*               : SurfaceType;
                   TexturePaint*                      : SurfaceType;
                   ThreeByteBgr*                      : SurfaceType;
                   ThreeByteRgb*                      : SurfaceType;
                   Ushort4444Argb*                    : SurfaceType;
                   Ushort555Rgb*                      : SurfaceType;
                   Ushort555Rgbx*                     : SurfaceType;
                   Ushort565Rgb*                      : SurfaceType;
                   UshortGray*                        : SurfaceType;
                   UshortIndexed*                     : SurfaceType;
                   PROCEDURE makeUniqueID*(p0 : java_lang.String) : INTEGER;
                 END;

  TransformBlit* = POINTER TO EXTENSIBLE RECORD (GraphicsPrimitive)    (* Typebound Procedures *)
                   STATIC
                     methodSignature* : java_lang.String;
                     primTypeID*      : INTEGER;
                     PROCEDURE getFromCache*(p0 : SurfaceType;
                                             p1 : CompositeType;
                                             p2 : SurfaceType) : TransformBlit;
                     PROCEDURE Init*(p0 : LONGINT;
                                     p1 : SurfaceType;
                                     p2 : CompositeType;
                                     p3 : SurfaceType) : TransformBlit,CONSTRUCTOR;
                     PROCEDURE Init!(p0 : SurfaceType;
                                     p1 : CompositeType;
                                     p2 : SurfaceType) : TransformBlit,CONSTRUCTOR;
                     PROCEDURE locate*(p0 : SurfaceType;
                                       p1 : CompositeType;
                                       p2 : SurfaceType) : TransformBlit;
                   END;

  TransformHelper* = POINTER TO EXTENSIBLE RECORD (GraphicsPrimitive)    (* Typebound Procedures *)
                     STATIC
                       methodSignature* : java_lang.String;
                       primTypeID*      : INTEGER;
                       PROCEDURE getFromCache*(p0 : SurfaceType) : TransformHelper;
                       PROCEDURE Init*(p0 : LONGINT;
                                       p1 : SurfaceType;
                                       p2 : CompositeType;
                                       p3 : SurfaceType) : TransformHelper,CONSTRUCTOR;
                       PROCEDURE Init!(p0 : SurfaceType) : TransformHelper,CONSTRUCTOR;
                       PROCEDURE locate*(p0 : SurfaceType) : TransformHelper;
                     END;

  XORComposite* = POINTER TO RECORD (java_lang.Object + java_awt.Composite)    (* Typebound Procedures *)
                  STATIC
                    PROCEDURE Init*(p0 : java_awt.Color;
                                    p1 : sun_java2d.SurfaceData) : XORComposite,CONSTRUCTOR;
                  END;

  XorPixelWriter$ByteData* = POINTER TO EXTENSIBLE RECORD (XorPixelWriter)    (* Typebound Procedures *)
                             END;

  XorPixelWriter$DoubleData* = POINTER TO EXTENSIBLE RECORD (XorPixelWriter)    (* Typebound Procedures *)
                               END;

  XorPixelWriter$FloatData* = POINTER TO EXTENSIBLE RECORD (XorPixelWriter)    (* Typebound Procedures *)
                              END;

  XorPixelWriter$IntData* = POINTER TO EXTENSIBLE RECORD (XorPixelWriter)    (* Typebound Procedures *)
                            END;

  XorPixelWriter$ShortData* = POINTER TO EXTENSIBLE RECORD (XorPixelWriter)    (* Typebound Procedures *)
                              END;




PROCEDURE (self:Blit) Blit*(p0 : sun_java2d.SurfaceData;
                            p1 : sun_java2d.SurfaceData;
                            p2 : java_awt.Composite;
                            p3 : sun_java2d_pipe.Region;
                            p4 : INTEGER;
                            p5 : INTEGER;
                            p6 : INTEGER;
                            p7 : INTEGER;
                            p8 : INTEGER;
                            p9 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:Blit) makePrimitive*(p0 : SurfaceType;
                                     p1 : CompositeType;
                                     p2 : SurfaceType) : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:Blit) traceWrap*() : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:BlitBg) BlitBg*(p0  : sun_java2d.SurfaceData;
                                p1  : sun_java2d.SurfaceData;
                                p2  : java_awt.Composite;
                                p3  : sun_java2d_pipe.Region;
                                p4  : INTEGER;
                                p5  : INTEGER;
                                p6  : INTEGER;
                                p7  : INTEGER;
                                p8  : INTEGER;
                                p9  : INTEGER;
                                p10 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:BlitBg) makePrimitive*(p0 : SurfaceType;
                                       p1 : CompositeType;
                                       p2 : SurfaceType) : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:BlitBg) traceWrap*() : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:CompositeType) deriveSubType*(p0 : java_lang.String) : CompositeType,NEW,EXTENSIBLE;

PROCEDURE (self:CompositeType) equals*(p0 : java_lang.Object) : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:CompositeType) getDescriptor*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:CompositeType) getSuperType*() : CompositeType,NEW,EXTENSIBLE;

PROCEDURE (self:CompositeType) getUniqueID*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:CompositeType) hashCode*() : INTEGER,EXTENSIBLE;

PROCEDURE (self:CompositeType) isDerivedFrom*(p0 : CompositeType) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:CompositeType) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:DrawGlyphList) DrawGlyphList*(p0 : sun_java2d.SunGraphics2D;
                                              p1 : sun_java2d.SurfaceData;
                                              p2 : sun_font.GlyphList),NEW,EXTENSIBLE;

PROCEDURE (self:DrawGlyphList) makePrimitive*(p0 : SurfaceType;
                                              p1 : CompositeType;
                                              p2 : SurfaceType) : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:DrawGlyphList) traceWrap*() : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:DrawGlyphListAA) DrawGlyphListAA*(p0 : sun_java2d.SunGraphics2D;
                                                  p1 : sun_java2d.SurfaceData;
                                                  p2 : sun_font.GlyphList),NEW,EXTENSIBLE;

PROCEDURE (self:DrawGlyphListAA) makePrimitive*(p0 : SurfaceType;
                                                p1 : CompositeType;
                                                p2 : SurfaceType) : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:DrawGlyphListAA) traceWrap*() : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:DrawGlyphListAA$General) DrawGlyphListAA*(p0 : sun_java2d.SunGraphics2D;
                                                          p1 : sun_java2d.SurfaceData;
                                                          p2 : sun_font.GlyphList),EXTENSIBLE;

PROCEDURE (self:DrawGlyphListLCD) DrawGlyphListLCD*(p0 : sun_java2d.SunGraphics2D;
                                                    p1 : sun_java2d.SurfaceData;
                                                    p2 : sun_font.GlyphList),NEW,EXTENSIBLE;

PROCEDURE (self:DrawGlyphListLCD) makePrimitive*(p0 : SurfaceType;
                                                 p1 : CompositeType;
                                                 p2 : SurfaceType) : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:DrawGlyphListLCD) traceWrap*() : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:DrawLine) DrawLine*(p0 : sun_java2d.SunGraphics2D;
                                    p1 : sun_java2d.SurfaceData;
                                    p2 : INTEGER;
                                    p3 : INTEGER;
                                    p4 : INTEGER;
                                    p5 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:DrawLine) makePrimitive*(p0 : SurfaceType;
                                         p1 : CompositeType;
                                         p2 : SurfaceType) : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:DrawLine) traceWrap*() : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:DrawParallelogram) DrawParallelogram*(p0 : sun_java2d.SunGraphics2D;
                                                      p1 : sun_java2d.SurfaceData;
                                                      p2 : REAL;
                                                      p3 : REAL;
                                                      p4 : REAL;
                                                      p5 : REAL;
                                                      p6 : REAL;
                                                      p7 : REAL;
                                                      p8 : REAL;
                                                      p9 : REAL),NEW,EXTENSIBLE;

PROCEDURE (self:DrawParallelogram) makePrimitive*(p0 : SurfaceType;
                                                  p1 : CompositeType;
                                                  p2 : SurfaceType) : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:DrawParallelogram) traceWrap*() : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:DrawPath) DrawPath*(p0 : sun_java2d.SunGraphics2D;
                                    p1 : sun_java2d.SurfaceData;
                                    p2 : INTEGER;
                                    p3 : INTEGER;
                                    p4 : java_awt_geom.Path2D$Float),NEW,EXTENSIBLE;

PROCEDURE (self:DrawPath) makePrimitive*(p0 : SurfaceType;
                                         p1 : CompositeType;
                                         p2 : SurfaceType) : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:DrawPath) traceWrap*() : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:DrawPolygons) DrawPolygons*(    p0 : sun_java2d.SunGraphics2D;
                                                p1 : sun_java2d.SurfaceData;
                                            IN  p2 : ARRAY OF INTEGER;
                                            IN  p3 : ARRAY OF INTEGER;
                                            IN  p4 : ARRAY OF INTEGER;
                                                p5 : INTEGER;
                                                p6 : INTEGER;
                                                p7 : INTEGER;
                                                p8 : BOOLEAN),NEW,EXTENSIBLE;

PROCEDURE (self:DrawPolygons) makePrimitive*(p0 : SurfaceType;
                                             p1 : CompositeType;
                                             p2 : SurfaceType) : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:DrawPolygons) traceWrap*() : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:DrawRect) DrawRect*(p0 : sun_java2d.SunGraphics2D;
                                    p1 : sun_java2d.SurfaceData;
                                    p2 : INTEGER;
                                    p3 : INTEGER;
                                    p4 : INTEGER;
                                    p5 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:DrawRect) makePrimitive*(p0 : SurfaceType;
                                         p1 : CompositeType;
                                         p2 : SurfaceType) : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:DrawRect) traceWrap*() : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:FillParallelogram) FillParallelogram*(p0 : sun_java2d.SunGraphics2D;
                                                      p1 : sun_java2d.SurfaceData;
                                                      p2 : REAL;
                                                      p3 : REAL;
                                                      p4 : REAL;
                                                      p5 : REAL;
                                                      p6 : REAL;
                                                      p7 : REAL),NEW,EXTENSIBLE;

PROCEDURE (self:FillParallelogram) makePrimitive*(p0 : SurfaceType;
                                                  p1 : CompositeType;
                                                  p2 : SurfaceType) : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:FillParallelogram) traceWrap*() : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:FillPath) FillPath*(p0 : sun_java2d.SunGraphics2D;
                                    p1 : sun_java2d.SurfaceData;
                                    p2 : INTEGER;
                                    p3 : INTEGER;
                                    p4 : java_awt_geom.Path2D$Float),NEW,EXTENSIBLE;

PROCEDURE (self:FillPath) makePrimitive*(p0 : SurfaceType;
                                         p1 : CompositeType;
                                         p2 : SurfaceType) : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:FillPath) traceWrap*() : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:FillRect) FillRect*(p0 : sun_java2d.SunGraphics2D;
                                    p1 : sun_java2d.SurfaceData;
                                    p2 : INTEGER;
                                    p3 : INTEGER;
                                    p4 : INTEGER;
                                    p5 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:FillRect) makePrimitive*(p0 : SurfaceType;
                                         p1 : CompositeType;
                                         p2 : SurfaceType) : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:FillRect) traceWrap*() : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:FillRect$General) FillRect*(p0 : sun_java2d.SunGraphics2D;
                                            p1 : sun_java2d.SurfaceData;
                                            p2 : INTEGER;
                                            p3 : INTEGER;
                                            p4 : INTEGER;
                                            p5 : INTEGER),EXTENSIBLE;

PROCEDURE (self:FillSpans) FillSpans*(p0 : sun_java2d.SunGraphics2D;
                                      p1 : sun_java2d.SurfaceData;
                                      p2 : sun_java2d_pipe.SpanIterator),NEW,EXTENSIBLE;

PROCEDURE (self:FillSpans) makePrimitive*(p0 : SurfaceType;
                                          p1 : CompositeType;
                                          p2 : SurfaceType) : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:FillSpans) traceWrap*() : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:FontInfo) clone*() : java_lang.Object,EXTENSIBLE;

PROCEDURE (self:FontInfo) mtx*(IN  p0 : ARRAY OF REAL) : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:FontInfo) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:GraphicsPrimitive) getCompositeType*() : CompositeType,NEW;

PROCEDURE (self:GraphicsPrimitive) getDestType*() : SurfaceType,NEW;

PROCEDURE (self:GraphicsPrimitive) getNativePrim*() : LONGINT,NEW;

PROCEDURE (self:GraphicsPrimitive) getPrimTypeID*() : INTEGER,NEW;

PROCEDURE (self:GraphicsPrimitive) getSignature*() : java_lang.String,NEW;

PROCEDURE (self:GraphicsPrimitive) getSourceType*() : SurfaceType,NEW;

PROCEDURE (self:GraphicsPrimitive) getUniqueID*() : INTEGER,NEW;

PROCEDURE (self:GraphicsPrimitive) makePrimitive*(p0 : SurfaceType;
                                                  p1 : CompositeType;
                                                  p2 : SurfaceType) : GraphicsPrimitive,NEW,ABSTRACT;

PROCEDURE (self:GraphicsPrimitive) satisfies*(p0 : java_lang.String;
                                              p1 : SurfaceType;
                                              p2 : CompositeType;
                                              p3 : SurfaceType) : BOOLEAN,NEW;

PROCEDURE (self:GraphicsPrimitive) setupGeneralBinaryOp!(p0 : GraphicsPrimitive$GeneralBinaryOp),NEW,EXTENSIBLE;

PROCEDURE (self:GraphicsPrimitive) setupGeneralUnaryOp!(p0 : GraphicsPrimitive$GeneralUnaryOp),NEW,EXTENSIBLE;

PROCEDURE (self:GraphicsPrimitive) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:GraphicsPrimitive) traceWrap*() : GraphicsPrimitive,NEW,ABSTRACT;

PROCEDURE (self:GraphicsPrimitive$GeneralBinaryOp) getCompositeType*() : CompositeType,NEW,ABSTRACT;

PROCEDURE (self:GraphicsPrimitive$GeneralBinaryOp) getDestType*() : SurfaceType,NEW,ABSTRACT;

PROCEDURE (self:GraphicsPrimitive$GeneralBinaryOp) getPrimTypeID*() : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:GraphicsPrimitive$GeneralBinaryOp) getSignature*() : java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:GraphicsPrimitive$GeneralBinaryOp) getSourceType*() : SurfaceType,NEW,ABSTRACT;

PROCEDURE (self:GraphicsPrimitive$GeneralBinaryOp) setPrimitives*(p0 : Blit;
                                                                  p1 : Blit;
                                                                  p2 : GraphicsPrimitive;
                                                                  p3 : Blit),NEW,ABSTRACT;

PROCEDURE (self:GraphicsPrimitive$GeneralUnaryOp) getCompositeType*() : CompositeType,NEW,ABSTRACT;

PROCEDURE (self:GraphicsPrimitive$GeneralUnaryOp) getDestType*() : SurfaceType,NEW,ABSTRACT;

PROCEDURE (self:GraphicsPrimitive$GeneralUnaryOp) getPrimTypeID*() : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:GraphicsPrimitive$GeneralUnaryOp) getSignature*() : java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:GraphicsPrimitive$GeneralUnaryOp) setPrimitives*(p0 : Blit;
                                                                 p1 : GraphicsPrimitive;
                                                                 p2 : Blit),NEW,ABSTRACT;

PROCEDURE (self:GraphicsPrimitive$TraceReporter) run*(),EXTENSIBLE;

PROCEDURE (self:GraphicsPrimitiveProxy) makePrimitive*(p0 : SurfaceType;
                                                       p1 : CompositeType;
                                                       p2 : SurfaceType) : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:GraphicsPrimitiveProxy) traceWrap*() : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:MaskBlit) makePrimitive*(p0 : SurfaceType;
                                         p1 : CompositeType;
                                         p2 : SurfaceType) : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:MaskBlit) MaskBlit*(    p0  : sun_java2d.SurfaceData;
                                        p1  : sun_java2d.SurfaceData;
                                        p2  : java_awt.Composite;
                                        p3  : sun_java2d_pipe.Region;
                                        p4  : INTEGER;
                                        p5  : INTEGER;
                                        p6  : INTEGER;
                                        p7  : INTEGER;
                                        p8  : INTEGER;
                                        p9  : INTEGER;
                                    IN  p10 : ARRAY OF BYTE;
                                        p11 : INTEGER;
                                        p12 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:MaskBlit) traceWrap*() : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:MaskFill) canDoParallelograms*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:MaskFill) DrawAAPgram*(p0  : sun_java2d.SunGraphics2D;
                                       p1  : sun_java2d.SurfaceData;
                                       p2  : java_awt.Composite;
                                       p3  : REAL;
                                       p4  : REAL;
                                       p5  : REAL;
                                       p6  : REAL;
                                       p7  : REAL;
                                       p8  : REAL;
                                       p9  : REAL;
                                       p10 : REAL),NEW,EXTENSIBLE;

PROCEDURE (self:MaskFill) FillAAPgram*(p0 : sun_java2d.SunGraphics2D;
                                       p1 : sun_java2d.SurfaceData;
                                       p2 : java_awt.Composite;
                                       p3 : REAL;
                                       p4 : REAL;
                                       p5 : REAL;
                                       p6 : REAL;
                                       p7 : REAL;
                                       p8 : REAL),NEW,EXTENSIBLE;

PROCEDURE (self:MaskFill) makePrimitive*(p0 : SurfaceType;
                                         p1 : CompositeType;
                                         p2 : SurfaceType) : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:MaskFill) MaskFill*(    p0 : sun_java2d.SunGraphics2D;
                                        p1 : sun_java2d.SurfaceData;
                                        p2 : java_awt.Composite;
                                        p3 : INTEGER;
                                        p4 : INTEGER;
                                        p5 : INTEGER;
                                        p6 : INTEGER;
                                    IN  p7 : ARRAY OF BYTE;
                                        p8 : INTEGER;
                                        p9 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:MaskFill) traceWrap*() : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:ProcessPath$DrawHandler) adjustBounds*(p0 : INTEGER;
                                                       p1 : INTEGER;
                                                       p2 : INTEGER;
                                                       p3 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:ProcessPath$DrawHandler) drawLine*(p0 : INTEGER;
                                                   p1 : INTEGER;
                                                   p2 : INTEGER;
                                                   p3 : INTEGER),NEW,ABSTRACT;

PROCEDURE (self:ProcessPath$DrawHandler) drawPixel*(p0 : INTEGER;
                                                    p1 : INTEGER),NEW,ABSTRACT;

PROCEDURE (self:ProcessPath$DrawHandler) drawScanline*(p0 : INTEGER;
                                                       p1 : INTEGER;
                                                       p2 : INTEGER),NEW,ABSTRACT;

PROCEDURE (self:ProcessPath$DrawHandler) setBounds*(p0 : INTEGER;
                                                    p1 : INTEGER;
                                                    p2 : INTEGER;
                                                    p3 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:ProcessPath$DrawHandler) setBounds*(p0 : INTEGER;
                                                    p1 : INTEGER;
                                                    p2 : INTEGER;
                                                    p3 : INTEGER;
                                                    p4 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:ProcessPath$EndSubPathHandler) processEndSubPath*(),NEW,ABSTRACT;

PROCEDURE (self:ProcessPath$ProcessHandler) processFixedLine*(    p0 : INTEGER;
                                                                  p1 : INTEGER;
                                                                  p2 : INTEGER;
                                                                  p3 : INTEGER;
                                                              IN  p4 : ARRAY OF INTEGER;
                                                                  p5 : BOOLEAN;
                                                                  p6 : BOOLEAN),NEW,ABSTRACT;

PROCEDURE (self:RenderCache) get*(p0 : SurfaceType;
                                  p1 : CompositeType;
                                  p2 : SurfaceType) : java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:RenderCache) put*(p0 : SurfaceType;
                                  p1 : CompositeType;
                                  p2 : SurfaceType;
                                  p3 : java_lang.Object),NEW,EXTENSIBLE;

PROCEDURE (self:ScaledBlit) makePrimitive*(p0 : SurfaceType;
                                           p1 : CompositeType;
                                           p2 : SurfaceType) : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:ScaledBlit) Scale*(p0  : sun_java2d.SurfaceData;
                                   p1  : sun_java2d.SurfaceData;
                                   p2  : java_awt.Composite;
                                   p3  : sun_java2d_pipe.Region;
                                   p4  : INTEGER;
                                   p5  : INTEGER;
                                   p6  : INTEGER;
                                   p7  : INTEGER;
                                   p8  : REAL;
                                   p9  : REAL;
                                   p10 : REAL;
                                   p11 : REAL),NEW,EXTENSIBLE;

PROCEDURE (self:ScaledBlit) traceWrap*() : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:SurfaceType) deriveSubType*(p0 : java_lang.String;
                                            p1 : sun_awt_image.PixelConverter) : SurfaceType,NEW,EXTENSIBLE;

PROCEDURE (self:SurfaceType) deriveSubType*(p0 : java_lang.String) : SurfaceType,NEW,EXTENSIBLE;

PROCEDURE (self:SurfaceType) equals*(p0 : java_lang.Object) : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:SurfaceType) getAlphaMask*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:SurfaceType) getDescriptor*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:SurfaceType) getPixelConverter*() : sun_awt_image.PixelConverter,NEW,EXTENSIBLE;

PROCEDURE (self:SurfaceType) getSuperType*() : SurfaceType,NEW,EXTENSIBLE;

PROCEDURE (self:SurfaceType) getUniqueID*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:SurfaceType) hashCode*() : INTEGER,EXTENSIBLE;

PROCEDURE (self:SurfaceType) pixelFor*(p0 : INTEGER;
                                       p1 : java_awt_image.ColorModel) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:SurfaceType) rgbFor*(p0 : INTEGER;
                                     p1 : java_awt_image.ColorModel) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:SurfaceType) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:TransformBlit) makePrimitive*(p0 : SurfaceType;
                                              p1 : CompositeType;
                                              p2 : SurfaceType) : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:TransformBlit) traceWrap*() : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:TransformBlit) Transform*(p0  : sun_java2d.SurfaceData;
                                          p1  : sun_java2d.SurfaceData;
                                          p2  : java_awt.Composite;
                                          p3  : sun_java2d_pipe.Region;
                                          p4  : java_awt_geom.AffineTransform;
                                          p5  : INTEGER;
                                          p6  : INTEGER;
                                          p7  : INTEGER;
                                          p8  : INTEGER;
                                          p9  : INTEGER;
                                          p10 : INTEGER;
                                          p11 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:TransformHelper) makePrimitive*(p0 : SurfaceType;
                                                p1 : CompositeType;
                                                p2 : SurfaceType) : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:TransformHelper) traceWrap*() : GraphicsPrimitive,EXTENSIBLE;

PROCEDURE (self:TransformHelper) Transform*(    p0  : MaskBlit;
                                                p1  : sun_java2d.SurfaceData;
                                                p2  : sun_java2d.SurfaceData;
                                                p3  : java_awt.Composite;
                                                p4  : sun_java2d_pipe.Region;
                                                p5  : java_awt_geom.AffineTransform;
                                                p6  : INTEGER;
                                                p7  : INTEGER;
                                                p8  : INTEGER;
                                                p9  : INTEGER;
                                                p10 : INTEGER;
                                                p11 : INTEGER;
                                                p12 : INTEGER;
                                                p13 : INTEGER;
                                                p14 : INTEGER;
                                            IN  p15 : ARRAY OF INTEGER;
                                                p16 : INTEGER;
                                                p17 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:XORComposite) createContext*(p0 : java_awt_image.ColorModel;
                                             p1 : java_awt_image.ColorModel;
                                             p2 : java_awt.RenderingHints) : java_awt.CompositeContext,NEW,EXTENSIBLE;

PROCEDURE (self:XORComposite) getAlphaMask*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:XORComposite) getXorColor*() : java_awt.Color,NEW,EXTENSIBLE;

PROCEDURE (self:XORComposite) getXorPixel*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:XorPixelWriter$ByteData) setRaster*(p0 : java_awt_image.WritableRaster),EXTENSIBLE;

PROCEDURE (self:XorPixelWriter$ByteData) writePixel*(p0 : INTEGER;
                                                     p1 : INTEGER),EXTENSIBLE;

PROCEDURE (self:XorPixelWriter$ByteData) xorPixel!(p0 : java_lang.Object),EXTENSIBLE;

PROCEDURE (self:XorPixelWriter$DoubleData) setRaster*(p0 : java_awt_image.WritableRaster),EXTENSIBLE;

PROCEDURE (self:XorPixelWriter$DoubleData) writePixel*(p0 : INTEGER;
                                                       p1 : INTEGER),EXTENSIBLE;

PROCEDURE (self:XorPixelWriter$DoubleData) xorPixel!(p0 : java_lang.Object),EXTENSIBLE;

PROCEDURE (self:XorPixelWriter$FloatData) setRaster*(p0 : java_awt_image.WritableRaster),EXTENSIBLE;

PROCEDURE (self:XorPixelWriter$FloatData) writePixel*(p0 : INTEGER;
                                                      p1 : INTEGER),EXTENSIBLE;

PROCEDURE (self:XorPixelWriter$FloatData) xorPixel!(p0 : java_lang.Object),EXTENSIBLE;

PROCEDURE (self:XorPixelWriter$IntData) setRaster*(p0 : java_awt_image.WritableRaster),EXTENSIBLE;

PROCEDURE (self:XorPixelWriter$IntData) writePixel*(p0 : INTEGER;
                                                    p1 : INTEGER),EXTENSIBLE;

PROCEDURE (self:XorPixelWriter$IntData) xorPixel!(p0 : java_lang.Object),EXTENSIBLE;

PROCEDURE (self:XorPixelWriter$ShortData) setRaster*(p0 : java_awt_image.WritableRaster),EXTENSIBLE;

PROCEDURE (self:XorPixelWriter$ShortData) writePixel*(p0 : INTEGER;
                                                      p1 : INTEGER),EXTENSIBLE;

PROCEDURE (self:XorPixelWriter$ShortData) xorPixel!(p0 : java_lang.Object),EXTENSIBLE;

END sun_java2d_loops.