< prev index next >

modules/graphics/src/main/java/javafx/scene/shape/Shape3D.java

Print this page

        

*** 29,38 **** --- 29,39 ---- import com.sun.javafx.geom.BoxBounds; import com.sun.javafx.geom.transform.BaseTransform; import com.sun.javafx.jmx.MXNodeAlgorithm; import com.sun.javafx.jmx.MXNodeAlgorithmContext; import com.sun.javafx.scene.DirtyBits; + import com.sun.javafx.scene.paint.MaterialHelper; import com.sun.javafx.sg.prism.NGShape3D; import javafx.application.ConditionalFeature; import javafx.application.Platform; import javafx.beans.property.ObjectProperty; import javafx.beans.property.SimpleObjectProperty;
*** 113,127 **** private final WeakChangeListener<Boolean> weakMaterialChangeListener = new WeakChangeListener(materialChangeListener); @Override protected void invalidated() { if (old != null) { ! old.impl_dirtyProperty().removeListener(weakMaterialChangeListener); } Material newMaterial = get(); if (newMaterial != null) { ! newMaterial.impl_dirtyProperty().addListener(weakMaterialChangeListener); } impl_markDirty(DirtyBits.MATERIAL); impl_geomChanged(); old = newMaterial; } --- 114,128 ---- private final WeakChangeListener<Boolean> weakMaterialChangeListener = new WeakChangeListener(materialChangeListener); @Override protected void invalidated() { if (old != null) { ! MaterialHelper.dirtyProperty(old).removeListener(weakMaterialChangeListener); } Material newMaterial = get(); if (newMaterial != null) { ! MaterialHelper.dirtyProperty(newMaterial).addListener(weakMaterialChangeListener); } impl_markDirty(DirtyBits.MATERIAL); impl_geomChanged(); old = newMaterial; }
*** 221,232 **** public void impl_updatePeer() { super.impl_updatePeer(); final NGShape3D peer = impl_getPeer(); if (impl_isDirty(DirtyBits.MATERIAL)) { Material mat = getMaterial() == null ? DEFAULT_MATERIAL : getMaterial(); ! mat.impl_updatePG(); // new material should be updated ! peer.setMaterial(mat.impl_getNGMaterial()); } if (impl_isDirty(DirtyBits.NODE_DRAWMODE)) { peer.setDrawMode(getDrawMode() == null ? DrawMode.FILL : getDrawMode()); } if (impl_isDirty(DirtyBits.NODE_CULLFACE)) { --- 222,233 ---- public void impl_updatePeer() { super.impl_updatePeer(); final NGShape3D peer = impl_getPeer(); if (impl_isDirty(DirtyBits.MATERIAL)) { Material mat = getMaterial() == null ? DEFAULT_MATERIAL : getMaterial(); ! MaterialHelper.updatePG(mat); // new material should be updated ! peer.setMaterial(MaterialHelper.getNGMaterial(mat)); } if (impl_isDirty(DirtyBits.NODE_DRAWMODE)) { peer.setDrawMode(getDrawMode() == null ? DrawMode.FILL : getDrawMode()); } if (impl_isDirty(DirtyBits.NODE_CULLFACE)) {
< prev index next >