< prev index next >

modules/javafx.graphics/src/main/java/com/sun/marlin/RendererContext.java

Print this page

        

*** 23,34 **** * questions. */ package com.sun.marlin; - import java.awt.geom.Path2D; - import java.lang.ref.WeakReference; import java.util.concurrent.atomic.AtomicInteger; import com.sun.util.reentrant.ReentrantContext; import com.sun.javafx.geom.Rectangle; import com.sun.marlin.ArrayCacheConst.CacheStats; --- 23,32 ----
*** 58,69 **** public final float[] float6 = new float[6]; // shared curve (dirty) (Renderer / Stroker) final Curve curve = new Curve(); // MarlinRenderingEngine.TransformingPathConsumer2D public final TransformingPathConsumer2D transformerPC2D; - // recycled Path2D instance (weak) - private WeakReference<Path2D.Float> refPath2D = null; public final Renderer renderer; private RendererNoAA rendererNoAA = null; public final Stroker stroker; // Simplifies out collinear lines public final CollinearSimplifier simplifier = new CollinearSimplifier(); --- 56,65 ----
*** 147,173 **** // mark context as CLEAN: dirty = false; } } - Path2D.Float getPath2D() { - // resolve reference: - Path2D.Float p2d - = (refPath2D != null) ? refPath2D.get() : null; - - // create a new Path2D ? - if (p2d == null) { - p2d = new Path2D.Float(Path2D.WIND_NON_ZERO, INITIAL_EDGES_COUNT); // 32K - - // update weak reference: - refPath2D = new WeakReference<Path2D.Float>(p2d); - } - // reset the path anyway: - p2d.reset(); - return p2d; - } - public RendererNoAA getRendererNoAA() { if (rendererNoAA == null) { rendererNoAA = new RendererNoAA(this); } return rendererNoAA; --- 143,152 ----
< prev index next >