119 } 120 121 for (Node child : parent.getChildrenUnmodifiable()) { 122 if (child instanceof Parent) { 123 final Parent childParent = (Parent) child; 124 reapplyCSS(childParent, stylesheetPath); 125 } else if (child instanceof SubScene) { 126 final SubScene childSubScene = (SubScene) child; 127 reapplyCSS(childSubScene.getRoot(), stylesheetPath); 128 } 129 } 130 } 131 132 @SuppressWarnings("rawtypes") 133 public static List<Style> getMatchingStyles(CssMetaData cssMetaData, Styleable styleable) { 134 return Node.impl_getMatchingStyles(cssMetaData, styleable); 135 } 136 137 // Deprecated stuff in Parent 138 139 // // RT-21217 : Promote impl_fromPlatformImage to public API 140 // public static Image fromPlatformImage(Object platformImage) { 141 // return Image.impl_fromPlatformImage(platformImage); 142 // } 143 // // RT-21219 : Promote impl_getPlatformImage to public API 144 // public static Object getPlatformImage(Image image) { 145 // return image.impl_getPlatformImage(); 146 // } 147 // Deprecated stuff in FXMLLoader 148 // RT-21226 : Promote setStaticLoad to public API 149 public static void setStaticLoad(FXMLLoader loader, boolean staticLoad) { 150 loader.impl_setStaticLoad(staticLoad); 151 } 152 153 // RT-20184 : FX should provide a Parent.pick() routine 154 public static Node pick(Node node, double sceneX, double sceneY) { 155 Point2D p = node.sceneToLocal(sceneX, sceneY, true /* rootScene */); 156 157 // check if the given node has the point inside it, or else we drop out 158 if (!node.contains(p)) return null; 159 160 // at this point we know that _at least_ the given node is a valid 161 // answer to the given point, so we will return that if we don't find 162 // a better child option 163 if (node instanceof Parent) { 164 // we iterate through all children (recursively). We don't stop 165 // iteration when we hit the first child that also contains the bounds, 166 // as we know that later nodes have a higher z-ordering, so they | 119 } 120 121 for (Node child : parent.getChildrenUnmodifiable()) { 122 if (child instanceof Parent) { 123 final Parent childParent = (Parent) child; 124 reapplyCSS(childParent, stylesheetPath); 125 } else if (child instanceof SubScene) { 126 final SubScene childSubScene = (SubScene) child; 127 reapplyCSS(childSubScene.getRoot(), stylesheetPath); 128 } 129 } 130 } 131 132 @SuppressWarnings("rawtypes") 133 public static List<Style> getMatchingStyles(CssMetaData cssMetaData, Styleable styleable) { 134 return Node.impl_getMatchingStyles(cssMetaData, styleable); 135 } 136 137 // Deprecated stuff in Parent 138 139 // Deprecated stuff in FXMLLoader 140 // RT-21226 : Promote setStaticLoad to public API 141 public static void setStaticLoad(FXMLLoader loader, boolean staticLoad) { 142 loader.impl_setStaticLoad(staticLoad); 143 } 144 145 // RT-20184 : FX should provide a Parent.pick() routine 146 public static Node pick(Node node, double sceneX, double sceneY) { 147 Point2D p = node.sceneToLocal(sceneX, sceneY, true /* rootScene */); 148 149 // check if the given node has the point inside it, or else we drop out 150 if (!node.contains(p)) return null; 151 152 // at this point we know that _at least_ the given node is a valid 153 // answer to the given point, so we will return that if we don't find 154 // a better child option 155 if (node instanceof Parent) { 156 // we iterate through all children (recursively). We don't stop 157 // iteration when we hit the first child that also contains the bounds, 158 // as we know that later nodes have a higher z-ordering, so they |