Subtract O = MAX(0, D - S)
(int dst, int src)
| 2464 | * O = MAX(0, D - S) |
| 2465 | */ |
| 2466 | private static int blend_sub_pin(int dst, int src) { |
| 2467 | int a = src >>> 24; |
| 2468 | |
| 2469 | int s_a = a + (a >= 0x7F ? 1 : 0); |
| 2470 | |
| 2471 | int rb = ((src & RB_MASK) * s_a >>> 8); |
| 2472 | int gn = ((src & GREEN_MASK) * s_a >>> 8); |
| 2473 | |
| 2474 | return min((dst >>> 24) + a, 0xFF) << 24 | |
| 2475 | max((dst & RED_MASK) - (rb & RED_MASK), 0) | |
| 2476 | max((dst & GREEN_MASK) - (gn & GREEN_MASK), 0) | |
| 2477 | max((dst & BLUE_MASK) - (rb & BLUE_MASK), 0); |
| 2478 | } |
| 2479 | |
| 2480 | |
| 2481 | /** |
no test coverage detected