< prev index next >

src/java.desktop/share/classes/sun/java2d/marlin/RendererContext.java

Print this page

        

*** 23,32 **** --- 23,33 ---- * questions. */ package sun.java2d.marlin; + import java.awt.Rectangle; import java.awt.geom.Path2D; import java.lang.ref.WeakReference; import java.util.concurrent.atomic.AtomicInteger; import sun.java2d.ReentrantContext; import sun.java2d.marlin.ArrayCacheConst.CacheStats;
*** 73,82 **** --- 74,89 ---- final Dasher dasher; final MarlinTileGenerator ptg; final MarlinCache cache; // flag indicating the shape is stroked (1) or filled (0) int stroking = 0; + // flag indicating to clip the shape + boolean doClip = false; + // flag indicating if the path is closed or not (in advance) to handle properly caps + boolean closedPath = false; + // clip rectangle (ymin, ymax, xmin, xmax): + final float[] clipRect = new float[4]; // Array caches: /* clean int[] cache (zero-filled) = 5 refs */ private final IntArrayCache cleanIntCache = new IntArrayCache(true, 5); /* dirty int[] cache = 4 refs */
*** 114,124 **** // NormalizingPathIterator instances: nPCPathIterator = new NormalizingPathIterator.NearestPixelCenter(float6); nPQPathIterator = new NormalizingPathIterator.NearestPixelQuarter(float6); // MarlinRenderingEngine.TransformingPathConsumer2D ! transformerPC2D = new TransformingPathConsumer2D(); // Renderer: cache = new MarlinCache(this); renderer = new Renderer(this); // needs MarlinCache from rdrCtx.cache ptg = new MarlinTileGenerator(stats, renderer, cache); --- 121,131 ---- // NormalizingPathIterator instances: nPCPathIterator = new NormalizingPathIterator.NearestPixelCenter(float6); nPQPathIterator = new NormalizingPathIterator.NearestPixelQuarter(float6); // MarlinRenderingEngine.TransformingPathConsumer2D ! transformerPC2D = new TransformingPathConsumer2D(this); // Renderer: cache = new MarlinCache(this); renderer = new Renderer(this); // needs MarlinCache from rdrCtx.cache ptg = new MarlinTileGenerator(stats, renderer, cache);
*** 136,146 **** if (stats.totalOffHeap > stats.totalOffHeapMax) { stats.totalOffHeapMax = stats.totalOffHeap; } stats.totalOffHeap = 0L; } ! stroking = 0; // if context is maked as DIRTY: if (dirty) { // may happen if an exception if thrown in the pipeline processing: // force cleanup of all possible pipelined blocks (except Renderer): --- 143,156 ---- if (stats.totalOffHeap > stats.totalOffHeapMax) { stats.totalOffHeapMax = stats.totalOffHeap; } stats.totalOffHeap = 0L; } ! stroking = 0; ! doClip = false; ! closedPath = false; ! // if context is maked as DIRTY: if (dirty) { // may happen if an exception if thrown in the pipeline processing: // force cleanup of all possible pipelined blocks (except Renderer):
< prev index next >