package br.com.etyllica.effects.light;
import java.awt.AlphaComposite;
import java.awt.Color;
import br.com.etyllica.core.graphics.Graphics;
import br.com.etyllica.layer.BufferedLayer;
public class ShadowLayer extends BufferedLayer {
private Color color = Color.BLACK;
public ShadowLayer(int x, int y, int w, int h) {
super(x, y, w, h);
}
public void drawLights(Graphics g, LightSpot ... spots) {
refresh();
setColor(color);
g.setImage(buffer);
g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_IN, 1.0f));
for(LightSpot spot: spots) {
spot.drawLight(g);
}
g.resetOpacity();
g.resetImage();
g.drawImage(buffer, x, y);
}
public void setColor(Color color) {
this.color = color;
clearGraphics();
graphics.setColor(color);
graphics.fillRect(x, y, w, h);
}
}