< 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 >