import java.awt.*;
import java.awt.image.*;
import java.io.*;

// Negative Filter
public class negfilt extends EffectFilter
{
	// Create object
	public negfilt()
	{
	}
	
	// Runs algorithm
	public void performEffect()
	{
		int[] newPixels = new int[width*height];
		int	red = 0;
		int	green = 0;
		int	blue = 0;

		// Moves through the input array pixel by pixel
		for (int i=0;i<width*height;i++)
		{
			// Isolates RGB components
			red = (pixels[i]>>16)&0xff;
			green = (pixels[i]>>8)&0xff;
			blue = (pixels[i])&0xff;

			// Outputs inverse of each RGB component
			newPixels[i] = 255<<24 | (255-red)<<16 | (255-green)<<8 | (255-blue);
		}
		
		this.pixels = newPixels;
	
	}
}

