Lightest O = MAX(D, S)
(int dst, int src)
| 2483 | * O = MAX(D, S) |
| 2484 | */ |
| 2485 | private static int blend_lightest(int dst, int src) { |
| 2486 | int a = src >>> 24; |
| 2487 | |
| 2488 | int s_a = a + (a >= 0x7F ? 1 : 0); |
| 2489 | int d_a = 0x100 - s_a; |
| 2490 | |
| 2491 | int rb = max(src & RED_MASK, dst & RED_MASK) | |
| 2492 | max(src & BLUE_MASK, dst & BLUE_MASK); |
| 2493 | int gn = max(src & GREEN_MASK, dst & GREEN_MASK); |
| 2494 | |
| 2495 | return min((dst >>> 24) + a, 0xFF) << 24 | |
| 2496 | ((dst & RB_MASK) * d_a + rb * s_a) >>> 8 & RB_MASK | |
| 2497 | ((dst & GN_MASK) * d_a + gn * s_a) >>> 8 & GN_MASK; |
| 2498 | } |
| 2499 | |
| 2500 | |
| 2501 | /** |
no test coverage detected