/** * 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; /* */ }