Search in sources :

Example 1 with RenderLoops

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;
}
Also used : RenderLoops(sun.java2d.loops.RenderLoops) SurfaceType(sun.java2d.loops.SurfaceType)

Example 2 with RenderLoops

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;
}
Also used : RenderLoops(sun.java2d.loops.RenderLoops)

Example 3 with RenderLoops

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;
}
Also used : RenderLoops(sun.java2d.loops.RenderLoops) SurfaceType(sun.java2d.loops.SurfaceType) CompositeType(sun.java2d.loops.CompositeType)

Aggregations

RenderLoops (sun.java2d.loops.RenderLoops)3 SurfaceType (sun.java2d.loops.SurfaceType)2 CompositeType (sun.java2d.loops.CompositeType)1