(PImage img,
int[] destPixels, int destOffset, int screenW,
int destW, int destH,
int dx, int dy,
int mode)
| 1818 | } |
| 1819 | |
| 1820 | private void blitResizeBilinear(PImage img, |
| 1821 | int[] destPixels, int destOffset, int screenW, |
| 1822 | int destW, int destH, |
| 1823 | int dx, int dy, |
| 1824 | int mode) { |
| 1825 | // use bilinear filtering |
| 1826 | iw = img.pixelWidth; |
| 1827 | iw1 = img.pixelWidth - 1; |
| 1828 | ih1 = img.pixelHeight - 1; |
| 1829 | |
| 1830 | switch (mode) { |
| 1831 | |
| 1832 | case BLEND: |
| 1833 | for (int y = 0; y < destH; y++) { |
| 1834 | filter_new_scanline(); |
| 1835 | for (int x = 0; x < destW; x++) { |
| 1836 | // davbol - renamed old blend_multiply to blend_blend |
| 1837 | destPixels[destOffset + x] = |
| 1838 | blend_blend(destPixels[destOffset + x], filter_bilinear()); |
| 1839 | sX += dx; |
| 1840 | } |
| 1841 | destOffset += screenW; |
| 1842 | srcYOffset += dy; |
| 1843 | } |
| 1844 | break; |
| 1845 | |
| 1846 | case ADD: |
| 1847 | for (int y = 0; y < destH; y++) { |
| 1848 | filter_new_scanline(); |
| 1849 | for (int x = 0; x < destW; x++) { |
| 1850 | destPixels[destOffset + x] = |
| 1851 | blend_add_pin(destPixels[destOffset + x], filter_bilinear()); |
| 1852 | sX += dx; |
| 1853 | } |
| 1854 | destOffset += screenW; |
| 1855 | srcYOffset += dy; |
| 1856 | } |
| 1857 | break; |
| 1858 | |
| 1859 | case SUBTRACT: |
| 1860 | for (int y = 0; y < destH; y++) { |
| 1861 | filter_new_scanline(); |
| 1862 | for (int x = 0; x < destW; x++) { |
| 1863 | destPixels[destOffset + x] = |
| 1864 | blend_sub_pin(destPixels[destOffset + x], filter_bilinear()); |
| 1865 | sX += dx; |
| 1866 | } |
| 1867 | destOffset += screenW; |
| 1868 | srcYOffset += dy; |
| 1869 | } |
| 1870 | break; |
| 1871 | |
| 1872 | case LIGHTEST: |
| 1873 | for (int y = 0; y < destH; y++) { |
| 1874 | filter_new_scanline(); |
| 1875 | for (int x = 0; x < destW; x++) { |
| 1876 | destPixels[destOffset + x] = |
| 1877 | blend_lightest(destPixels[destOffset + x], filter_bilinear()); |
no test coverage detected