MCPcopy Create free account
hub / github.com/benfry/processing4 / blitResizeNearest

Method blitResizeNearest

core/src/processing/core/PImage.java:2031–2265  ·  view source on GitHub ↗
(PImage img,
                                 int[] destPixels, int destOffset, int screenW,
                                 int destW, int destH,
                                 int dx, int dy,
                                 int mode)

Source from the content-addressed store, hash-verified

2029 }
2030
2031 private void blitResizeNearest(PImage img,
2032 int[] destPixels, int destOffset, int screenW,
2033 int destW, int destH,
2034 int dx, int dy,
2035 int mode) {
2036 // nearest neighbour scaling (++fast!)
2037 int sY;
2038 switch (mode) {
2039
2040 case BLEND:
2041 for (int y = 0; y < destH; y++) {
2042 sX = srcXOffset;
2043 sY = (srcYOffset >> PRECISIONB) * img.pixelWidth;
2044 for (int x = 0; x < destW; x++) {
2045 // davbol - renamed old blend_multiply to blend_blend
2046 destPixels[destOffset + x] =
2047 blend_blend(destPixels[destOffset + x],
2048 srcBuffer[sY + (sX >> PRECISIONB)]);
2049 sX += dx;
2050 }
2051 destOffset += screenW;
2052 srcYOffset += dy;
2053 }
2054 break;
2055
2056 case ADD:
2057 for (int y = 0; y < destH; y++) {
2058 sX = srcXOffset;
2059 sY = (srcYOffset >> PRECISIONB) * img.pixelWidth;
2060 for (int x = 0; x < destW; x++) {
2061 destPixels[destOffset + x] =
2062 blend_add_pin(destPixels[destOffset + x],
2063 srcBuffer[sY + (sX >> PRECISIONB)]);
2064 sX += dx;
2065 }
2066 destOffset += screenW;
2067 srcYOffset += dy;
2068 }
2069 break;
2070
2071 case SUBTRACT:
2072 for (int y = 0; y < destH; y++) {
2073 sX = srcXOffset;
2074 sY = (srcYOffset >> PRECISIONB) * img.pixelWidth;
2075 for (int x = 0; x < destW; x++) {
2076 destPixels[destOffset + x] =
2077 blend_sub_pin(destPixels[destOffset + x],
2078 srcBuffer[sY + (sX >> PRECISIONB)]);
2079 sX += dx;
2080 }
2081 destOffset += screenW;
2082 srcYOffset += dy;
2083 }
2084 break;
2085
2086 case LIGHTEST:
2087 for (int y = 0; y < destH; y++) {
2088 sX = srcXOffset;

Callers 1

blitResizeMethod · 0.95

Calls 14

blend_blendMethod · 0.95
blend_add_pinMethod · 0.95
blend_sub_pinMethod · 0.95
blend_lightestMethod · 0.95
blend_darkestMethod · 0.95
blend_differenceMethod · 0.95
blend_exclusionMethod · 0.95
blend_multiplyMethod · 0.95
blend_screenMethod · 0.95
blend_overlayMethod · 0.95
blend_hard_lightMethod · 0.95
blend_soft_lightMethod · 0.95

Tested by

no test coverage detected