package com.aionemu.packetsamurai.parser.valuereader; import java.awt.Color; import javax.swing.JComponent; import javax.swing.JPanel; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import com.aionemu.packetsamurai.parser.datatree.IntValuePart; import com.aionemu.packetsamurai.parser.datatree.ValuePart; /** * * @author Gilles Duboscq * */ public class ColorReader implements Reader { public boolean loadReaderFromXML(Node n) { return true; } public String read(ValuePart part) { return part.getHexDump(); } public JComponent readToComponent(ValuePart part) { if(!(part instanceof IntValuePart)) throw new IllegalStateException("A ColorReader must be providen an IntValuePart"); int color = ((IntValuePart)part).getIntValue(); int r = (color & 0x000000ff); //save red color = (color & 0xff00ff00) | ((color & 0x00ff0000) >> 0x10); //swap red and blue color = (color & 0xff00ffff) | (r << 0x10); JPanel panel = new JPanel(); panel.setBackground(new Color(color)); return panel; } public <T extends Enum<T>> T getEnum(ValuePart part) { return null; } public boolean saveReaderToXML(Element element, Document doc) { return true; } public boolean supportsEnum() { return false; } }