Revision: 1124
Author: atdi...@gmail.com
Date: Mon Mar 28 21:59:59 2011
Log: Issue 173; Added @since and @param to setUseBufferedPainting.
Added unit test covering buffered painting branch in PSwing.paint.
http://code.google.com/p/piccolo2d/source/detail?r=1124
Modified:
/piccolo2d.java/branches/release-1.3/extras/src/main/java/edu/umd/cs/piccolox/pswing/PSwing.java
/piccolo2d.java/branches/release-1.3/extras/src/test/java/edu/umd/cs/piccolox/pswing/PSwingTest.java
=======================================
---
/piccolo2d.java/branches/release-1.3/extras/src/main/java/edu/umd/cs/piccolox/pswing/PSwing.java
Mon Mar 28 21:12:27 2011
+++
/piccolo2d.java/branches/release-1.3/extras/src/main/java/edu/umd/cs/piccolox/pswing/PSwing.java
Mon Mar 28 21:59:59 2011
@@ -346,6 +346,8 @@
* a transformed context is slow. Enabling buffered painting gives a
significant performance
* boost on these platforms; however, at the expense of a
lower-quality drawing result at larger
* scales.
+ * @since 1.3.1
+ * @param useBufferedPainting true if this {@link PSwing} should use
buffered painting
*/
public void setUseBufferedPainting(final boolean useBufferedPainting) {
this.useBufferedPainting = useBufferedPainting;
=======================================
---
/piccolo2d.java/branches/release-1.3/extras/src/test/java/edu/umd/cs/piccolox/pswing/PSwingTest.java
Tue Mar 15 15:28:41 2011
+++
/piccolo2d.java/branches/release-1.3/extras/src/test/java/edu/umd/cs/piccolox/pswing/PSwingTest.java
Mon Mar 28 21:59:59 2011
@@ -28,20 +28,20 @@
*/
package edu.umd.cs.piccolox.pswing;
+import edu.umd.cs.piccolo.util.PPaintContext;
+import junit.framework.TestCase;
+
+import javax.swing.JButton;
+import javax.swing.JComponent;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.RepaintManager;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics2D;
import java.awt.geom.AffineTransform;
import java.awt.image.BufferedImage;
import java.io.IOException;
-import javax.swing.JButton;
-import javax.swing.JComponent;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.RepaintManager;
-
-import junit.framework.TestCase;
-import edu.umd.cs.piccolo.util.PPaintContext;
public class PSwingTest extends TestCase {
public void setUp() {
@@ -97,6 +97,21 @@
pSwing.paint(paintContext);
assertEquals(Color.RED.getRGB(), image.getRGB(50, 50));
}
+
+ public void
testPSwingWithBufferedPaintingDelegatesPaintingToItsComponent() throws
IOException {
+ final JPanel panel = new JPanel();
+ final MockPaintingPSwing pSwing = new MockPaintingPSwing(panel);
+ pSwing.setUseBufferedPainting(true);
+ panel.setBackground(Color.RED);
+ panel.setPreferredSize(new Dimension(100, 100));
+
+ final BufferedImage image = new BufferedImage(100, 100,
+ BufferedImage.TYPE_INT_RGB);
+ Graphics2D graphics = image.createGraphics();
+ PPaintContext paintContext = new PPaintContext(graphics);
+ pSwing.paint(paintContext);
+ assertEquals(Color.RED.getRGB(), image.getRGB(50, 50));
+ }
public void testHidingPNodeHidesComponent() {
final JPanel panel = new JPanel();
--
Piccolo2D Developers Group: http://groups.google.com/group/piccolo2d-dev?hl=en