package app.navigps.gui.detailspanel;
import app.navigps.gui.borders.OvalBorder;
import java.awt.Color;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.geom.Point2D;
import java.awt.geom.RoundRectangle2D;
/**
*
* @author Grzegorz (vara) Warywoda
*/
public class ContentPaneForRoundWindow extends RoundJPanel implements AlphaInterface{
private final Color [] colorBorderEfect = {new Color(200,200,255,200),
new Color(255,255,255,100)};
/**
*
*/
public ContentPaneForRoundWindow() {
}
/**
*
* @param g
*/
@Override
protected void paintComponent(Graphics g) {
if(getAlpha()>0){
super.paintComponent(g); //set alpha for content pane
Graphics2D g2 = (Graphics2D)g.create();
Point2D roundCorner = getOuterCorners();
RoundRectangle2D borderShape = OvalBorder.createOuterShape(2,2,
getWidth()-4,getHeight()-5,roundCorner.getX(), roundCorner.getX(),null);
GradientPaint gp2 = new GradientPaint(0.0f, (float) getHeight(),new Color(50,50,50,255),
0.0f, 0.0f,new Color(90,122,166,255));
g2.setPaint(gp2);
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2.fillRoundRect((int)borderShape.getX(), (int)borderShape.getY(),
(int)borderShape.getWidth(), (int)borderShape.getHeight(),
(int)borderShape.getArcWidth(), (int)borderShape.getArcHeight());
BorderEfects.paintBorderShadow(g2,3,borderShape,colorBorderEfect);
g2.dispose();
}
}
/**
*
* @param g
*/
@Override
public void paintChildren(Graphics g){
if(getAlpha()>0){
super.paintChildren(g);
}
}
/**
*
* @param g
*/
@Override
protected void paintBorder(Graphics g) {
getRoundBorder().setAlpha(getAlpha());
super.paintBorder(g);
}
}