244 rect.getTransforms().clear(); 245 rect.getTransforms().addAll(Transform.scale(2, 2), Transform.translate(30, 30)); 246 247 Point2D pt = new Point2D(0, 0); 248 pt = rect.localToParent(pt); 249 assertEquals(new Point2D(70, 70), pt); 250 } 251 252 @Test public void testPickingNodeDirectlyNoTransforms() { 253 Rectangle rect = new Rectangle(); 254 rect.setX(10); 255 rect.setY(10); 256 rect.setWidth(100); 257 rect.setHeight(100); 258 259 // needed since picking doesn't work unless rooted in a scene and visible 260 Scene scene = new Scene(new Group()); 261 ParentShim.getChildren(scene.getRoot()).add(rect); 262 263 PickResultChooser res = new PickResultChooser(); 264 rect.impl_pickNode(new PickRay(50, 50, 1, Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY), res); 265 assertSame(rect, res.getIntersectedNode()); 266 res = new PickResultChooser(); 267 rect.impl_pickNode(new PickRay(0, 0, 1, Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY), res); 268 assertNull(res.getIntersectedNode()); 269 } 270 271 @Test public void testPickingNodeDirectlyWithTransforms() { 272 Rectangle rect = new Rectangle(); 273 rect.setTranslateX(10); 274 rect.setTranslateY(10); 275 rect.setWidth(100); 276 rect.setHeight(100); 277 278 // needed since picking doesn't work unless rooted in a scene and visible 279 Scene scene = new Scene(new Group()); 280 ParentShim.getChildren(scene.getRoot()).add(rect); 281 282 PickResultChooser res = new PickResultChooser(); 283 rect.impl_pickNode(new PickRay(50, 50, 1, Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY), res); 284 assertSame(rect, res.getIntersectedNode()); 285 res = new PickResultChooser(); 286 rect.impl_pickNode(new PickRay(0, 0, 1, Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY), res); 287 assertNull(res.getIntersectedNode()); 288 } 289 290 @Test public void testEffectSharedOnNodes() { 291 Effect effect = new DropShadow(); 292 Rectangle node = new Rectangle(); 293 node.setEffect(effect); 294 295 Rectangle node2 = new Rectangle(); 296 node2.setEffect(effect); 297 298 assertEquals(effect, node.getEffect()); 299 assertEquals(effect, node2.getEffect()); 300 } 301 302 public static void testBooleanPropertyPropagation( 303 final Node node, 304 final String propertyName, 305 final boolean initialValue, 306 final boolean newValue) throws Exception { | 244 rect.getTransforms().clear(); 245 rect.getTransforms().addAll(Transform.scale(2, 2), Transform.translate(30, 30)); 246 247 Point2D pt = new Point2D(0, 0); 248 pt = rect.localToParent(pt); 249 assertEquals(new Point2D(70, 70), pt); 250 } 251 252 @Test public void testPickingNodeDirectlyNoTransforms() { 253 Rectangle rect = new Rectangle(); 254 rect.setX(10); 255 rect.setY(10); 256 rect.setWidth(100); 257 rect.setHeight(100); 258 259 // needed since picking doesn't work unless rooted in a scene and visible 260 Scene scene = new Scene(new Group()); 261 ParentShim.getChildren(scene.getRoot()).add(rect); 262 263 PickResultChooser res = new PickResultChooser(); 264 NodeHelper.pickNode(rect, new PickRay(50, 50, 1, Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY), res); 265 assertSame(rect, res.getIntersectedNode()); 266 res = new PickResultChooser(); 267 NodeHelper.pickNode(rect, new PickRay(0, 0, 1, Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY), res); 268 assertNull(res.getIntersectedNode()); 269 } 270 271 @Test public void testPickingNodeDirectlyWithTransforms() { 272 Rectangle rect = new Rectangle(); 273 rect.setTranslateX(10); 274 rect.setTranslateY(10); 275 rect.setWidth(100); 276 rect.setHeight(100); 277 278 // needed since picking doesn't work unless rooted in a scene and visible 279 Scene scene = new Scene(new Group()); 280 ParentShim.getChildren(scene.getRoot()).add(rect); 281 282 PickResultChooser res = new PickResultChooser(); 283 NodeHelper.pickNode(rect, new PickRay(50, 50, 1, Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY), res); 284 assertSame(rect, res.getIntersectedNode()); 285 res = new PickResultChooser(); 286 NodeHelper.pickNode(rect, new PickRay(0, 0, 1, Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY), res); 287 assertNull(res.getIntersectedNode()); 288 } 289 290 @Test public void testEffectSharedOnNodes() { 291 Effect effect = new DropShadow(); 292 Rectangle node = new Rectangle(); 293 node.setEffect(effect); 294 295 Rectangle node2 = new Rectangle(); 296 node2.setEffect(effect); 297 298 assertEquals(effect, node.getEffect()); 299 assertEquals(effect, node2.getEffect()); 300 } 301 302 public static void testBooleanPropertyPropagation( 303 final Node node, 304 final String propertyName, 305 final boolean initialValue, 306 final boolean newValue) throws Exception { |