< prev index next >

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

Print this page




  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 package com.sun.marlin;
  27 
  28 import static com.sun.marlin.OffHeapArray.SIZE_INT;
  29 import jdk.internal.misc.Unsafe;
  30 
  31 public final class RendererNoAA implements MarlinRenderer, MarlinConst {
  32 
  33     static final boolean DISABLE_RENDER = false;
  34 
  35     private static final int ALL_BUT_LSB = 0xFFFFFFFE;
  36     private static final int ERR_STEP_MAX = 0x7FFFFFFF; // = 2^31 - 1
  37 
  38     private static final double POWER_2_TO_32 = 0x1.0p32d;
  39 



  40     // common to all types of input path segments.
  41     // OFFSET as bytes
  42     // only integer values:
  43     public static final long OFF_CURX_OR  = 0;
  44     public static final long OFF_ERROR    = OFF_CURX_OR  + SIZE_INT;
  45     public static final long OFF_BUMP_X   = OFF_ERROR    + SIZE_INT;
  46     public static final long OFF_BUMP_ERR = OFF_BUMP_X   + SIZE_INT;
  47     public static final long OFF_NEXT     = OFF_BUMP_ERR + SIZE_INT;
  48     public static final long OFF_YMAX     = OFF_NEXT     + SIZE_INT;
  49 
  50     // size of one edge in bytes
  51     public static final int SIZEOF_EDGE_BYTES = (int)(OFF_YMAX + SIZE_INT);
  52 
  53     // curve break into lines
  54     // cubic error in subpixels to decrement step
  55     private static final float CUB_DEC_ERR_SUBPIX
  56         = MarlinProperties.getCubicDecD2() * (1.0f / 8.0f); // 1 pixel
  57     // cubic error in subpixels to increment step
  58     private static final float CUB_INC_ERR_SUBPIX
  59         = MarlinProperties.getCubicIncD1() * (1.0f / 8.0f); // 0.4 pixel


1465     int bboxX0, bboxX1, bboxY0, bboxY1;
1466 
1467     @Override
1468     public int getOutpixMinX() {
1469         return bboxX0;
1470     }
1471 
1472     @Override
1473     public int getOutpixMaxX() {
1474         return bboxX1;
1475     }
1476 
1477     @Override
1478     public int getOutpixMinY() {
1479         return bboxY0;
1480     }
1481 
1482     @Override
1483     public int getOutpixMaxY() {
1484         return bboxY1;










1485     }
1486 }


  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 package com.sun.marlin;
  27 
  28 import static com.sun.marlin.OffHeapArray.SIZE_INT;
  29 import jdk.internal.misc.Unsafe;
  30 
  31 public final class RendererNoAA implements MarlinRenderer, MarlinConst {
  32 
  33     static final boolean DISABLE_RENDER = false;
  34 
  35     private static final int ALL_BUT_LSB = 0xFFFFFFFE;
  36     private static final int ERR_STEP_MAX = 0x7FFFFFFF; // = 2^31 - 1
  37 
  38     private static final double POWER_2_TO_32 = 0x1.0p32d;
  39 
  40     private static final float RDR_OFFSET_X = 0.501f;
  41     private static final float RDR_OFFSET_Y = 0.501f;
  42 
  43     // common to all types of input path segments.
  44     // OFFSET as bytes
  45     // only integer values:
  46     public static final long OFF_CURX_OR  = 0;
  47     public static final long OFF_ERROR    = OFF_CURX_OR  + SIZE_INT;
  48     public static final long OFF_BUMP_X   = OFF_ERROR    + SIZE_INT;
  49     public static final long OFF_BUMP_ERR = OFF_BUMP_X   + SIZE_INT;
  50     public static final long OFF_NEXT     = OFF_BUMP_ERR + SIZE_INT;
  51     public static final long OFF_YMAX     = OFF_NEXT     + SIZE_INT;
  52 
  53     // size of one edge in bytes
  54     public static final int SIZEOF_EDGE_BYTES = (int)(OFF_YMAX + SIZE_INT);
  55 
  56     // curve break into lines
  57     // cubic error in subpixels to decrement step
  58     private static final float CUB_DEC_ERR_SUBPIX
  59         = MarlinProperties.getCubicDecD2() * (1.0f / 8.0f); // 1 pixel
  60     // cubic error in subpixels to increment step
  61     private static final float CUB_INC_ERR_SUBPIX
  62         = MarlinProperties.getCubicIncD1() * (1.0f / 8.0f); // 0.4 pixel


1468     int bboxX0, bboxX1, bboxY0, bboxY1;
1469 
1470     @Override
1471     public int getOutpixMinX() {
1472         return bboxX0;
1473     }
1474 
1475     @Override
1476     public int getOutpixMaxX() {
1477         return bboxX1;
1478     }
1479 
1480     @Override
1481     public int getOutpixMinY() {
1482         return bboxY0;
1483     }
1484 
1485     @Override
1486     public int getOutpixMaxY() {
1487         return bboxY1;
1488     }
1489 
1490     @Override
1491     public float getOffsetX() {
1492         return RDR_OFFSET_X;
1493     }
1494 
1495     @Override
1496     public float getOffsetY() {
1497         return RDR_OFFSET_Y;
1498     }
1499 }
< prev index next >