Darkest O = MIN(D, S)
(int dst, int src)
| 2503 | * O = MIN(D, S) |
| 2504 | */ |
| 2505 | private static int blend_darkest(int dst, int src) { |
| 2506 | int a = src >>> 24; |
| 2507 | |
| 2508 | int s_a = a + (a >= 0x7F ? 1 : 0); |
| 2509 | int d_a = 0x100 - s_a; |
| 2510 | |
| 2511 | int rb = min(src & RED_MASK, dst & RED_MASK) | |
| 2512 | min(src & BLUE_MASK, dst & BLUE_MASK); |
| 2513 | int gn = min(src & GREEN_MASK, dst & GREEN_MASK); |
| 2514 | |
| 2515 | return min((dst >>> 24) + a, 0xFF) << 24 | |
| 2516 | ((dst & RB_MASK) * d_a + rb * s_a) >>> 8 & RB_MASK | |
| 2517 | ((dst & GN_MASK) * d_a + gn * s_a) >>> 8 & GN_MASK; |
| 2518 | } |
| 2519 | |
| 2520 | |
| 2521 | /** |
no test coverage detected