protected void regenInnerShadow(GFX g) {
//setup
int blurRadius = 5;
Bounds b = getBounds();
ImageBuffer bufx = g.createBuffer(
(int)b.getWidth()+blurRadius*2,
(int)b.getHeight()+blurRadius*2);
//render shadow to buffer
bufx.clear();
GFX g2 = bufx.getGFX();
g2.setPaint(FlatColor.BLACK);
g2.translate(10, 10);
fillShape(g2);
g2.translate(-10, -10);
bufx.apply(new BlurEffect(blurRadius));
g2.dispose();
//invert alpha channel
for(int i=0; i<bufx.buf.getWidth(); i++) {
for(int j=0; j<bufx.buf.getHeight(); j++) {