Revision: 701
Author: allain.lalonde
Date: Fri Oct  9 18:05:23 2009
Log: Fixing bug with setTransparency not sending new or old value when  
property change was fired. Also, some formatting
http://code.google.com/p/piccolo2d/source/detail?r=701

Modified:
  /piccolo2d.java/trunk/core/src/main/java/edu/umd/cs/piccolo/PNode.java

=======================================
--- /piccolo2d.java/trunk/core/src/main/java/edu/umd/cs/piccolo/PNode.java      
 
Fri Oct  9 08:10:29 2009
+++ /piccolo2d.java/trunk/core/src/main/java/edu/umd/cs/piccolo/PNode.java      
 
Fri Oct  9 18:05:23 2009
@@ -875,7 +875,7 @@
              final byte[] ser = PObjectOutputStream.toByteArray(this);
              return new ObjectInputStream(new  
ByteArrayInputStream(ser)).readObject();
          }
-        catch (final IOException e) {
+        catch (final IOException e) {
              return null;
          }
          catch (final ClassNotFoundException e) {
@@ -2766,14 +2766,16 @@
       * Set the transparency used to paint this node. Note that this  
transparency
       * applies to this node and all of its descendants.
       *
-     * @param zeroToOne transparency value for this node. 0f = fully
+     * @param newTransparency transparency value for this node. 0f = fully
       *            transparent, 1f = fully opaque
       */
-    public void setTransparency(final float zeroToOne) {
-        if (transparency != zeroToOne) {
-            transparency = zeroToOne;
+    public void setTransparency(final float newTransparency) {
+        if (Math.abs(transparency - newTransparency) > 0.01f) {
+            final float oldTransparency = transparency;
+            transparency = newTransparency;
              invalidatePaint();
-            firePropertyChange(PROPERTY_CODE_TRANSPARENCY,  
PROPERTY_TRANSPARENCY, null, null);
+            firePropertyChange(PROPERTY_CODE_TRANSPARENCY,  
PROPERTY_TRANSPARENCY, new Float(oldTransparency),
+                    new Float(newTransparency));
          }
      }

@@ -2913,7 +2915,7 @@

          imageBounds.expandNearestIntegerDimensions();

-        g2.setClip(0, 0, imageWidth, imageHeight);
+        g2.setClip(0, 0, imageWidth, imageHeight);

          double imageRatio = imageWidth / (imageHeight * 1.0);
          double nodeRatio = getWidth() / getHeight();
@@ -2922,7 +2924,7 @@
              case FILL_STRATEGY_ASPECT_FIT:
                  // scale the graphics so node's full bounds fit in the  
imageable
                  // bounds but aspect ration is retained
-
+
                  if (nodeRatio <= imageRatio) {
                      scale = image.getHeight() / getHeight();
                  }
@@ -2933,15 +2935,16 @@
                  g2.translate(-imageBounds.x, -imageBounds.y);
                  break;
              case FILL_STRATEGY_ASPECT_COVER:
-                // scale the graphics so node completely covers the  
imageable area, but retains its aspect ratio.
+                // scale the graphics so node completely covers the  
imageable
+                // area, but retains its aspect ratio.
                  if (nodeRatio <= imageRatio) {
                      scale = image.getWidth() / getWidth();
                  }
                  else {
-                    scale = image.getHeight() / getHeight();
+                    scale = image.getHeight() / getHeight();
                  }
                  g2.scale(scale, scale);
-                g2.translate(-getWidth()*scale, -getHeight()*scale);
+                g2.translate(-getWidth() * scale, -getHeight() * scale);
                  break;
              case FILL_STRATEGY_EXACT_FIT:
                  // scale the node so that it
@@ -2955,7 +2958,7 @@

          final PPaintContext pc = new PPaintContext(g2);
          pc.setRenderQuality(PPaintContext.HIGH_QUALITY_RENDERING);
-        fullPaint(pc);
+        fullPaint(pc);
          return image;
      }


--~--~---------~--~----~------------~-------~--~----~
Piccolo2D Developers Group: http://groups.google.com/group/piccolo2d-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to