< prev index next >

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

Print this page

        

@@ -66,10 +66,16 @@
     // Simplifies out collinear lines
     public final CollinearSimplifier simplifier = new CollinearSimplifier();
     public final Dasher dasher;
     // flag indicating the shape is stroked (1) or filled (0)
     int stroking = 0;
+    // flag indicating to clip the shape
+    public 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):
+    public final float[] clipRect = new float[4];
 
 // MarlinFX specific:
     // dirty bbox rectangle
     public final Rectangle clip = new Rectangle();
     // dirty MaskMarlinAlphaConsumer

@@ -109,11 +115,11 @@
         } else {
             stats = null;
         }
 
         // MarlinRenderingEngine.TransformingPathConsumer2D
-        transformerPC2D = new TransformingPathConsumer2D();
+        transformerPC2D = new TransformingPathConsumer2D(this);
 
         // Renderer shared memory:
         rdrMem = new RendererSharedMemory(this);
 
         // Renderer:

@@ -132,11 +138,14 @@
             if (stats.totalOffHeap > stats.totalOffHeapMax) {
                 stats.totalOffHeapMax = stats.totalOffHeap;
             }
             stats.totalOffHeap = 0L;
         }
-        stroking = 0;
+        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 >