< prev index next >

modules/javafx.graphics/src/main/java/javafx/scene/Node.java

Print this page


   1 /*
   2  * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any


 142 import com.sun.javafx.scene.BoundsAccessor;
 143 import com.sun.javafx.scene.CameraHelper;
 144 import com.sun.javafx.scene.CssFlags;
 145 import com.sun.javafx.scene.DirtyBits;
 146 import com.sun.javafx.scene.EventHandlerProperties;
 147 import com.sun.javafx.scene.LayoutFlags;
 148 import com.sun.javafx.scene.NodeEventDispatcher;
 149 import com.sun.javafx.scene.NodeHelper;
 150 import com.sun.javafx.scene.SceneHelper;
 151 import com.sun.javafx.scene.SceneUtils;
 152 import com.sun.javafx.scene.input.PickResultChooser;
 153 import com.sun.javafx.scene.transform.TransformHelper;
 154 import com.sun.javafx.scene.transform.TransformUtils;
 155 import com.sun.javafx.scene.traversal.Direction;
 156 import com.sun.javafx.sg.prism.NGNode;
 157 import com.sun.javafx.tk.Toolkit;
 158 import com.sun.prism.impl.PrismSettings;
 159 import com.sun.scenario.effect.EffectHelper;
 160 
 161 import javafx.scene.shape.Shape3D;
 162 import sun.util.logging.PlatformLogger;
 163 import sun.util.logging.PlatformLogger.Level;
 164 
 165 /**
 166  * Base class for scene graph nodes. A scene graph is a set of tree data structures
 167  * where every item has zero or one parent, and each item is either
 168  * a "leaf" with zero sub-items or a "branch" with zero or more sub-items.
 169  * <p>
 170  * Each item in the scene graph is called a {@code Node}. Branch nodes are
 171  * of type {@link Parent}, whose concrete subclasses are {@link Group},
 172  * {@link javafx.scene.layout.Region}, and {@link javafx.scene.control.Control},
 173  * or subclasses thereof.
 174  * <p>
 175  * Leaf nodes are classes such as
 176  * {@link javafx.scene.shape.Rectangle}, {@link javafx.scene.text.Text},
 177  * {@link javafx.scene.image.ImageView}, {@link javafx.scene.media.MediaView},
 178  * or other such leaf classes which cannot have children. Only a single node within
 179  * each scene graph tree will have no parent, which is referred to as the "root" node.
 180  * <p>
 181  * There may be several trees in the scene graph. Some trees may be part of
 182  * a {@link Scene}, in which case they are eligible to be displayed.
 183  * Other trees might not be part of any {@link Scene}.


   1 /*
   2  * Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any


 142 import com.sun.javafx.scene.BoundsAccessor;
 143 import com.sun.javafx.scene.CameraHelper;
 144 import com.sun.javafx.scene.CssFlags;
 145 import com.sun.javafx.scene.DirtyBits;
 146 import com.sun.javafx.scene.EventHandlerProperties;
 147 import com.sun.javafx.scene.LayoutFlags;
 148 import com.sun.javafx.scene.NodeEventDispatcher;
 149 import com.sun.javafx.scene.NodeHelper;
 150 import com.sun.javafx.scene.SceneHelper;
 151 import com.sun.javafx.scene.SceneUtils;
 152 import com.sun.javafx.scene.input.PickResultChooser;
 153 import com.sun.javafx.scene.transform.TransformHelper;
 154 import com.sun.javafx.scene.transform.TransformUtils;
 155 import com.sun.javafx.scene.traversal.Direction;
 156 import com.sun.javafx.sg.prism.NGNode;
 157 import com.sun.javafx.tk.Toolkit;
 158 import com.sun.prism.impl.PrismSettings;
 159 import com.sun.scenario.effect.EffectHelper;
 160 
 161 import javafx.scene.shape.Shape3D;
 162 import com.sun.javafx.logging.PlatformLogger;
 163 import com.sun.javafx.logging.PlatformLogger.Level;
 164 
 165 /**
 166  * Base class for scene graph nodes. A scene graph is a set of tree data structures
 167  * where every item has zero or one parent, and each item is either
 168  * a "leaf" with zero sub-items or a "branch" with zero or more sub-items.
 169  * <p>
 170  * Each item in the scene graph is called a {@code Node}. Branch nodes are
 171  * of type {@link Parent}, whose concrete subclasses are {@link Group},
 172  * {@link javafx.scene.layout.Region}, and {@link javafx.scene.control.Control},
 173  * or subclasses thereof.
 174  * <p>
 175  * Leaf nodes are classes such as
 176  * {@link javafx.scene.shape.Rectangle}, {@link javafx.scene.text.Text},
 177  * {@link javafx.scene.image.ImageView}, {@link javafx.scene.media.MediaView},
 178  * or other such leaf classes which cannot have children. Only a single node within
 179  * each scene graph tree will have no parent, which is referred to as the "root" node.
 180  * <p>
 181  * There may be several trees in the scene graph. Some trees may be part of
 182  * a {@link Scene}, in which case they are eligible to be displayed.
 183  * Other trees might not be part of any {@link Scene}.


< prev index next >