< prev index next >

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

Print this page

        

*** 246,255 **** --- 246,257 ---- final int _BLK_SIZE_LG = MarlinConst.BLOCK_SIZE_LG; // traverse flagged blocks: final int blkW = (from >> _BLK_SIZE_LG); final int blkE = (ato >> _BLK_SIZE_LG) + 1; + // ensure last block flag = 0 to process final block: + blkFlags[blkE] = 0; // Perform run-length encoding and store results in the piscesCache int curAlpha = 0; final int _MAX_VALUE = Integer.MAX_VALUE;
*** 288,298 **** // skip alpha = 0 if (curAlpha == 0) { i = cx; } else { val = _unsafe.getByte(addr_alpha + curAlpha); - do { out[off + i] = val; i++; } while (i < cx); } --- 290,299 ----
*** 304,319 **** } } } // Process remaining span: ! val = _unsafe.getByte(addr_alpha + curAlpha); ! ! do { ! out[off + i] = val; ! i++; ! } while (i < ato); } else { int i = 0; while (i < from) { --- 305,321 ---- } } } // Process remaining span: ! if (curAlpha != 0) { ! val = _unsafe.getByte(addr_alpha + curAlpha); ! while (i < ato) { ! out[off + i] = val; ! i++; ! } ! } } else { int i = 0; while (i < from) {
*** 343,353 **** alphaDeltas[cx] = 0; // fill span: if (cx != i) { val = _unsafe.getByte(addr_alpha + curAlpha); - do { out[off + i] = val; i++; } while (i < cx); } --- 345,354 ----
*** 358,373 **** } } } // Process remaining span: ! val = _unsafe.getByte(addr_alpha + curAlpha); ! ! do { ! out[off + i] = val; ! i++; ! } while (i < ato); while (i < w) { out[off + i] = 0; i++; } --- 359,375 ---- } } } // Process remaining span: ! if (curAlpha != 0) { ! val = _unsafe.getByte(addr_alpha + curAlpha); ! while (i < ato) { ! out[off + i] = val; ! i++; ! } ! } while (i < w) { out[off + i] = 0; i++; }
< prev index next >