/**
  * Construct and return a RenderLoops object containing all of the basic GraphicsPrimitive objects
  * for rendering to the destination surface with the given source, destination, and composite
  * types.
  */
 public static RenderLoops makeRenderLoops(SurfaceType src, CompositeType comp, SurfaceType dst) {
   RenderLoops loops = new RenderLoops();
   loops.drawLineLoop = DrawLine.locate(src, comp, dst);
   loops.fillRectLoop = FillRect.locate(src, comp, dst);
   loops.drawRectLoop = DrawRect.locate(src, comp, dst);
   loops.drawPolygonsLoop = DrawPolygons.locate(src, comp, dst);
   loops.drawPathLoop = DrawPath.locate(src, comp, dst);
   loops.fillPathLoop = FillPath.locate(src, comp, dst);
   loops.fillSpansLoop = FillSpans.locate(src, comp, dst);
   loops.fillParallelogramLoop = FillParallelogram.locate(src, comp, dst);
   loops.drawParallelogramLoop = DrawParallelogram.locate(src, comp, dst);
   loops.drawGlyphListLoop = DrawGlyphList.locate(src, comp, dst);
   loops.drawGlyphListAALoop = DrawGlyphListAA.locate(src, comp, dst);
   loops.drawGlyphListLCDLoop = DrawGlyphListLCD.locate(src, comp, dst);
   /*
   System.out.println("drawLine: "+loops.drawLineLoop);
   System.out.println("fillRect: "+loops.fillRectLoop);
   System.out.println("drawRect: "+loops.drawRectLoop);
   System.out.println("drawPolygons: "+loops.drawPolygonsLoop);
   System.out.println("fillSpans: "+loops.fillSpansLoop);
   System.out.println("drawGlyphList: "+loops.drawGlyphListLoop);
   System.out.println("drawGlyphListAA: "+loops.drawGlyphListAALoop);
   System.out.println("drawGlyphListLCD: "+loops.drawGlyphListLCDLoop);
   */
   return loops;
 }
 public boolean canRenderParallelograms(SunGraphics2D sg2d) {
   if (sg2d.paintState <= SunGraphics2D.PAINT_ALPHACOLOR) {
     if (sg2d.compositeState == SunGraphics2D.COMP_XOR) {
       if (havePgramXORLoop == LOOP_UNKNOWN) {
         FillParallelogram loop =
             FillParallelogram.locate(SurfaceType.AnyColor, CompositeType.Xor, getSurfaceType());
         havePgramXORLoop = (loop != null) ? LOOP_FOUND : LOOP_NOTFOUND;
       }
       return havePgramXORLoop == LOOP_FOUND;
     } else if (sg2d.compositeState <= SunGraphics2D.COMP_ISCOPY
         && sg2d.antialiasHint != SunHints.INTVAL_ANTIALIAS_ON
         && sg2d.clipState != SunGraphics2D.CLIP_SHAPE) {
       if (havePgramSolidLoop == LOOP_UNKNOWN) {
         FillParallelogram loop =
             FillParallelogram.locate(
                 SurfaceType.AnyColor, CompositeType.SrcNoEa, getSurfaceType());
         havePgramSolidLoop = (loop != null) ? LOOP_FOUND : LOOP_NOTFOUND;
       }
       return havePgramSolidLoop == LOOP_FOUND;
     }
   }
   return false;
 }
 /*     */ public TraceFillParallelogram(FillParallelogram paramFillParallelogram) {
   /*  99 */ super(
       paramFillParallelogram.getCompositeType(), paramFillParallelogram.getDestType());
   /*     */
   /* 102 */ this.target = paramFillParallelogram;
   /*     */ }