    FOREIGN MODULE sun_java2d_pipe;

    IMPORT
        sun_java2d,
        java_lang,
        java_awt,
        sun_dc_pr,
        java_awt_geom,
        sun_dc_path,
        java_awt_image,
        java_awt_font;

    TYPE

      AlphaColorPipe* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + CompositePipe)
                        STATIC
                          PROCEDURE Init*() : AlphaColorPipe,CONSTRUCTOR;
                        END;

      AlphaPaintPipe* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + CompositePipe)
                        STATIC
                          PROCEDURE Init*() : AlphaPaintPipe,CONSTRUCTOR;
                        END;

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

      DrawToFillConverter* = POINTER TO EXTENSIBLE RECORD (DuctusRenderer + ShapeDrawPipe)
                             STATIC
                               PROCEDURE Init*(p0 : SimpleRenderPipe;
                                               p1 : ShapeDrawPipe;
                                               p2 : BOOLEAN) : DrawToFillConverter,CONSTRUCTOR;
                             END;

      DuctusClipRenderer* = POINTER TO EXTENSIBLE RECORD (DuctusRenderer + CompositePipe)
                            STATIC
                              PROCEDURE Init*(p0 : CompositePipe) : DuctusClipRenderer,CONSTRUCTOR;
                            END;

      DuctusRenderer* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                        STATIC
                          PROCEDURE Init*() : DuctusRenderer,CONSTRUCTOR;
                          PROCEDURE createShapeRasterizer*(p0 : java_awt_geom.PathIterator;
                                                           p1 : java_awt_geom.AffineTransform;
                                                           p2 : java_awt.BasicStroke) : sun_dc_pr.Rasterizer;
                          PROCEDURE createStroker*(p0 : sun_dc_path.PathConsumer;
                                                   p1 : java_awt.BasicStroke;
                                                   p2 : java_awt_geom.AffineTransform) : sun_dc_path.PathConsumer;
                          PROCEDURE dropRasterizer*(p0 : sun_dc_pr.Rasterizer);
                          PROCEDURE feedConsumer*(p0 : java_awt_geom.PathIterator;
                                                  p1 : sun_dc_path.PathConsumer);
                          PROCEDURE getAlpha*(    p0 : sun_dc_pr.Rasterizer;
                                              IN  p1 : ARRAY OF BYTE;
                                                  p2 : INTEGER;
                                                  p3 : INTEGER;
                                                  p4 : INTEGER);
                          PROCEDURE getRasterizer*() : sun_dc_pr.Rasterizer;
                        END;

      DuctusShapeRenderer* = POINTER TO EXTENSIBLE RECORD (DuctusRenderer + ShapeDrawPipe)
                             STATIC
                               PROCEDURE Init*(p0 : CompositePipe) : DuctusShapeRenderer,CONSTRUCTOR;
                             END;

      GeneralCompositePipe* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + CompositePipe)
                              STATIC
                                PROCEDURE Init*() : GeneralCompositePipe,CONSTRUCTOR;
                              END;

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

      NullPixelPipe* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + PixelDrawPipe)
                       STATIC
                         PROCEDURE Init*() : NullPixelPipe,CONSTRUCTOR;
                       END;

      NullShapePipe* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + ShapeDrawPipe)
                       STATIC
                         PROCEDURE Init*() : NullShapePipe,CONSTRUCTOR;
                       END;

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

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

      PixelToPolyConverter* = POINTER TO EXTENSIBLE RECORD (PixelToShapeConverter + PixelDrawPipe)
                              STATIC
                                PROCEDURE Init*(p0 : ShapeDrawPipe;
                                                p1 : SimpleRenderPipe) : PixelToPolyConverter,CONSTRUCTOR;
                              END;

      PixelToShapeConverter* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + PixelDrawPipe + PixelFillPipe)
                               STATIC
                                 PROCEDURE Init*(p0 : ShapeDrawPipe) : PixelToShapeConverter,CONSTRUCTOR;
                               END;

      Region* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                STATIC
                  INIT_SIZE* = 50;
                  GROW_SIZE* = 50;
                  PROCEDURE Init*() : Region,CONSTRUCTOR;
                END;

      RegionIterator* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                        END;

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

      ShapeSpanIterator* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + SpanIterator + sun_dc_path.PathConsumer)
                           STATIC
                             PROCEDURE Init*() : ShapeSpanIterator,CONSTRUCTOR;
                             PROCEDURE initIDs*();
                           END;

      ShapeToPolyConverter* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + ShapeDrawPipe)
                              STATIC
                                PROCEDURE Init*(p0 : SimpleRenderPipe;
                                                p1 : ShapeDrawPipe;
                                                p2 : BOOLEAN) : ShapeToPolyConverter,CONSTRUCTOR;
                                PROCEDURE Init*(p0 : SimpleRenderPipe;
                                                p1 : BOOLEAN) : ShapeToPolyConverter,CONSTRUCTOR;
                              END;

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

      SpanClipRenderer* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + CompositePipe)
                          STATIC
                            PROCEDURE Init*(p0 : CompositePipe;
                                            p1 : Region) : SpanClipRenderer,CONSTRUCTOR;
                          END;

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

      SpanShapeRenderer$Composite* = POINTER TO EXTENSIBLE RECORD (SpanShapeRenderer)
                                     STATIC
                                       PROCEDURE Init*(p0 : CompositePipe) : SpanShapeRenderer$Composite,CONSTRUCTOR;
                                     END;

      SpanShapeRenderer$Simple* = POINTER TO EXTENSIBLE RECORD (SpanShapeRenderer)
                                  STATIC
                                    PROCEDURE Init*(p0 : SimpleRenderPipe) : SpanShapeRenderer$Simple,CONSTRUCTOR;
                                  END;

      SpanShapeRenderer* = POINTER TO ABSTRACT RECORD (java_lang.Object + ShapeDrawPipe)
                           STATIC
                             NON_RECTILINEAR_TRANSFORM_MASK* = 48;
                             PROCEDURE Init*() : SpanShapeRenderer,CONSTRUCTOR;
                           END;

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

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

      ValidatePipe* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + PixelDrawPipe + PixelFillPipe + ShapeDrawPipe + TextPipe)
                      STATIC
                        PROCEDURE Init*() : ValidatePipe,CONSTRUCTOR;
                      END;

    PROCEDURE (self:AlphaColorPipe) endSequence*(p0 : java_lang.Object),NEW,EXTENSIBLE;

    PROCEDURE (self:AlphaColorPipe) needTile*(p0 : java_lang.Object;
                                              p1 : INTEGER;
                                              p2 : INTEGER;
                                              p3 : INTEGER;
                                              p4 : INTEGER) : BOOLEAN,NEW,EXTENSIBLE;

    PROCEDURE (self:AlphaColorPipe) renderPathTile*(    p0 : java_lang.Object;
                                                    IN  p1 : ARRAY OF BYTE;
                                                        p2 : INTEGER;
                                                        p3 : INTEGER;
                                                        p4 : INTEGER;
                                                        p5 : INTEGER;
                                                        p6 : INTEGER;
                                                        p7 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:AlphaColorPipe) skipTile*(p0 : java_lang.Object;
                                              p1 : INTEGER;
                                              p2 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:AlphaColorPipe) startSequence*(    p0 : sun_java2d.SunGraphics2D;
                                                       p1 : java_awt.Shape;
                                                       p2 : java_awt.Rectangle;
                                                   IN  p3 : ARRAY OF INTEGER) : java_lang.Object,NEW,EXTENSIBLE;

    PROCEDURE (self:AlphaPaintPipe) endSequence*(p0 : java_lang.Object),NEW,EXTENSIBLE;

    PROCEDURE (self:AlphaPaintPipe) needTile*(p0 : java_lang.Object;
                                              p1 : INTEGER;
                                              p2 : INTEGER;
                                              p3 : INTEGER;
                                              p4 : INTEGER) : BOOLEAN,NEW,EXTENSIBLE;

    PROCEDURE (self:AlphaPaintPipe) renderPathTile*(    p0 : java_lang.Object;
                                                    IN  p1 : ARRAY OF BYTE;
                                                        p2 : INTEGER;
                                                        p3 : INTEGER;
                                                        p4 : INTEGER;
                                                        p5 : INTEGER;
                                                        p6 : INTEGER;
                                                        p7 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:AlphaPaintPipe) skipTile*(p0 : java_lang.Object;
                                              p1 : INTEGER;
                                              p2 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:AlphaPaintPipe) startSequence*(    p0 : sun_java2d.SunGraphics2D;
                                                       p1 : java_awt.Shape;
                                                       p2 : java_awt.Rectangle;
                                                   IN  p3 : ARRAY OF INTEGER) : java_lang.Object,NEW,EXTENSIBLE;

    PROCEDURE (self:CompositePipe) endSequence*(p0 : java_lang.Object),NEW,ABSTRACT;

    PROCEDURE (self:CompositePipe) needTile*(p0 : java_lang.Object;
                                             p1 : INTEGER;
                                             p2 : INTEGER;
                                             p3 : INTEGER;
                                             p4 : INTEGER) : BOOLEAN,NEW,ABSTRACT;

    PROCEDURE (self:CompositePipe) renderPathTile*(    p0 : java_lang.Object;
                                                   IN  p1 : ARRAY OF BYTE;
                                                       p2 : INTEGER;
                                                       p3 : INTEGER;
                                                       p4 : INTEGER;
                                                       p5 : INTEGER;
                                                       p6 : INTEGER;
                                                       p7 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:CompositePipe) skipTile*(p0 : java_lang.Object;
                                             p1 : INTEGER;
                                             p2 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:CompositePipe) startSequence*(    p0 : sun_java2d.SunGraphics2D;
                                                      p1 : java_awt.Shape;
                                                      p2 : java_awt.Rectangle;
                                                  IN  p3 : ARRAY OF INTEGER) : java_lang.Object,NEW,ABSTRACT;

    PROCEDURE (self:DrawToFillConverter) draw*(p0 : sun_java2d.SunGraphics2D;
                                               p1 : java_awt.Shape),NEW,EXTENSIBLE;

    PROCEDURE (self:DrawToFillConverter) draw2*(p0 : sun_java2d.SunGraphics2D;
                                                p1 : ShapeSpanIterator;
                                                p2 : java_awt.Shape),NEW,EXTENSIBLE;

    PROCEDURE (self:DrawToFillConverter) fill*(p0 : sun_java2d.SunGraphics2D;
                                               p1 : java_awt.Shape),NEW,EXTENSIBLE;

    PROCEDURE (self:DuctusClipRenderer) endSequence*(p0 : java_lang.Object),NEW,EXTENSIBLE;

    PROCEDURE (self:DuctusClipRenderer) mergeAlphas!(IN  p0 : ARRAY OF BYTE;
                                                     IN  p1 : ARRAY OF BYTE;
                                                         p2 : INTEGER;
                                                         p3 : INTEGER;
                                                         p4 : INTEGER;
                                                         p5 : INTEGER;
                                                         p6 : INTEGER;
                                                         p7 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:DuctusClipRenderer) needTile*(p0 : java_lang.Object;
                                                  p1 : INTEGER;
                                                  p2 : INTEGER;
                                                  p3 : INTEGER;
                                                  p4 : INTEGER) : BOOLEAN,NEW,EXTENSIBLE;

    PROCEDURE (self:DuctusClipRenderer) renderPathTile*(    p0 : java_lang.Object;
                                                        IN  p1 : ARRAY OF BYTE;
                                                            p2 : INTEGER;
                                                            p3 : INTEGER;
                                                            p4 : INTEGER;
                                                            p5 : INTEGER;
                                                            p6 : INTEGER;
                                                            p7 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:DuctusClipRenderer) skipTile*(p0 : java_lang.Object;
                                                  p1 : INTEGER;
                                                  p2 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:DuctusClipRenderer) startSequence*(    p0 : sun_java2d.SunGraphics2D;
                                                           p1 : java_awt.Shape;
                                                           p2 : java_awt.Rectangle;
                                                       IN  p3 : ARRAY OF INTEGER) : java_lang.Object,NEW,EXTENSIBLE;

    PROCEDURE (self:DuctusShapeRenderer) draw*(p0 : sun_java2d.SunGraphics2D;
                                               p1 : java_awt.Shape),NEW,EXTENSIBLE;

    PROCEDURE (self:DuctusShapeRenderer) fill*(p0 : sun_java2d.SunGraphics2D;
                                               p1 : java_awt.Shape),NEW,EXTENSIBLE;

    PROCEDURE (self:DuctusShapeRenderer) renderPath*(p0 : sun_java2d.SunGraphics2D;
                                                     p1 : java_awt.Shape;
                                                     p2 : java_awt.BasicStroke),NEW,EXTENSIBLE;

    PROCEDURE (self:GeneralCompositePipe) endSequence*(p0 : java_lang.Object),NEW,EXTENSIBLE;

    PROCEDURE (self:GeneralCompositePipe) needTile*(p0 : java_lang.Object;
                                                    p1 : INTEGER;
                                                    p2 : INTEGER;
                                                    p3 : INTEGER;
                                                    p4 : INTEGER) : BOOLEAN,NEW,EXTENSIBLE;

    PROCEDURE (self:GeneralCompositePipe) renderPathTile*(    p0 : java_lang.Object;
                                                          IN  p1 : ARRAY OF BYTE;
                                                              p2 : INTEGER;
                                                              p3 : INTEGER;
                                                              p4 : INTEGER;
                                                              p5 : INTEGER;
                                                              p6 : INTEGER;
                                                              p7 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:GeneralCompositePipe) skipTile*(p0 : java_lang.Object;
                                                    p1 : INTEGER;
                                                    p2 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:GeneralCompositePipe) startSequence*(    p0 : sun_java2d.SunGraphics2D;
                                                             p1 : java_awt.Shape;
                                                             p2 : java_awt.Rectangle;
                                                         IN  p3 : ARRAY OF INTEGER) : java_lang.Object,NEW,EXTENSIBLE;

    PROCEDURE (self:LineStylePipe) setLineAttrs*(    p0 : SHORTREAL;
                                                     p1 : SHORTREAL;
                                                 IN  p2 : ARRAY OF SHORTREAL;
                                                     p3 : SHORTREAL;
                                                     p4 : INTEGER;
                                                     p5 : INTEGER),NEW,ABSTRACT;

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

    PROCEDURE (self:NullPixelPipe) drawLine*(p0 : sun_java2d.SunGraphics2D;
                                             p1 : INTEGER;
                                             p2 : INTEGER;
                                             p3 : INTEGER;
                                             p4 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:NullPixelPipe) drawOval*(p0 : sun_java2d.SunGraphics2D;
                                             p1 : INTEGER;
                                             p2 : INTEGER;
                                             p3 : INTEGER;
                                             p4 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:NullPixelPipe) drawPolygon*(    p0 : sun_java2d.SunGraphics2D;
                                                IN  p1 : ARRAY OF INTEGER;
                                                IN  p2 : ARRAY OF INTEGER;
                                                    p3 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:NullPixelPipe) drawPolyline*(    p0 : sun_java2d.SunGraphics2D;
                                                 IN  p1 : ARRAY OF INTEGER;
                                                 IN  p2 : ARRAY OF INTEGER;
                                                     p3 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:NullPixelPipe) drawRect*(p0 : sun_java2d.SunGraphics2D;
                                             p1 : INTEGER;
                                             p2 : INTEGER;
                                             p3 : INTEGER;
                                             p4 : INTEGER),NEW,EXTENSIBLE;

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

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

    PROCEDURE (self:NullPixelPipe) fillOval*(p0 : sun_java2d.SunGraphics2D;
                                             p1 : INTEGER;
                                             p2 : INTEGER;
                                             p3 : INTEGER;
                                             p4 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:NullPixelPipe) fillPolygon*(    p0 : sun_java2d.SunGraphics2D;
                                                IN  p1 : ARRAY OF INTEGER;
                                                IN  p2 : ARRAY OF INTEGER;
                                                    p3 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:NullPixelPipe) fillRect*(p0 : sun_java2d.SunGraphics2D;
                                             p1 : INTEGER;
                                             p2 : INTEGER;
                                             p3 : INTEGER;
                                             p4 : INTEGER),NEW,EXTENSIBLE;

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

    PROCEDURE (self:NullShapePipe) draw*(p0 : sun_java2d.SunGraphics2D;
                                         p1 : java_awt.Shape),NEW,EXTENSIBLE;

    PROCEDURE (self:NullShapePipe) fill*(p0 : sun_java2d.SunGraphics2D;
                                         p1 : java_awt.Shape),NEW,EXTENSIBLE;

    PROCEDURE (self:PixelDrawPipe) drawArc*(p0 : sun_java2d.SunGraphics2D;
                                            p1 : INTEGER;
                                            p2 : INTEGER;
                                            p3 : INTEGER;
                                            p4 : INTEGER;
                                            p5 : INTEGER;
                                            p6 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:PixelDrawPipe) drawLine*(p0 : sun_java2d.SunGraphics2D;
                                             p1 : INTEGER;
                                             p2 : INTEGER;
                                             p3 : INTEGER;
                                             p4 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:PixelDrawPipe) drawOval*(p0 : sun_java2d.SunGraphics2D;
                                             p1 : INTEGER;
                                             p2 : INTEGER;
                                             p3 : INTEGER;
                                             p4 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:PixelDrawPipe) drawPolygon*(    p0 : sun_java2d.SunGraphics2D;
                                                IN  p1 : ARRAY OF INTEGER;
                                                IN  p2 : ARRAY OF INTEGER;
                                                    p3 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:PixelDrawPipe) drawPolyline*(    p0 : sun_java2d.SunGraphics2D;
                                                 IN  p1 : ARRAY OF INTEGER;
                                                 IN  p2 : ARRAY OF INTEGER;
                                                     p3 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:PixelDrawPipe) drawRect*(p0 : sun_java2d.SunGraphics2D;
                                             p1 : INTEGER;
                                             p2 : INTEGER;
                                             p3 : INTEGER;
                                             p4 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:PixelDrawPipe) drawRoundRect*(p0 : sun_java2d.SunGraphics2D;
                                                  p1 : INTEGER;
                                                  p2 : INTEGER;
                                                  p3 : INTEGER;
                                                  p4 : INTEGER;
                                                  p5 : INTEGER;
                                                  p6 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:PixelFillPipe) fillArc*(p0 : sun_java2d.SunGraphics2D;
                                            p1 : INTEGER;
                                            p2 : INTEGER;
                                            p3 : INTEGER;
                                            p4 : INTEGER;
                                            p5 : INTEGER;
                                            p6 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:PixelFillPipe) fillOval*(p0 : sun_java2d.SunGraphics2D;
                                             p1 : INTEGER;
                                             p2 : INTEGER;
                                             p3 : INTEGER;
                                             p4 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:PixelFillPipe) fillPolygon*(    p0 : sun_java2d.SunGraphics2D;
                                                IN  p1 : ARRAY OF INTEGER;
                                                IN  p2 : ARRAY OF INTEGER;
                                                    p3 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:PixelFillPipe) fillRect*(p0 : sun_java2d.SunGraphics2D;
                                             p1 : INTEGER;
                                             p2 : INTEGER;
                                             p3 : INTEGER;
                                             p4 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:PixelFillPipe) fillRoundRect*(p0 : sun_java2d.SunGraphics2D;
                                                  p1 : INTEGER;
                                                  p2 : INTEGER;
                                                  p3 : INTEGER;
                                                  p4 : INTEGER;
                                                  p5 : INTEGER;
                                                  p6 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:PixelToPolyConverter) drawLine*(p0 : sun_java2d.SunGraphics2D;
                                                    p1 : INTEGER;
                                                    p2 : INTEGER;
                                                    p3 : INTEGER;
                                                    p4 : INTEGER),EXTENSIBLE;

    PROCEDURE (self:PixelToPolyConverter) drawPolygon*(    p0 : sun_java2d.SunGraphics2D;
                                                       IN  p1 : ARRAY OF INTEGER;
                                                       IN  p2 : ARRAY OF INTEGER;
                                                           p3 : INTEGER),EXTENSIBLE;

    PROCEDURE (self:PixelToPolyConverter) drawPolyline*(    p0 : sun_java2d.SunGraphics2D;
                                                        IN  p1 : ARRAY OF INTEGER;
                                                        IN  p2 : ARRAY OF INTEGER;
                                                            p3 : INTEGER),EXTENSIBLE;

    PROCEDURE (self:PixelToPolyConverter) drawRect*(p0 : sun_java2d.SunGraphics2D;
                                                    p1 : INTEGER;
                                                    p2 : INTEGER;
                                                    p3 : INTEGER;
                                                    p4 : INTEGER),EXTENSIBLE;

    PROCEDURE (self:PixelToPolyConverter) fillPolygon*(    p0 : sun_java2d.SunGraphics2D;
                                                       IN  p1 : ARRAY OF INTEGER;
                                                       IN  p2 : ARRAY OF INTEGER;
                                                           p3 : INTEGER),EXTENSIBLE;

    PROCEDURE (self:PixelToPolyConverter) fillRect*(p0 : sun_java2d.SunGraphics2D;
                                                    p1 : INTEGER;
                                                    p2 : INTEGER;
                                                    p3 : INTEGER;
                                                    p4 : INTEGER),EXTENSIBLE;

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

    PROCEDURE (self:PixelToShapeConverter) drawLine*(p0 : sun_java2d.SunGraphics2D;
                                                     p1 : INTEGER;
                                                     p2 : INTEGER;
                                                     p3 : INTEGER;
                                                     p4 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:PixelToShapeConverter) drawOval*(p0 : sun_java2d.SunGraphics2D;
                                                     p1 : INTEGER;
                                                     p2 : INTEGER;
                                                     p3 : INTEGER;
                                                     p4 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:PixelToShapeConverter) drawPolygon*(    p0 : sun_java2d.SunGraphics2D;
                                                        IN  p1 : ARRAY OF INTEGER;
                                                        IN  p2 : ARRAY OF INTEGER;
                                                            p3 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:PixelToShapeConverter) drawPolyline*(    p0 : sun_java2d.SunGraphics2D;
                                                         IN  p1 : ARRAY OF INTEGER;
                                                         IN  p2 : ARRAY OF INTEGER;
                                                             p3 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:PixelToShapeConverter) drawRect*(p0 : sun_java2d.SunGraphics2D;
                                                     p1 : INTEGER;
                                                     p2 : INTEGER;
                                                     p3 : INTEGER;
                                                     p4 : INTEGER),NEW,EXTENSIBLE;

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

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

    PROCEDURE (self:PixelToShapeConverter) fillOval*(p0 : sun_java2d.SunGraphics2D;
                                                     p1 : INTEGER;
                                                     p2 : INTEGER;
                                                     p3 : INTEGER;
                                                     p4 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:PixelToShapeConverter) fillPolygon*(    p0 : sun_java2d.SunGraphics2D;
                                                        IN  p1 : ARRAY OF INTEGER;
                                                        IN  p2 : ARRAY OF INTEGER;
                                                            p3 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:PixelToShapeConverter) fillRect*(p0 : sun_java2d.SunGraphics2D;
                                                     p1 : INTEGER;
                                                     p2 : INTEGER;
                                                     p3 : INTEGER;
                                                     p4 : INTEGER),NEW,EXTENSIBLE;

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

    PROCEDURE (self:Region) appendSpan*(p0 : INTEGER;
                                        p1 : INTEGER;
                                        p2 : INTEGER;
                                        p3 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:Region) appendSpans*(p0 : SpanIterator),NEW,EXTENSIBLE;

    PROCEDURE (self:Region) getBounds*(IN  p0 : ARRAY OF INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:Region) getIterator*() : RegionIterator,NEW,EXTENSIBLE;

    PROCEDURE (self:Region) setOutputArea*(p0 : INTEGER;
                                           p1 : INTEGER;
                                           p2 : INTEGER;
                                           p3 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:Region) setOutputArea*(p0 : java_awt.Rectangle),NEW,EXTENSIBLE;

    PROCEDURE (self:RegionIterator) copyStateFrom*(p0 : RegionIterator),NEW,EXTENSIBLE;

    PROCEDURE (self:RegionIterator) createCopy*() : RegionIterator,NEW,EXTENSIBLE;

    PROCEDURE (self:RegionIterator) nextXBand*(IN  p0 : ARRAY OF INTEGER) : BOOLEAN,NEW,EXTENSIBLE;

    PROCEDURE (self:RegionIterator) nextYRange*(IN  p0 : ARRAY OF INTEGER) : BOOLEAN,NEW,EXTENSIBLE;

    PROCEDURE (self:ShapeDrawPipe) draw*(p0 : sun_java2d.SunGraphics2D;
                                         p1 : java_awt.Shape),NEW,ABSTRACT;

    PROCEDURE (self:ShapeDrawPipe) fill*(p0 : sun_java2d.SunGraphics2D;
                                         p1 : java_awt.Shape),NEW,ABSTRACT;

    PROCEDURE (self:ShapeSpanIterator) addSegment*(    p0 : INTEGER;
                                                   IN  p1 : ARRAY OF SHORTREAL),NEW,EXTENSIBLE;

    PROCEDURE (self:ShapeSpanIterator) appendCubic*(p0 : SHORTREAL;
                                                    p1 : SHORTREAL;
                                                    p2 : SHORTREAL;
                                                    p3 : SHORTREAL;
                                                    p4 : SHORTREAL;
                                                    p5 : SHORTREAL),NEW,EXTENSIBLE;

    PROCEDURE (self:ShapeSpanIterator) appendLine*(p0 : SHORTREAL;
                                                   p1 : SHORTREAL),NEW,EXTENSIBLE;

    PROCEDURE (self:ShapeSpanIterator) appendPath*(p0 : java_awt_geom.PathIterator),NEW,EXTENSIBLE;

    PROCEDURE (self:ShapeSpanIterator) appendQuadratic*(p0 : SHORTREAL;
                                                        p1 : SHORTREAL;
                                                        p2 : SHORTREAL;
                                                        p3 : SHORTREAL),NEW,EXTENSIBLE;

    PROCEDURE (self:ShapeSpanIterator) beginPath*(),NEW,EXTENSIBLE;

    PROCEDURE (self:ShapeSpanIterator) beginSubpath*(p0 : SHORTREAL;
                                                     p1 : SHORTREAL),NEW,EXTENSIBLE;

    PROCEDURE (self:ShapeSpanIterator) closedSubpath*(),NEW,EXTENSIBLE;

    PROCEDURE (self:ShapeSpanIterator) dispose*(),NEW,EXTENSIBLE;

    PROCEDURE (self:ShapeSpanIterator) endPath*(),NEW,EXTENSIBLE;

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

    PROCEDURE (self:ShapeSpanIterator) getCPathConsumer*() : LONGINT,NEW,EXTENSIBLE;

    PROCEDURE (self:ShapeSpanIterator) getNativeIterator*() : LONGINT,NEW,EXTENSIBLE;

    PROCEDURE (self:ShapeSpanIterator) getPathBox*(IN  p0 : ARRAY OF INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:ShapeSpanIterator) nextSpan*(IN  p0 : ARRAY OF INTEGER) : BOOLEAN,NEW,EXTENSIBLE;

    PROCEDURE (self:ShapeSpanIterator) setOutputArea*(p0 : INTEGER;
                                                      p1 : INTEGER;
                                                      p2 : INTEGER;
                                                      p3 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:ShapeSpanIterator) setOutputArea*(p0 : java_awt.Rectangle),NEW,EXTENSIBLE;

    PROCEDURE (self:ShapeSpanIterator) setRule*(p0 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:ShapeSpanIterator) skipDownTo*(p0 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:ShapeSpanIterator) useProxy*(p0 : sun_dc_path.FastPathProducer),NEW,EXTENSIBLE;

    PROCEDURE (self:ShapeToPolyConverter) draw*(p0 : sun_java2d.SunGraphics2D;
                                                p1 : java_awt.Shape),NEW,EXTENSIBLE;

    PROCEDURE (self:ShapeToPolyConverter) fill*(p0 : sun_java2d.SunGraphics2D;
                                                p1 : java_awt.Shape),NEW,EXTENSIBLE;

    PROCEDURE (self:SimpleRenderPipe) drawLine*(p0 : sun_java2d.SunGraphics2D;
                                                p1 : INTEGER;
                                                p2 : INTEGER;
                                                p3 : INTEGER;
                                                p4 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:SimpleRenderPipe) drawPolys*(    p0 : sun_java2d.SunGraphics2D;
                                                 IN  p1 : ARRAY OF INTEGER;
                                                 IN  p2 : ARRAY OF INTEGER;
                                                 IN  p3 : ARRAY OF INTEGER;
                                                     p4 : INTEGER;
                                                     p5 : BOOLEAN),NEW,ABSTRACT;

    PROCEDURE (self:SimpleRenderPipe) fillPolys*(    p0 : sun_java2d.SunGraphics2D;
                                                 IN  p1 : ARRAY OF INTEGER;
                                                 IN  p2 : ARRAY OF INTEGER;
                                                 IN  p3 : ARRAY OF INTEGER;
                                                     p4 : INTEGER;
                                                     p5 : BOOLEAN),NEW,ABSTRACT;

    PROCEDURE (self:SimpleRenderPipe) fillRect*(p0 : sun_java2d.SunGraphics2D;
                                                p1 : INTEGER;
                                                p2 : INTEGER;
                                                p3 : INTEGER;
                                                p4 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:SimpleRenderPipe) fillSpans*(p0 : sun_java2d.SunGraphics2D;
                                                 p1 : SpanIterator),NEW,ABSTRACT;

    PROCEDURE (self:SpanClipRenderer) endSequence*(p0 : java_lang.Object),NEW,EXTENSIBLE;

    PROCEDURE (self:SpanClipRenderer) eraseTile*(    p0 : RegionIterator;
                                                 IN  p1 : ARRAY OF BYTE;
                                                     p2 : INTEGER;
                                                     p3 : INTEGER;
                                                 IN  p4 : ARRAY OF INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:SpanClipRenderer) fillTile*(    p0 : RegionIterator;
                                                IN  p1 : ARRAY OF BYTE;
                                                    p2 : INTEGER;
                                                    p3 : INTEGER;
                                                IN  p4 : ARRAY OF INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:SpanClipRenderer) needTile*(p0 : java_lang.Object;
                                                p1 : INTEGER;
                                                p2 : INTEGER;
                                                p3 : INTEGER;
                                                p4 : INTEGER) : BOOLEAN,NEW,EXTENSIBLE;

    PROCEDURE (self:SpanClipRenderer) renderPathTile*(    p0 : java_lang.Object;
                                                      IN  p1 : ARRAY OF BYTE;
                                                          p2 : INTEGER;
                                                          p3 : INTEGER;
                                                          p4 : INTEGER;
                                                          p5 : INTEGER;
                                                          p6 : INTEGER;
                                                          p7 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:SpanClipRenderer) renderPathTile*(    p0 : java_lang.Object;
                                                      IN  p1 : ARRAY OF BYTE;
                                                          p2 : INTEGER;
                                                          p3 : INTEGER;
                                                          p4 : INTEGER;
                                                          p5 : INTEGER;
                                                          p6 : INTEGER;
                                                          p7 : INTEGER;
                                                          p8 : ShapeSpanIterator),NEW,EXTENSIBLE;

    PROCEDURE (self:SpanClipRenderer) skipTile*(p0 : java_lang.Object;
                                                p1 : INTEGER;
                                                p2 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:SpanClipRenderer) startSequence*(    p0 : sun_java2d.SunGraphics2D;
                                                         p1 : java_awt.Shape;
                                                         p2 : java_awt.Rectangle;
                                                     IN  p3 : ARRAY OF INTEGER) : java_lang.Object,NEW,EXTENSIBLE;

    PROCEDURE (self:SpanIterator) getNativeIterator*() : LONGINT,NEW,ABSTRACT;

    PROCEDURE (self:SpanIterator) getPathBox*(IN  p0 : ARRAY OF INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:SpanIterator) nextSpan*(IN  p0 : ARRAY OF INTEGER) : BOOLEAN,NEW,ABSTRACT;

    PROCEDURE (self:SpanIterator) skipDownTo*(p0 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:SpanShapeRenderer$Composite) endSequence*(p0 : java_lang.Object),EXTENSIBLE;

    PROCEDURE (self:SpanShapeRenderer$Composite) renderBox*(p0 : java_lang.Object;
                                                            p1 : INTEGER;
                                                            p2 : INTEGER;
                                                            p3 : INTEGER;
                                                            p4 : INTEGER),EXTENSIBLE;

    PROCEDURE (self:SpanShapeRenderer$Composite) renderSpan*(p0 : java_lang.Object;
                                                             p1 : INTEGER;
                                                             p2 : INTEGER;
                                                             p3 : INTEGER),EXTENSIBLE;

    PROCEDURE (self:SpanShapeRenderer$Composite) startSequence*(    p0 : sun_java2d.SunGraphics2D;
                                                                    p1 : java_awt.Shape;
                                                                    p2 : java_awt.Rectangle;
                                                                IN  p3 : ARRAY OF INTEGER) : java_lang.Object,EXTENSIBLE;

    PROCEDURE (self:SpanShapeRenderer$Simple) endSequence*(p0 : java_lang.Object),EXTENSIBLE;

    PROCEDURE (self:SpanShapeRenderer$Simple) renderBox*(p0 : java_lang.Object;
                                                         p1 : INTEGER;
                                                         p2 : INTEGER;
                                                         p3 : INTEGER;
                                                         p4 : INTEGER),EXTENSIBLE;

    PROCEDURE (self:SpanShapeRenderer$Simple) renderSpan*(p0 : java_lang.Object;
                                                          p1 : INTEGER;
                                                          p2 : INTEGER;
                                                          p3 : INTEGER),EXTENSIBLE;

    PROCEDURE (self:SpanShapeRenderer$Simple) startSequence*(    p0 : sun_java2d.SunGraphics2D;
                                                                 p1 : java_awt.Shape;
                                                                 p2 : java_awt.Rectangle;
                                                             IN  p3 : ARRAY OF INTEGER) : java_lang.Object,EXTENSIBLE;

    PROCEDURE (self:SpanShapeRenderer) draw*(p0 : sun_java2d.SunGraphics2D;
                                             p1 : java_awt.Shape),NEW,EXTENSIBLE;

    PROCEDURE (self:SpanShapeRenderer) endSequence*(p0 : java_lang.Object),NEW,ABSTRACT;

    PROCEDURE (self:SpanShapeRenderer) fill*(p0 : sun_java2d.SunGraphics2D;
                                             p1 : java_awt.Shape),NEW,EXTENSIBLE;

    PROCEDURE (self:SpanShapeRenderer) renderBox*(p0 : java_lang.Object;
                                                  p1 : INTEGER;
                                                  p2 : INTEGER;
                                                  p3 : INTEGER;
                                                  p4 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:SpanShapeRenderer) renderPath*(p0 : sun_java2d.SunGraphics2D;
                                                   p1 : java_awt.Shape),NEW,EXTENSIBLE;

    PROCEDURE (self:SpanShapeRenderer) renderRect*(p0 : sun_java2d.SunGraphics2D;
                                                   p1 : java_awt_geom.Rectangle2D),NEW,EXTENSIBLE;

    PROCEDURE (self:SpanShapeRenderer) renderSpan*(p0 : java_lang.Object;
                                                   p1 : INTEGER;
                                                   p2 : INTEGER;
                                                   p3 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:SpanShapeRenderer) spanClipLoop*(    p0 : java_lang.Object;
                                                         p1 : ShapeSpanIterator;
                                                         p2 : Region;
                                                     IN  p3 : ARRAY OF INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:SpanShapeRenderer) spanLoop*(    p0 : java_lang.Object;
                                                     p1 : ShapeSpanIterator;
                                                 IN  p2 : ARRAY OF INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:SpanShapeRenderer) startSequence*(    p0 : sun_java2d.SunGraphics2D;
                                                          p1 : java_awt.Shape;
                                                          p2 : java_awt.Rectangle;
                                                      IN  p3 : ARRAY OF INTEGER) : java_lang.Object,NEW,ABSTRACT;

    PROCEDURE (self:TextPipe) drawBytes*(    p0 : sun_java2d.SunGraphics2D;
                                         IN  p1 : ARRAY OF BYTE;
                                             p2 : INTEGER;
                                             p3 : INTEGER;
                                             p4 : INTEGER;
                                             p5 : INTEGER;
                                             p6 : java_lang.Object) : java_lang.Object,NEW,ABSTRACT;

    PROCEDURE (self:TextPipe) drawChars*(    p0 : sun_java2d.SunGraphics2D;
                                         IN  p1 : ARRAY OF CHAR;
                                             p2 : INTEGER;
                                             p3 : INTEGER;
                                             p4 : INTEGER;
                                             p5 : INTEGER;
                                             p6 : java_lang.Object) : java_lang.Object,NEW,ABSTRACT;

    PROCEDURE (self:TextPipe) drawGlyphVector*(p0 : sun_java2d.SunGraphics2D;
                                               p1 : java_awt_font.GlyphVector;
                                               p2 : SHORTREAL;
                                               p3 : SHORTREAL;
                                               p4 : java_lang.Object) : java_lang.Object,NEW,ABSTRACT;

    PROCEDURE (self:TextPipe) drawString*(p0 : sun_java2d.SunGraphics2D;
                                          p1 : java_lang.String;
                                          p2 : SHORTREAL;
                                          p3 : SHORTREAL;
                                          p4 : java_lang.Object) : java_lang.Object,NEW,ABSTRACT;

    PROCEDURE (self:TranslateablePipe) setOrigin*(p0 : INTEGER;
                                                  p1 : INTEGER),NEW,ABSTRACT;

    PROCEDURE (self:ValidatePipe) draw*(p0 : sun_java2d.SunGraphics2D;
                                        p1 : java_awt.Shape),NEW,EXTENSIBLE;

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

    PROCEDURE (self:ValidatePipe) drawBytes*(    p0 : sun_java2d.SunGraphics2D;
                                             IN  p1 : ARRAY OF BYTE;
                                                 p2 : INTEGER;
                                                 p3 : INTEGER;
                                                 p4 : INTEGER;
                                                 p5 : INTEGER;
                                                 p6 : java_lang.Object) : java_lang.Object,NEW,EXTENSIBLE;

    PROCEDURE (self:ValidatePipe) drawChars*(    p0 : sun_java2d.SunGraphics2D;
                                             IN  p1 : ARRAY OF CHAR;
                                                 p2 : INTEGER;
                                                 p3 : INTEGER;
                                                 p4 : INTEGER;
                                                 p5 : INTEGER;
                                                 p6 : java_lang.Object) : java_lang.Object,NEW,EXTENSIBLE;

    PROCEDURE (self:ValidatePipe) drawGlyphVector*(p0 : sun_java2d.SunGraphics2D;
                                                   p1 : java_awt_font.GlyphVector;
                                                   p2 : SHORTREAL;
                                                   p3 : SHORTREAL;
                                                   p4 : java_lang.Object) : java_lang.Object,NEW,EXTENSIBLE;

    PROCEDURE (self:ValidatePipe) drawLine*(p0 : sun_java2d.SunGraphics2D;
                                            p1 : INTEGER;
                                            p2 : INTEGER;
                                            p3 : INTEGER;
                                            p4 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:ValidatePipe) drawOval*(p0 : sun_java2d.SunGraphics2D;
                                            p1 : INTEGER;
                                            p2 : INTEGER;
                                            p3 : INTEGER;
                                            p4 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:ValidatePipe) drawPolygon*(    p0 : sun_java2d.SunGraphics2D;
                                               IN  p1 : ARRAY OF INTEGER;
                                               IN  p2 : ARRAY OF INTEGER;
                                                   p3 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:ValidatePipe) drawPolyline*(    p0 : sun_java2d.SunGraphics2D;
                                                IN  p1 : ARRAY OF INTEGER;
                                                IN  p2 : ARRAY OF INTEGER;
                                                    p3 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:ValidatePipe) drawRect*(p0 : sun_java2d.SunGraphics2D;
                                            p1 : INTEGER;
                                            p2 : INTEGER;
                                            p3 : INTEGER;
                                            p4 : INTEGER),NEW,EXTENSIBLE;

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

    PROCEDURE (self:ValidatePipe) drawString*(p0 : sun_java2d.SunGraphics2D;
                                              p1 : java_lang.String;
                                              p2 : SHORTREAL;
                                              p3 : SHORTREAL;
                                              p4 : java_lang.Object) : java_lang.Object,NEW,EXTENSIBLE;

    PROCEDURE (self:ValidatePipe) fill*(p0 : sun_java2d.SunGraphics2D;
                                        p1 : java_awt.Shape),NEW,EXTENSIBLE;

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

    PROCEDURE (self:ValidatePipe) fillOval*(p0 : sun_java2d.SunGraphics2D;
                                            p1 : INTEGER;
                                            p2 : INTEGER;
                                            p3 : INTEGER;
                                            p4 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:ValidatePipe) fillPolygon*(    p0 : sun_java2d.SunGraphics2D;
                                               IN  p1 : ARRAY OF INTEGER;
                                               IN  p2 : ARRAY OF INTEGER;
                                                   p3 : INTEGER),NEW,EXTENSIBLE;

    PROCEDURE (self:ValidatePipe) fillRect*(p0 : sun_java2d.SunGraphics2D;
                                            p1 : INTEGER;
                                            p2 : INTEGER;
                                            p3 : INTEGER;
                                            p4 : INTEGER),NEW,EXTENSIBLE;

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

    END sun_java2d_pipe.