Author: sletellier Date: 2009-03-30 13:42:57 +0000 (Mon, 30 Mar 2009) New Revision: 1282 Modified: jaxx/trunk/jaxx-runtime-swing/src/main/java/jaxx/runtime/swing/BlockingLayerUI2.java Log: Adding blocking color Modified: jaxx/trunk/jaxx-runtime-swing/src/main/java/jaxx/runtime/swing/BlockingLayerUI2.java =================================================================== --- jaxx/trunk/jaxx-runtime-swing/src/main/java/jaxx/runtime/swing/BlockingLayerUI2.java 2009-03-29 13:36:44 UTC (rev 1281) +++ jaxx/trunk/jaxx-runtime-swing/src/main/java/jaxx/runtime/swing/BlockingLayerUI2.java 2009-03-30 13:42:57 UTC (rev 1282) @@ -1,5 +1,7 @@ package jaxx.runtime.swing; +import java.awt.AlphaComposite; +import java.awt.Color; import java.awt.Component; import java.awt.Graphics2D; import java.awt.Point; @@ -51,6 +53,10 @@ */ protected BufferedImage acceptIcon; /** + * Optinal color to put fill background when blocking + */ + protected Color blockingColor; + /** * Internal state to known when we can accept click */ protected boolean canClick; @@ -85,6 +91,10 @@ super.setDirty(isDirty); } + public void setBlockingColor(Color blockingColor) { + this.blockingColor = blockingColor; + } + public void setBlockIcon(BufferedImage blockIcon) { this.blockIcon = blockIcon; } @@ -107,22 +117,19 @@ clone.acceptAction = acceptAction; clone.acceptIcon = acceptIcon; clone.blockIcon = blockIcon; + clone.blockingColor = blockingColor; clone.setCanClick(false); return clone; } @Override protected void processKeyEvent(KeyEvent e, JXLayer<JComponent> l) { - e.consume(); - } @Override protected void processMouseMotionEvent(MouseEvent e, JXLayer<JComponent> l) { - e.consume(); - } @Override @@ -140,25 +147,29 @@ } break; } - e.consume(); + e.consume(); } @Override protected void paintLayer(Graphics2D g2, JXLayer<JComponent> l) { super.paintLayer(g2, l); - - // to be in sync with the view if the layer has a border + if (blockingColor != null) { + // to be in sync with the view if the layer has a border /*Insets layerInsets = l.getInsets(); - g2.translate(layerInsets.left, layerInsets.top); + g2.translate(layerInsets.left, layerInsets.top); - JComponent view = l.getView(); - // To prevent painting on view's border - Insets insets = view.getInsets(); - g2.clip(new Rectangle(insets.left, insets.top, - view.getWidth() - insets.left - insets.right, - view.getHeight() - insets.top - insets.bottom)); - */ + JComponent view = l.getView(); + // To prevent painting on view's border + Insets insets = view.getInsets(); + g2.clip(new Rectangle(insets.left, insets.top, + view.getWidth() - insets.left - insets.right, + view.getHeight() - insets.top - insets.bottom)); + */ + g2.setColor(blockingColor); + g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, .1f)); + g2.fillRect(0, 0, l.getWidth(), l.getHeight()); + } if (getCurrentIcon() != null) { g2.drawImage(getCurrentIcon(), l.getWidth() - getCurrentIcon().getWidth() - 1, 0, null); }