package com.zonski.jbots.desktop.client.recolor;
import com.zonski.jbots.desktop.client.Recolorer;
/**
* Created by IntelliJ IDEA.
* User: Chris Glover
* Date: Oct 15, 2003
* Time: 2:19:14 PM
* To change this template use Options | File Templates.
*
* Recolorer that swaps two bytes in the source color
*/
public class ByteSwapRecolorer implements Recolorer
{
private int sourceByte;
private int targetByte;
public ByteSwapRecolorer(int sourceByte, int targetByte)
{
this.sourceByte = sourceByte;
this.targetByte = targetByte;
}
public int recolor(int color)
{
int result = color;
int sourceColor = (result >> (this.sourceByte * 8)) & 0xFF;
int targetColor = (result >> (this.targetByte * 8)) & 0xFF;
result = result & ~(0xFF << (this.targetByte * 8)) & ~(0xFF << (this.sourceByte * 8));
result = result | (sourceColor << (this.targetByte * 8)) | (targetColor << (this.sourceByte * 8));
return result;
}
}
|