use of sun.java2d.loops.RenderLoops in project jdk8u_jdk by JetBrains.
the class BufImgSurfaceData method getSolidLoops.
public static synchronized RenderLoops getSolidLoops(SurfaceType type) {
for (int i = CACHE_SIZE - 1; i >= 0; i--) {
SurfaceType t = typecache[i];
if (t == type) {
return loopcache[i];
} else if (t == null) {
break;
}
}
RenderLoops l = makeRenderLoops(SurfaceType.OpaqueColor, CompositeType.SrcNoEa, type);
System.arraycopy(loopcache, 1, loopcache, 0, CACHE_SIZE - 1);
System.arraycopy(typecache, 1, typecache, 0, CACHE_SIZE - 1);
loopcache[CACHE_SIZE - 1] = l;
typecache[CACHE_SIZE - 1] = type;
return l;
}
use of sun.java2d.loops.RenderLoops in project jdk8u_jdk by JetBrains.
the class SurfaceData method makeRenderLoops.
/**
* 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);
loops.drawGlyphListColorLoop = DrawGlyphListColor.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;
}
use of sun.java2d.loops.RenderLoops in project jdk8u_jdk by JetBrains.
the class SurfaceData method getRenderLoops.
/**
* Return a RenderLoops object containing all of the basic
* GraphicsPrimitive objects for rendering to the destination
* surface with the current attributes of the given SunGraphics2D.
*/
public RenderLoops getRenderLoops(SunGraphics2D sg2d) {
SurfaceType src = getPaintSurfaceType(sg2d);
CompositeType comp = getFillCompositeType(sg2d);
SurfaceType dst = sg2d.getSurfaceData().getSurfaceType();
Object o = loopcache.get(src, comp, dst);
if (o != null) {
return (RenderLoops) o;
}
RenderLoops loops = makeRenderLoops(src, comp, dst);
loopcache.put(src, comp, dst, loops);
return loops;
}
Aggregations