From 5892f05411c3d4dce2d8a59e0966dc2e1843a971 Mon Sep 17 00:00:00 2001 From: Normand Briere <nbriere@noware.ca> Date: Sat, 17 Aug 2019 08:33:35 -0400 Subject: [PATCH] Fix L&F nimbus too slow. --- ObjEditor.java | 81 +++++++++++++++++++++++++++------------- 1 files changed, 55 insertions(+), 26 deletions(-) diff --git a/ObjEditor.java b/ObjEditor.java index 2b68312..7bec816 100644 --- a/ObjEditor.java +++ b/ObjEditor.java @@ -106,7 +106,7 @@ static java.util.Hashtable<String, javax.swing.ImageIcon> icons = new java.util.Hashtable<String, javax.swing.ImageIcon>(); - ImageIcon GetIcon(String name) + static ImageIcon GetIcon(String name) { javax.swing.ImageIcon iconCache = icons.get(name); if (iconCache != null) @@ -116,7 +116,7 @@ try { - BufferedImage image = javax.imageio.ImageIO.read(getClass().getClassLoader().getResourceAsStream(name)); + BufferedImage image = javax.imageio.ImageIO.read(ObjEditor.class.getClassLoader().getResourceAsStream(name)); // if (image.getWidth() > 48 && image.getHeight() > 48) // { @@ -1715,7 +1715,7 @@ scrollpane.addMouseWheelListener(this); // Default not fast enough /*JTabbedPane*/ scenePanel = new cGridBag(); - scenePanel.preferredWidth = 5; + scenePanel.preferredWidth = 6; JTabbedPane tabbedPane = new JTabbedPane(); tabbedPane.add(scrollpane); @@ -4738,6 +4738,12 @@ // else // applySelf(true); // } + + boolean Equal(double a, double b) + { + return Math.abs(a - b) < 0.001; + } + void applySelf0(boolean name) { if (name) @@ -4787,29 +4793,52 @@ { cMaterial mat = copy.material; - colorField.SetToolTipValue((mat.color)); - saturationField.SetToolTipValue((mat.modulation)); - metalnessField.SetToolTipValue((mat.metalness)); - diffuseField.SetToolTipValue((mat.diffuse)); - specularField.SetToolTipValue((mat.specular)); - shininessField.SetToolTipValue((mat.shininess)); - shiftField.SetToolTipValue((mat.shift)); - ambientField.SetToolTipValue((mat.ambient)); - lightareaField.SetToolTipValue((mat.lightarea)); - diffusenessField.SetToolTipValue((mat.factor)); - velvetField.SetToolTipValue((mat.velvet)); - sheenField.SetToolTipValue((mat.sheen)); - subsurfaceField.SetToolTipValue((mat.subsurface)); - backlitField.SetToolTipValue((mat.bump)); - anisoField.SetToolTipValue((mat.aniso)); - anisoVField.SetToolTipValue((mat.anisoV)); - cameraField.SetToolTipValue((mat.cameralight)); - selfshadowField.SetToolTipValue((mat.diffuseness)); - shadowField.SetToolTipValue((mat.shadow)); - textureField.SetToolTipValue((mat.texture)); - opacityField.SetToolTipValue((mat.opacity)); - fakedepthField.SetToolTipValue((mat.fakedepth)); - shadowbiasField.SetToolTipValue((mat.shadowbias)); + if (!Equal(colorField.getFloat(), mat.color)) + colorField.SetToolTipValue((mat.color)); + if (!Equal(saturationField.getFloat(), mat.modulation)) + saturationField.SetToolTipValue((mat.modulation)); + if (!Equal(metalnessField.getFloat(), mat.metalness)) + metalnessField.SetToolTipValue((mat.metalness)); + if (!Equal(diffuseField.getFloat(), mat.diffuse)) + diffuseField.SetToolTipValue((mat.diffuse)); + if (!Equal(specularField.getFloat(), mat.specular)) + specularField.SetToolTipValue((mat.specular)); + if (!Equal(shininessField.getFloat(), mat.shininess)) + shininessField.SetToolTipValue((mat.shininess)); + if (!Equal(shiftField.getFloat(), mat.shift)) + shiftField.SetToolTipValue((mat.shift)); + if (!Equal(ambientField.getFloat(), mat.ambient)) + ambientField.SetToolTipValue((mat.ambient)); + if (!Equal(lightareaField.getFloat(), mat.lightarea)) + lightareaField.SetToolTipValue((mat.lightarea)); + if (!Equal(diffusenessField.getFloat(), mat.factor)) + diffusenessField.SetToolTipValue((mat.factor)); + if (!Equal(velvetField.getFloat(), mat.velvet)) + velvetField.SetToolTipValue((mat.velvet)); + if (!Equal(sheenField.getFloat(), mat.sheen)) + sheenField.SetToolTipValue((mat.sheen)); + if (!Equal(subsurfaceField.getFloat(), mat.subsurface)) + subsurfaceField.SetToolTipValue((mat.subsurface)); + if (!Equal(backlitField.getFloat(), mat.bump)) + backlitField.SetToolTipValue((mat.bump)); + if (!Equal(anisoField.getFloat(), mat.aniso)) + anisoField.SetToolTipValue((mat.aniso)); + if (!Equal(anisoVField.getFloat(), mat.anisoV)) + anisoVField.SetToolTipValue((mat.anisoV)); + if (!Equal(cameraField.getFloat(), mat.cameralight)) + cameraField.SetToolTipValue((mat.cameralight)); + if (!Equal(selfshadowField.getFloat(), mat.diffuseness)) + selfshadowField.SetToolTipValue((mat.diffuseness)); + if (!Equal(shadowField.getFloat(), mat.shadow)) + shadowField.SetToolTipValue((mat.shadow)); + if (!Equal(textureField.getFloat(), mat.texture)) + textureField.SetToolTipValue((mat.texture)); + if (!Equal(opacityField.getFloat(), mat.opacity)) + opacityField.SetToolTipValue((mat.opacity)); + if (!Equal(fakedepthField.getFloat(), mat.fakedepth)) + fakedepthField.SetToolTipValue((mat.fakedepth)); + if (!Equal(shadowbiasField.getFloat(), mat.shadowbias)) + shadowbiasField.SetToolTipValue((mat.shadowbias)); } if (copy.material != null && copy.projectedVertices.length > 0 && copy.projectedVertices[0] != null) -- Gitblit v1.6.2