Revision: 20555 http://sourceforge.net/p/jmol/code/20555 Author: hansonr Date: 2015-06-06 22:41:37 +0000 (Sat, 06 Jun 2015) Log Message: ----------- Jmol.___JmolVersion="14.3.14_2015.06.06"
code: refactoring of viewer.JC for label/echo business new feature: set labeloffset range expanded to [-500,500] new feature: set labelOffsetAbsolute x y -- was undocumented as "set labelOffsetExact" but used in state (still available) -- sets label to specific value; same as set labelOffset, but allows 0 in x or y -- range [-500,500] bug fix: dragging labels not working properly bug fix: axisAngle (javajs.util.A4) not resetting angle to 0 --> wrong default orientation saved to state immediately after RESET (broken in 14.1.6_dev_2014.01.16c) Modified Paths: -------------- trunk/Jmol/src/org/jmol/adapter/readers/quantum/JaguarReader.java trunk/Jmol/src/org/jmol/adapter/readers/xml/XmlHandler.java trunk/Jmol/src/org/jmol/adapter/readers/xml/XmlReader.java trunk/Jmol/src/org/jmol/adapter/readers/xtal/VaspChgcarReader.java trunk/Jmol/src/org/jmol/export/__CartesianExporter.java trunk/Jmol/src/org/jmol/export/__RayTracerExporter.java trunk/Jmol/src/org/jmol/g3d/Graphics3D.java trunk/Jmol/src/org/jmol/g3d/HermiteRenderer.java trunk/Jmol/src/org/jmol/g3d/SphereRenderer.java trunk/Jmol/src/org/jmol/g3d/TriangleRenderer.java trunk/Jmol/src/org/jmol/i18n/Language.java trunk/Jmol/src/org/jmol/jvxl/readers/Pmesh4Reader.java trunk/Jmol/src/org/jmol/modelset/ModelSet.java trunk/Jmol/src/org/jmol/modelset/Object2d.java trunk/Jmol/src/org/jmol/modelset/Text.java trunk/Jmol/src/org/jmol/render/CageRenderer.java trunk/Jmol/src/org/jmol/render/EchoRenderer.java trunk/Jmol/src/org/jmol/render/LabelsRenderer.java trunk/Jmol/src/org/jmol/render/TextRenderer.java trunk/Jmol/src/org/jmol/renderbio/StrandsRenderer.java trunk/Jmol/src/org/jmol/renderspecial/DipolesRenderer.java trunk/Jmol/src/org/jmol/renderspecial/EllipsoidsRenderer.java trunk/Jmol/src/org/jmol/script/ScriptEval.java trunk/Jmol/src/org/jmol/shape/Echo.java trunk/Jmol/src/org/jmol/shape/Hover.java trunk/Jmol/src/org/jmol/shape/Labels.java trunk/Jmol/src/org/jmol/util/MeshCapper.java trunk/Jmol/src/org/jmol/util/Point3fi.java trunk/Jmol/src/org/jmol/viewer/JC.java trunk/Jmol/src/org/jmol/viewer/Jmol.properties trunk/Jmol/src/org/jmol/viewer/StateCreator.java Modified: trunk/Jmol/src/org/jmol/adapter/readers/quantum/JaguarReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/quantum/JaguarReader.java 2015-06-06 17:04:42 UTC (rev 20554) +++ trunk/Jmol/src/org/jmol/adapter/readers/quantum/JaguarReader.java 2015-06-06 22:41:37 UTC (rev 20555) @@ -340,7 +340,7 @@ occ = 0; } //TODO: SOMO? - // mo.put("occupancy", Float.valueOf(occ)); + mo.put("occupancy", Float.valueOf(occ)); nMo++; for (int i = 0, pt =0; i < moCount; i++) { //String type = dataBlock[i][2]; Modified: trunk/Jmol/src/org/jmol/adapter/readers/xml/XmlHandler.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/xml/XmlHandler.java 2015-06-06 17:04:42 UTC (rev 20554) +++ trunk/Jmol/src/org/jmol/adapter/readers/xml/XmlHandler.java 2015-06-06 22:41:37 UTC (rev 20555) @@ -27,8 +27,6 @@ import java.io.BufferedReader; -import org.jmol.java.BS; -import org.jmol.util.BSUtil; import org.jmol.util.Logger; import org.xml.sax.Attributes; import org.xml.sax.InputSource; Modified: trunk/Jmol/src/org/jmol/adapter/readers/xml/XmlReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/xml/XmlReader.java 2015-06-06 17:04:42 UTC (rev 20554) +++ trunk/Jmol/src/org/jmol/adapter/readers/xml/XmlReader.java 2015-06-06 22:41:37 UTC (rev 20555) @@ -23,20 +23,17 @@ */ package org.jmol.adapter.readers.xml; -import org.jmol.adapter.smarter.AtomSetCollectionReader; -import org.jmol.adapter.smarter.AtomSetCollection; -import org.jmol.adapter.smarter.Atom; -import org.jmol.adapter.smarter.Resolver; -import org.jmol.api.Interface; - import java.io.BufferedInputStream; import java.util.Hashtable; import java.util.Map; -import org.jmol.java.BS; import javajs.util.Rdr; -import org.jmol.util.BSUtil; +import org.jmol.adapter.smarter.Atom; +import org.jmol.adapter.smarter.AtomSetCollection; +import org.jmol.adapter.smarter.AtomSetCollectionReader; +import org.jmol.adapter.smarter.Resolver; +import org.jmol.api.Interface; import org.jmol.util.Logger; /** Modified: trunk/Jmol/src/org/jmol/adapter/readers/xtal/VaspChgcarReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/xtal/VaspChgcarReader.java 2015-06-06 17:04:42 UTC (rev 20554) +++ trunk/Jmol/src/org/jmol/adapter/readers/xtal/VaspChgcarReader.java 2015-06-06 22:41:37 UTC (rev 20555) @@ -27,10 +27,6 @@ package org.jmol.adapter.readers.xtal; -import javajs.util.PT; - -import org.jmol.adapter.smarter.AtomSetCollectionReader; - /** * http://cms.mpi.univie.ac.at/vasp/vasp/CHGCAR_file.html * Modified: trunk/Jmol/src/org/jmol/export/__CartesianExporter.java =================================================================== --- trunk/Jmol/src/org/jmol/export/__CartesianExporter.java 2015-06-06 17:04:42 UTC (rev 20554) +++ trunk/Jmol/src/org/jmol/export/__CartesianExporter.java 2015-06-06 22:41:37 UTC (rev 20555) @@ -26,25 +26,21 @@ package org.jmol.export; import java.util.Hashtable; - import java.util.Map; - -import org.jmol.java.BS; -import org.jmol.modelset.Atom; -import org.jmol.util.C; -import org.jmol.util.GData; - import javajs.awt.Font; +import javajs.util.A4; import javajs.util.Lst; - -import javajs.util.A4; import javajs.util.M3; import javajs.util.M4; import javajs.util.P3; -import javajs.util.P3i; import javajs.util.T3; +import org.jmol.java.BS; +import org.jmol.modelset.Atom; +import org.jmol.util.C; +import org.jmol.util.GData; + /* * for programs that use the standard 3D coordinates. * IDTF, Maya, OBJ, VRML, JS Modified: trunk/Jmol/src/org/jmol/export/__RayTracerExporter.java =================================================================== --- trunk/Jmol/src/org/jmol/export/__RayTracerExporter.java 2015-06-06 17:04:42 UTC (rev 20554) +++ trunk/Jmol/src/org/jmol/export/__RayTracerExporter.java 2015-06-06 22:41:37 UTC (rev 20555) @@ -28,16 +28,15 @@ import java.util.Map; -import org.jmol.modelset.Atom; -import org.jmol.util.GData; -import org.jmol.viewer.Viewer; - import javajs.util.M3; import javajs.util.M4; import javajs.util.P3; -import javajs.util.P3i; import javajs.util.T3; +import org.jmol.modelset.Atom; +import org.jmol.util.GData; +import org.jmol.viewer.Viewer; + /* * for PovRay and related ray tracers that use screen coordinates * Modified: trunk/Jmol/src/org/jmol/g3d/Graphics3D.java =================================================================== --- trunk/Jmol/src/org/jmol/g3d/Graphics3D.java 2015-06-06 17:04:42 UTC (rev 20554) +++ trunk/Jmol/src/org/jmol/g3d/Graphics3D.java 2015-06-06 22:41:37 UTC (rev 20555) @@ -1761,8 +1761,8 @@ } } - void plotPixelsUnclippedRasterBits(int count, int x, int y, int zAtLeft, - int zPastRight, Rgb16 rgb16Left, + void plotPixelsUnclippedRasterBits(int count, int x, int y, + Rgb16 rgb16Left, Rgb16 rgb16Right, float a, float b) { // for isosurface Triangle3D.fillRaster Modified: trunk/Jmol/src/org/jmol/g3d/HermiteRenderer.java =================================================================== --- trunk/Jmol/src/org/jmol/g3d/HermiteRenderer.java 2015-06-06 17:04:42 UTC (rev 20554) +++ trunk/Jmol/src/org/jmol/g3d/HermiteRenderer.java 2015-06-06 22:41:37 UTC (rev 20555) @@ -31,7 +31,6 @@ import org.jmol.api.JmolRendererInterface; import org.jmol.util.GData; -import org.jmol.util.Point3fi; import javajs.util.P3; import javajs.util.P3i; Modified: trunk/Jmol/src/org/jmol/g3d/SphereRenderer.java =================================================================== --- trunk/Jmol/src/org/jmol/g3d/SphereRenderer.java 2015-06-06 17:04:42 UTC (rev 20554) +++ trunk/Jmol/src/org/jmol/g3d/SphereRenderer.java 2015-06-06 22:41:37 UTC (rev 20555) @@ -29,7 +29,6 @@ import javajs.util.M3; import javajs.util.M4; import javajs.util.P3; -import javajs.util.P3i; import org.jmol.util.Shader; Modified: trunk/Jmol/src/org/jmol/g3d/TriangleRenderer.java =================================================================== --- trunk/Jmol/src/org/jmol/g3d/TriangleRenderer.java 2015-06-06 17:04:42 UTC (rev 20554) +++ trunk/Jmol/src/org/jmol/g3d/TriangleRenderer.java 2015-06-06 22:41:37 UTC (rev 20555) @@ -392,7 +392,7 @@ xW--; } if (pixelCount > 0) - g3d.plotPixelsUnclippedRasterBits(pixelCount, xW, yMin, azW[i], azE[i], null, null, aa[i], bb[i]); + g3d.plotPixelsUnclippedRasterBits(pixelCount, xW, yMin, null, null, aa[i], bb[i]); } } } else { Modified: trunk/Jmol/src/org/jmol/i18n/Language.java =================================================================== --- trunk/Jmol/src/org/jmol/i18n/Language.java 2015-06-06 17:04:42 UTC (rev 20554) +++ trunk/Jmol/src/org/jmol/i18n/Language.java 2015-06-06 22:41:37 UTC (rev 20555) @@ -25,8 +25,6 @@ package org.jmol.i18n; -import javajs.util.PT; - public class Language { /** Modified: trunk/Jmol/src/org/jmol/jvxl/readers/Pmesh4Reader.java =================================================================== --- trunk/Jmol/src/org/jmol/jvxl/readers/Pmesh4Reader.java 2015-06-06 17:04:42 UTC (rev 20554) +++ trunk/Jmol/src/org/jmol/jvxl/readers/Pmesh4Reader.java 2015-06-06 22:41:37 UTC (rev 20555) @@ -78,7 +78,7 @@ private String pmeshError; private String type; private int color; - private float transparency; + float transparency; private int nX; private int nY; Modified: trunk/Jmol/src/org/jmol/modelset/ModelSet.java =================================================================== --- trunk/Jmol/src/org/jmol/modelset/ModelSet.java 2015-06-06 17:04:42 UTC (rev 20554) +++ trunk/Jmol/src/org/jmol/modelset/ModelSet.java 2015-06-06 22:41:37 UTC (rev 20555) @@ -1143,7 +1143,7 @@ * The default bounding box is created * when the LOAD .... FILL BOUNDBOX or FILL UNITCELL * is use. - * @return + * @return default bounding box, possibly null */ private BoxInfo getDefaultBoundBox() { T3[] bbox = (T3[]) getInfoM("boundbox"); Modified: trunk/Jmol/src/org/jmol/modelset/Object2d.java =================================================================== --- trunk/Jmol/src/org/jmol/modelset/Object2d.java 2015-06-06 17:04:42 UTC (rev 20554) +++ trunk/Jmol/src/org/jmol/modelset/Object2d.java 2015-06-06 22:41:37 UTC (rev 20555) @@ -61,7 +61,7 @@ if (xyz == null) this.zSlab = Integer.MIN_VALUE; if (doAdjust) { - valign = (xyz == null ? JC.VALIGN_XY : JC.VALIGN_XYZ); + valign = (xyz == null ? JC.ECHO_XY : JC.ECHO_XYZ); adjustForWindow = (xyz == null); } } @@ -76,13 +76,13 @@ } private void setMovableX(int x) { - valign = (valign == JC.VALIGN_XYZ ? JC.VALIGN_XYZ : JC.VALIGN_XY); + valign = (valign == JC.ECHO_XYZ ? JC.ECHO_XYZ : JC.ECHO_XY); movableX = x; movableXPercent = Integer.MAX_VALUE; } private void setMovableY(int y) { - valign = (valign == JC.VALIGN_XYZ ? JC.VALIGN_XYZ : JC.VALIGN_XY); + valign = (valign == JC.ECHO_XYZ ? JC.ECHO_XYZ : JC.ECHO_XY); movableY = y; movableYPercent = Integer.MAX_VALUE; } @@ -95,20 +95,20 @@ // } public void setMovableXPercent(int x) { - valign = (valign == JC.VALIGN_XYZ ? JC.VALIGN_XYZ : JC.VALIGN_XY); + valign = (valign == JC.ECHO_XYZ ? JC.ECHO_XYZ : JC.ECHO_XY); movableX = Integer.MAX_VALUE; movableXPercent = x; } public void setMovableYPercent(int y) { - valign = (valign == JC.VALIGN_XYZ ? JC.VALIGN_XYZ : JC.VALIGN_XY); + valign = (valign == JC.ECHO_XYZ ? JC.ECHO_XYZ : JC.ECHO_XY); movableY = Integer.MAX_VALUE; movableYPercent = y; } public void setMovableZPercent(int z) { - if (valign != JC.VALIGN_XYZ) - valign = JC.VALIGN_XY; + if (valign != JC.ECHO_XYZ) + valign = JC.ECHO_XY; movableZ = Integer.MAX_VALUE; movableZPercent = z; } @@ -130,11 +130,11 @@ public boolean setAlignmentLCR(String align) { if ("left".equals(align)) - return setAlignment(JC.ALIGN_LEFT); + return setAlignment(JC.TEXT_ALIGN_LEFT); if ("center".equals(align)) - return setAlignment(JC.ALIGN_CENTER); + return setAlignment(JC.TEXT_ALIGN_CENTER); if ("right".equals(align)) - return setAlignment(JC.ALIGN_RIGHT); + return setAlignment(JC.TEXT_ALIGN_RIGHT); return false; } Modified: trunk/Jmol/src/org/jmol/modelset/Text.java =================================================================== --- trunk/Jmol/src/org/jmol/modelset/Text.java 2015-06-06 17:04:42 UTC (rev 20554) +++ trunk/Jmol/src/org/jmol/modelset/Text.java 2015-06-06 22:41:37 UTC (rev 20555) @@ -64,7 +64,7 @@ offsetX = JC.getXOffset(offset); offsetY = JC.getYOffset(offset); pymolOffset = null; - valign = JC.VALIGN_XY; + valign = JC.ECHO_XY; } private int[] widths; @@ -98,7 +98,7 @@ t.set(font, colix, align, false, scalePixelsPerMicron, null); t.target = target; if (target.equals("error")) - valign = JC.VALIGN_TOP; + valign = JC.ECHO_TOP; t.valign = valign; t.z = 2; t.zSlab = Integer.MIN_VALUE; @@ -306,7 +306,7 @@ private void setPos(float scale) { float xLeft, xCenter, xRight; boolean is3dEcho = (xyz != null); - if (valign == JC.VALIGN_XY || valign == JC.VALIGN_XYZ) { + if (valign == JC.ECHO_XY || valign == JC.ECHO_XYZ) { float x = (movableXPercent != Integer.MAX_VALUE ? movableXPercent * windowWidth / 100 : is3dEcho ? movableX : movableX * scale); float offsetX = this.offsetX * scale; @@ -321,10 +321,10 @@ boxXY[0] = xLeft; switch (align) { - case JC.ALIGN_CENTER: + case JC.TEXT_ALIGN_CENTER: boxXY[0] = xCenter - boxWidth / 2; break; - case JC.ALIGN_RIGHT: + case JC.TEXT_ALIGN_RIGHT: boxXY[0] = xRight - boxWidth; } @@ -332,12 +332,12 @@ boxXY[1] = 0; switch (valign) { - case JC.VALIGN_TOP: + case JC.ECHO_TOP: break; - case JC.VALIGN_MIDDLE: + case JC.ECHO_MIDDLE: boxXY[1] = windowHeight / 2; break; - case JC.VALIGN_BOTTOM: + case JC.ECHO_BOTTOM: boxXY[1] = windowHeight; break; default: @@ -346,7 +346,7 @@ boxXY[1] = (is3dEcho ? y : (windowHeight - y)) + offsetY * scale; } - if (align == JC.ALIGN_CENTER) + if (align == JC.TEXT_ALIGN_CENTER) boxXY[1] -= (image != null ? boxHeight : xyz != null ? boxHeight : ascent - boxHeight) / 2; else if (image != null) @@ -432,10 +432,10 @@ if (i == 0) { xy[2] = boxX; switch (align) { - case JC.ALIGN_CENTER: + case JC.TEXT_ALIGN_CENTER: xy[2] += boxWidth / 2; break; - case JC.ALIGN_RIGHT: + case JC.TEXT_ALIGN_RIGHT: xy[2] += boxWidth - xAdj; break; default: @@ -445,10 +445,10 @@ xy[1] = y0; } switch (align) { - case JC.ALIGN_CENTER: + case JC.TEXT_ALIGN_CENTER: xy[0] = xy[2] - widths[i] / 2; break; - case JC.ALIGN_RIGHT: + case JC.TEXT_ALIGN_RIGHT: xy[0] = xy[2] - widths[i]; } xy[1] += lineHeight; Modified: trunk/Jmol/src/org/jmol/render/CageRenderer.java =================================================================== --- trunk/Jmol/src/org/jmol/render/CageRenderer.java 2015-06-06 17:04:42 UTC (rev 20554) +++ trunk/Jmol/src/org/jmol/render/CageRenderer.java 2015-06-06 22:41:37 UTC (rev 20555) @@ -27,7 +27,6 @@ import org.jmol.shape.Bbcage; import org.jmol.shape.FontLineShape; import org.jmol.util.BoxInfo; -import org.jmol.util.Point3fi; import javajs.util.P3; Modified: trunk/Jmol/src/org/jmol/render/EchoRenderer.java =================================================================== --- trunk/Jmol/src/org/jmol/render/EchoRenderer.java 2015-06-06 17:04:42 UTC (rev 20554) +++ trunk/Jmol/src/org/jmol/render/EchoRenderer.java 2015-06-06 22:41:37 UTC (rev 20555) @@ -51,22 +51,22 @@ if (!((Atom) t.pointerPt).checkVisible()) continue; } - if (t.valign == JC.VALIGN_XYZ) { + if (t.valign == JC.ECHO_XYZ) { tm.transformPtScr(t.xyz, pt0i); t.setXYZs(pt0i.x, pt0i.y, pt0i.z, pt0i.z); } if (t.movableZPercent != Integer.MAX_VALUE) { int z = vwr.tm.zValueFromPercent(t.movableZPercent % 1000); - if (t.valign == JC.VALIGN_XYZ && Math.abs(t.movableZPercent)>= 1000) + if (t.valign == JC.ECHO_XYZ && Math.abs(t.movableZPercent)>= 1000) z = pt0i.z - vwr.tm.zValueFromPercent(0) + z; t.setZs(z, z); } if (t.zSlab >= zCutoff) continue; if (t.pointerPt == null) { - t.pointer = JC.POINTER_NONE; + t.pointer = JC.LABEL_POINTER_NONE; } else { - t.pointer = JC.POINTER_ON; + t.pointer = JC.LABEL_POINTER_ON; tm.transformPtScr(t.pointerPt, pt0i); t.atomX = pt0i.x; t.atomY = pt0i.y; Modified: trunk/Jmol/src/org/jmol/render/LabelsRenderer.java =================================================================== --- trunk/Jmol/src/org/jmol/render/LabelsRenderer.java 2015-06-06 17:04:42 UTC (rev 20554) +++ trunk/Jmol/src/org/jmol/render/LabelsRenderer.java 2015-06-06 22:41:37 UTC (rev 20555) @@ -48,12 +48,12 @@ private P3i screen = new P3i(); byte fidPrevious; - + private P3 pTemp = new P3(); protected short bgcolix; protected short labelColix; - + private byte fid; private Atom atom; @@ -76,7 +76,7 @@ private float[] boxXY; private float scalePixelsPerMicron; - + @Override protected boolean render() { fidPrevious = 0; @@ -92,8 +92,7 @@ short backgroundColixContrast = vwr.cm.colixBackgroundContrast; int backgroundColor = vwr.getBackgroundArgb(); sppm = vwr.getScalePixelsPerAngstrom(true); - scalePixelsPerMicron = (vwr.getBoolean(T.fontscaling) ? sppm * 10000f - : 0); + scalePixelsPerMicron = (vwr.getBoolean(T.fontscaling) ? sppm * 10000f : 0); imageFontScaling = vwr.imageFontScaling; int iGroup = -1; minZ[0] = Integer.MAX_VALUE; @@ -103,23 +102,23 @@ if (!isVisibleForMe(atom)) continue; String label = labelStrings[i]; - if (label == null - || label.length() == 0 || labels.mads != null + if (label == null || label.length() == 0 || labels.mads != null && labels.mads[i] < 0) continue; labelColix = labels.getColix2(i, atom, false); bgcolix = labels.getColix2(i, atom, true); - if (bgcolix == 0 && vwr.gdata.getColorArgbOrGray(labelColix) == backgroundColor) + if (bgcolix == 0 + && vwr.gdata.getColorArgbOrGray(labelColix) == backgroundColor) labelColix = backgroundColixContrast; fid = ((fids == null || i >= fids.length || fids[i] == 0) ? labels.zeroFontId : fids[i]); - offset = (offsets == null || i >= offsets.length ? 0: offsets[i]); - boolean labelsFront = ((offset & JC.LABEL_FRONT_FLAG) != 0); - boolean labelsGroup = ((offset & JC.LABEL_GROUP_FLAG) != 0); - textAlign = Labels.getAlignment(offset); + offset = (offsets == null || i >= offsets.length ? 0 : offsets[i]); + boolean labelsFront = ((offset & JC.LABEL_ZPOS_FRONT) != 0); + boolean labelsGroup = ((offset & JC.LABEL_ZPOS_GROUP) != 0); + textAlign = JC.getAlignment(offset); isAbsolute = JC.isOffsetExplicit(offset); - - pointer = offset & JC.LABEL_POINTER_FLAGS; + + pointer = JC.getPointer(offset); zSlab = atom.sZ - atom.sD / 2 - 3; if (zSlab > zCutoff) continue; @@ -141,8 +140,7 @@ zBox = 1; Text text = labels.getLabel(i); - boxXY = (!isExport || vwr.creatingImage ? labels.getBox(i) - : new float[5]); + boxXY = (!isExport || vwr.creatingImage ? labels.getBox(i) : new float[5]); if (boxXY == null) labels.putBox(i, boxXY = new float[5]); text = renderLabelOrMeasure(text, label); @@ -158,7 +156,7 @@ } protected void setZcutoff() { - zCutoff =(tm.zShadeEnabled ? tm.zSlabValue : Integer.MAX_VALUE); + zCutoff = (tm.zShadeEnabled ? tm.zSlabValue : Integer.MAX_VALUE); } protected Text renderLabelOrMeasure(Text text, String label) { @@ -185,7 +183,7 @@ text.setScalePixelsPerMicron(sppm); } } else { - boolean isLeft = (textAlign == JC.ALIGN_LEFT || textAlign == JC.ALIGN_NONE); + boolean isLeft = (textAlign == JC.TEXT_ALIGN_LEFT || textAlign == JC.TEXT_ALIGN_NONE); if (fid != fidPrevious || ascent == 0) { vwr.gdata.setFontFid(fid); fidPrevious = fid; @@ -200,8 +198,8 @@ && label.indexOf("|") < 0 && label.indexOf("<su") < 0 && label .indexOf("<co") < 0); if (isSimple) { - boolean doPointer = ((pointer & JC.POINTER_ON) != 0); - short pointerColix = ((pointer & JC.POINTER_BACKGROUND) != 0 + boolean doPointer = ((pointer & JC.LABEL_POINTER_ON) != 0); + short pointerColix = ((pointer & JC.LABEL_POINTER_BACKGROUND) != 0 && bgcolix != 0 ? bgcolix : labelColix); boxXY[0] = atomPt.sX; boxXY[1] = atomPt.sY; @@ -220,7 +218,7 @@ } if (text.pymolOffset == null) { text.setOffset(offset); - if (textAlign != JC.ALIGN_NONE) + if (textAlign != JC.TEXT_ALIGN_NONE) text.setAlignment(textAlign); } text.pointer = pointer; Modified: trunk/Jmol/src/org/jmol/render/TextRenderer.java =================================================================== --- trunk/Jmol/src/org/jmol/render/TextRenderer.java 2015-06-06 17:04:42 UTC (rev 20554) +++ trunk/Jmol/src/org/jmol/render/TextRenderer.java 2015-06-06 22:41:37 UTC (rev 20555) @@ -73,8 +73,8 @@ static void drawPointer(Text text, JmolRendererInterface g3d) { // now draw the pointer, if requested - if ((text.pointer & JC.POINTER_ON) == 0 - || !g3d.setC((text.pointer & JC.POINTER_BACKGROUND) != 0 + if ((text.pointer & JC.LABEL_POINTER_ON) == 0 + || !g3d.setC((text.pointer & JC.LABEL_POINTER_BACKGROUND) != 0 && text.bgcolix != 0 ? text.bgcolix : text.colix)) return; float w = text.boxWidth; Modified: trunk/Jmol/src/org/jmol/renderbio/StrandsRenderer.java =================================================================== --- trunk/Jmol/src/org/jmol/renderbio/StrandsRenderer.java 2015-06-06 17:04:42 UTC (rev 20554) +++ trunk/Jmol/src/org/jmol/renderbio/StrandsRenderer.java 2015-06-06 22:41:37 UTC (rev 20555) @@ -26,7 +26,6 @@ import javajs.util.P3; -import javajs.util.P3i; import org.jmol.shapebio.BioShape; import org.jmol.shapebio.Strands; Modified: trunk/Jmol/src/org/jmol/renderspecial/DipolesRenderer.java =================================================================== --- trunk/Jmol/src/org/jmol/renderspecial/DipolesRenderer.java 2015-06-06 17:04:42 UTC (rev 20554) +++ trunk/Jmol/src/org/jmol/renderspecial/DipolesRenderer.java 2015-06-06 22:41:37 UTC (rev 20555) @@ -26,6 +26,9 @@ package org.jmol.renderspecial; +import javajs.util.P3; +import javajs.util.V3; + import org.jmol.java.BS; import org.jmol.render.ShapeRenderer; import org.jmol.script.T; @@ -33,9 +36,6 @@ import org.jmol.shapespecial.Dipoles; import org.jmol.util.C; import org.jmol.util.GData; -import javajs.util.P3; -import javajs.util.P3i; -import javajs.util.V3; public class DipolesRenderer extends ShapeRenderer { Modified: trunk/Jmol/src/org/jmol/renderspecial/EllipsoidsRenderer.java =================================================================== --- trunk/Jmol/src/org/jmol/renderspecial/EllipsoidsRenderer.java 2015-06-06 17:04:42 UTC (rev 20554) +++ trunk/Jmol/src/org/jmol/renderspecial/EllipsoidsRenderer.java 2015-06-06 22:41:37 UTC (rev 20555) @@ -34,7 +34,6 @@ import javajs.util.M3; import javajs.util.M4; import javajs.util.P3; -import javajs.util.P3i; import javajs.util.PT; import javajs.util.V3; Modified: trunk/Jmol/src/org/jmol/script/ScriptEval.java =================================================================== --- trunk/Jmol/src/org/jmol/script/ScriptEval.java 2015-06-06 17:04:42 UTC (rev 20554) +++ trunk/Jmol/src/org/jmol/script/ScriptEval.java 2015-06-06 22:41:37 UTC (rev 20555) @@ -7194,16 +7194,16 @@ break; } if (str.equals("pointer")) { - int flags = JC.POINTER_NONE; + int flags = JC.LABEL_POINTER_NONE; switch (getToken(2).tok) { case T.off: case T.none: break; case T.background: - flags |= JC.POINTER_BACKGROUND; + flags |= JC.LABEL_POINTER_BACKGROUND; //$FALL-THROUGH$ case T.on: - flags |= JC.POINTER_ON; + flags |= JC.LABEL_POINTER_ON; break; default: invArg(); Modified: trunk/Jmol/src/org/jmol/shape/Echo.java =================================================================== --- trunk/Jmol/src/org/jmol/shape/Echo.java 2015-06-06 17:04:42 UTC (rev 20554) +++ trunk/Jmol/src/org/jmol/shape/Echo.java 2015-06-06 22:41:37 UTC (rev 20555) @@ -72,7 +72,7 @@ return; Text t = (Text) currentObject; t.pointerPt = (value == null ? null : (P3) value); // could be an atom. - t.pointer = (value == null ? JC.POINTER_NONE : JC.POINTER_ON); + t.pointer = (value == null ? JC.LABEL_POINTER_NONE : JC.LABEL_POINTER_ON); return; } if ("xyz" == propertyName) { @@ -137,16 +137,16 @@ isAll = false; Text text = objects.get(target); if (text == null) { - int valign = JC.VALIGN_XY; - int halign = JC.ALIGN_LEFT; + int valign = JC.ECHO_XY; + int halign = JC.TEXT_ALIGN_LEFT; if ("top" == target) { - valign = JC.VALIGN_TOP; - halign = JC.ALIGN_CENTER; + valign = JC.ECHO_TOP; + halign = JC.TEXT_ALIGN_CENTER; } else if ("middle" == target) { - valign = JC.VALIGN_MIDDLE; - halign = JC.ALIGN_CENTER; + valign = JC.ECHO_MIDDLE; + halign = JC.TEXT_ALIGN_CENTER; } else if ("bottom" == target) { - valign = JC.VALIGN_BOTTOM; + valign = JC.ECHO_BOTTOM; } text = Text.newEcho(vwr, vwr.gdata.getFont3DFS(FONTFACE, FONTSIZE), target, COLOR, valign, halign, 0); Modified: trunk/Jmol/src/org/jmol/shape/Hover.java =================================================================== --- trunk/Jmol/src/org/jmol/shape/Hover.java 2015-06-06 17:04:42 UTC (rev 20554) +++ trunk/Jmol/src/org/jmol/shape/Hover.java 2015-06-06 22:41:37 UTC (rev 20555) @@ -55,7 +55,7 @@ Font font3d = vwr.gdata.getFont3DFSS(FONTFACE, FONTSTYLE, FONTSIZE); short bgcolix = C.getColixS("#FFFFC3"); // 255, 255, 195 short colix = C.BLACK; - currentObject = hoverText = Text.newLabel(vwr, font3d, null, colix, bgcolix, JC.ALIGN_LEFT, 0, + currentObject = hoverText = Text.newLabel(vwr, font3d, null, colix, bgcolix, JC.TEXT_ALIGN_LEFT, 0, null); hoverText.adjustForWindow = true; } Modified: trunk/Jmol/src/org/jmol/shape/Labels.java =================================================================== --- trunk/Jmol/src/org/jmol/shape/Labels.java 2015-06-06 17:04:42 UTC (rev 20554) +++ trunk/Jmol/src/org/jmol/shape/Labels.java 2015-06-06 22:41:37 UTC (rev 20555) @@ -263,16 +263,16 @@ if ("align" == propertyName) { String type = (String) value; - int alignment = JC.ALIGN_LEFT; + int hAlignment = JC.TEXT_ALIGN_LEFT; if (type.equalsIgnoreCase("right")) - alignment = JC.ALIGN_RIGHT; + hAlignment = JC.TEXT_ALIGN_RIGHT; else if (type.equalsIgnoreCase("center")) - alignment = JC.ALIGN_CENTER; + hAlignment = JC.TEXT_ALIGN_CENTER; for (int i = bsSelected.nextSetBit(0); i >= 0 && i < ac; i = bsSelected .nextSetBit(i + 1)) - setAlignment(i, alignment); + setHorizAlignment(i, hAlignment); if (setDefaults || !defaultsOnlyForNone) - defaultAlignment = alignment; + defaultAlignment = hAlignment; return; } @@ -292,9 +292,9 @@ if (!setDefaults) for (int i = bsSelected.nextSetBit(0); i >= 0 && i < ac; i = bsSelected .nextSetBit(i + 1)) - setFront(i, TF); + setZPos(i, JC.LABEL_ZPOS_FRONT, TF); if (setDefaults || !defaultsOnlyForNone) - defaultZPos = (TF ? JC.LABEL_FRONT_FLAG : 0); + defaultZPos = (TF ? JC.LABEL_ZPOS_FRONT : 0); return; } @@ -303,9 +303,9 @@ if (!setDefaults) for (int i = bsSelected.nextSetBit(0); i >= 0 && i < ac; i = bsSelected .nextSetBit(i + 1)) - setGroup(i, TF); + setZPos(i, JC.LABEL_ZPOS_GROUP, TF); if (setDefaults || !defaultsOnlyForNone) - defaultZPos = (TF ? JC.LABEL_GROUP_FLAG : 0); + defaultZPos = (TF ? JC.LABEL_ZPOS_GROUP : 0); return; } @@ -455,13 +455,13 @@ } if (defaultOffset != JC.LABEL_DEFAULT_OFFSET) setOffsets(i, defaultOffset); - if (defaultAlignment != JC.ALIGN_LEFT) - setAlignment(i, defaultAlignment); - if ((defaultZPos & JC.LABEL_FRONT_FLAG) != 0) - setFront(i, true); - else if ((defaultZPos & JC.LABEL_GROUP_FLAG) != 0) - setGroup(i, true); - if (defaultPointer != JC.POINTER_NONE) + if (defaultAlignment != JC.TEXT_ALIGN_LEFT) + setHorizAlignment(i, defaultAlignment); + if ((defaultZPos & JC.LABEL_ZPOS_FRONT) != 0) + setZPos(i, JC.LABEL_ZPOS_FRONT, true); + else if ((defaultZPos & JC.LABEL_ZPOS_GROUP) != 0) + setZPos(i, JC.LABEL_ZPOS_GROUP, true); + if (defaultPointer != JC.LABEL_POINTER_NONE) setPointer(i, defaultPointer); if (defaultColix != 0 || defaultPaletteID != 0) setLabelColix(i, defaultColix, defaultPaletteID); @@ -550,52 +550,39 @@ text.setOffset(offset); } - private void setAlignment(int i, int alignment) { + private void setHorizAlignment(int i, int hAlign) { if (offsets == null || i >= offsets.length) { - if (alignment == JC.ALIGN_LEFT) + if (hAlign == JC.TEXT_ALIGN_LEFT) return; offsets = AU.ensureLengthI(offsets, i + 1); } - offsets[i] = (offsets[i] & ~JC.LABEL_ALIGN_FLAGS) | (alignment << 2); + offsets[i] = JC.setHorizAlignment(offsets[i], hAlign); text = getLabel(i); if (text != null) - text.setAlignment(alignment); + text.setAlignment(hAlign); } - public static int getAlignment(int offset) { - return (offset & JC.LABEL_ALIGN_FLAGS) >> 2; - } - private void setPointer(int i, int pointer) { if (offsets == null || i >= offsets.length) { - if (pointer == JC.POINTER_NONE) + if (pointer == JC.LABEL_POINTER_NONE) return; offsets = AU.ensureLengthI(offsets, i + 1); } - offsets[i] = (offsets[i] & ~JC.LABEL_POINTER_FLAGS) + pointer; + offsets[i] = JC.setPointer(offsets[i], pointer); text = getLabel(i); if (text != null) text.pointer = pointer; } - private void setFront(int i, boolean TF) { + private void setZPos(int i, int flag, boolean TF) { if (offsets == null || i >= offsets.length) { if (!TF) return; offsets = AU.ensureLengthI(offsets, i + 1); } - offsets[i] = (offsets[i] & ~JC.LABEL_ZPOS_FLAGS) + (TF ? JC.LABEL_FRONT_FLAG : 0); + offsets[i] = JC.setZPosition(offsets[i], TF ? flag : 0); } - private void setGroup(int i, boolean TF) { - if (offsets == null || i >= offsets.length) { - if (!TF) - return; - offsets = AU.ensureLengthI(offsets, i + 1); - } - offsets[i] = (offsets[i] & ~JC.LABEL_ZPOS_FLAGS) + (TF ? JC.LABEL_GROUP_FLAG : 0); - } - private void setFont(int i, byte fid) { if (fids == null || i >= fids.length) { if (fid == zeroFontId) Modified: trunk/Jmol/src/org/jmol/util/MeshCapper.java =================================================================== --- trunk/Jmol/src/org/jmol/util/MeshCapper.java 2015-06-06 17:04:42 UTC (rev 20554) +++ trunk/Jmol/src/org/jmol/util/MeshCapper.java 2015-06-06 22:41:37 UTC (rev 20555) @@ -59,7 +59,7 @@ /** * for debugging */ - private boolean dumping, testing; + private boolean dumping; /** * initialization only Modified: trunk/Jmol/src/org/jmol/util/Point3fi.java =================================================================== --- trunk/Jmol/src/org/jmol/util/Point3fi.java 2015-06-06 17:04:42 UTC (rev 20554) +++ trunk/Jmol/src/org/jmol/util/Point3fi.java 2015-06-06 22:41:37 UTC (rev 20555) @@ -25,7 +25,6 @@ package org.jmol.util; import javajs.util.P3; -import javajs.util.P3i; /** Modified: trunk/Jmol/src/org/jmol/viewer/JC.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/JC.java 2015-06-06 17:04:42 UTC (rev 20554) +++ trunk/Jmol/src/org/jmol/viewer/JC.java 2015-06-06 22:41:37 UTC (rev 20555) @@ -834,49 +834,92 @@ } } + ///////////////// LABEL and ECHO /////////////////////// + + + // note that the y offset is positive upward + + // 3 2 1 + // 10987654321098765432109876543210 + // -x-offset--y-offset-___cafgaabp + // |||||||| ||_pointer on + // |||||||| |_background pointer color + // ||||||||_text alignment 0xC + // |||||||_labels group 0x10 + // ||||||_labels front 0x20 + // |||||_absolute + // ||||_centered + // |||_reserved + // ||_reserved + // |_reserved + public final static int LABEL_MINIMUM_FONTSIZE = 6; public final static int LABEL_MAXIMUM_FONTSIZE = 63; public final static int LABEL_DEFAULT_FONTSIZE = 13; public final static int LABEL_DEFAULT_X_OFFSET = 4; public final static int LABEL_DEFAULT_Y_OFFSET = 4; - public final static int LABEL_OFFSET_MAX = 0x1F4; // 500 - private final static int LABEL_OFFSET_MASK = 0x3FF; + public final static int LABEL_OFFSET_MAX = 500; // 0x1F4; + + private final static int LABEL_OFFSET_MASK = 0x3FF; // 10 bits for each offset (-500 to 500) + private final static int LABEL_FLAGY_OFFSET_SHIFT = 11; // 11-20 is Y offset + private final static int LABEL_FLAGX_OFFSET_SHIFT = 21; // 21-30 is X offset + public final static int LABEL_FLAGS = 0x07F; + private final static int LABEL_POINTER_FLAGS = 0x003; + public final static int LABEL_POINTER_NONE = 0x000; + public final static int LABEL_POINTER_ON = 0x001; // add label pointer + public final static int LABEL_POINTER_BACKGROUND = 0x002; // add label pointer to background + + private final static int TEXT_ALIGN_SHIFT = 0x002; + private final static int TEXT_ALIGN_FLAGS = 0x00C; + public final static int TEXT_ALIGN_NONE = 0x000; + public final static int TEXT_ALIGN_LEFT = 0x004; + public final static int TEXT_ALIGN_CENTER = 0x008; + public final static int TEXT_ALIGN_RIGHT = 0x00C; - public final static int LABEL_FRONT_FLAG = 0x020; - public final static int LABEL_GROUP_FLAG = 0x010; - public final static int LABEL_POINTER_FLAGS = 0x003; - public final static int LABEL_ALIGN_FLAGS = 0x00C; - public final static int LABEL_ZPOS_FLAGS = 0x030; - public final static int LABEL_SCALE_FLAG = 0x040; - public final static int LABEL_FLAGS = 0x07F; + private final static int LABEL_ZPOS_FLAGS = 0x030; + public final static int LABEL_ZPOS_GROUP = 0x010; + public final static int LABEL_ZPOS_FRONT = 0x020; - private final static int LABEL_EXPLICIT_OFFSET_FLAG = 0x080; - private final static int LABEL_CENTERED_FLAG = 0x100; - private final static int LABEL_FLAGY_OFFSET = 9; - private final static int LABEL_FLAGX_OFFSET = 19; + private final static int LABEL_EXPLICIT = 0x040; + private final static int LABEL_CENTERED = 0x100; + public static int LABEL_DEFAULT_OFFSET = - (LABEL_DEFAULT_X_OFFSET << LABEL_FLAGX_OFFSET) - | (LABEL_DEFAULT_Y_OFFSET << LABEL_FLAGY_OFFSET); + (LABEL_DEFAULT_X_OFFSET << LABEL_FLAGX_OFFSET_SHIFT) + | (LABEL_DEFAULT_Y_OFFSET << LABEL_FLAGY_OFFSET_SHIFT); - - // note that the y offset is positive upward - - // 3 2 1 - // 10987654321098765432109876543210 - // -x-offset--y-offset-ntsfgaabp - // |||||| ||_pointer on - // |||||| |_background pointer color - // ||||||_text alignment 0xC - // |||||_labels group 0x10 - // ||||_labels front 0x20 - // |||_scaled - // ||_explicit offset - // |_no_offset + public final static int ECHO_TOP = 0; + public final static int ECHO_BOTTOM = 1; + public final static int ECHO_MIDDLE = 2; + public final static int ECHO_XY = 3; + public final static int ECHO_XYZ = 4; + private final static String[] echoNames = { "top", "bottom", "middle", "xy", "xyz" }; + + public static String getEchoName(int type) { + return echoNames[type]; + } + + public static int setZPosition(int offset, int pos) { + return (offset & ~LABEL_ZPOS_FLAGS) | pos; + } + + public static int setPointer(int offset, int pointer) { + return (offset & ~LABEL_POINTER_FLAGS) | pointer; + } + + public static int getPointer(int offset) { + return offset & LABEL_POINTER_FLAGS; + } + + public static String getPointerName(int pointer) { + return ((pointer & LABEL_POINTER_ON) == 0 ? "" + : (pointer & LABEL_POINTER_BACKGROUND) > 0 ? "background" : "on"); + } + public static boolean isOffsetExplicit(int offset) { - return ((offset & JC.LABEL_EXPLICIT_OFFSET_FLAG) != 0); + return ((offset & LABEL_EXPLICIT) != 0); } /** @@ -893,13 +936,13 @@ public static int getOffset(int xOffset, int yOffset, boolean isAbsolute) { xOffset = Math.min(Math.max(xOffset, -LABEL_OFFSET_MAX), LABEL_OFFSET_MAX); yOffset = (Math.min(Math.max(yOffset, -LABEL_OFFSET_MAX), LABEL_OFFSET_MAX)); - int offset = ((xOffset & LABEL_OFFSET_MASK) << LABEL_FLAGX_OFFSET) - | ((yOffset & LABEL_OFFSET_MASK) << LABEL_FLAGY_OFFSET) - | (isAbsolute ? LABEL_EXPLICIT_OFFSET_FLAG : 0); - if (offset == JC.LABEL_DEFAULT_OFFSET) + int offset = ((xOffset & LABEL_OFFSET_MASK) << LABEL_FLAGX_OFFSET_SHIFT) + | ((yOffset & LABEL_OFFSET_MASK) << LABEL_FLAGY_OFFSET_SHIFT) + | (isAbsolute ? LABEL_EXPLICIT : 0); + if (offset == LABEL_DEFAULT_OFFSET) offset = 0; else if (!isAbsolute && (xOffset == 0 || yOffset == 0)) - offset |= JC.LABEL_CENTERED_FLAG; + offset |= LABEL_CENTERED; return offset; } @@ -912,11 +955,8 @@ * @return screen offset from left */ public static int getXOffset(int offset) { - if (offset == 0) - return LABEL_DEFAULT_X_OFFSET; - int x = (offset >> LABEL_FLAGX_OFFSET) & LABEL_OFFSET_MASK; - if (x > LABEL_OFFSET_MAX) - x -= LABEL_OFFSET_MASK + 1; + int x = (offset >> LABEL_FLAGX_OFFSET_SHIFT) & LABEL_OFFSET_MASK; + x = (x > LABEL_OFFSET_MAX ? x - LABEL_OFFSET_MASK - 1 : x); return x; } @@ -927,41 +967,24 @@ * @return screen offset from bottom */ public static int getYOffset(int offset) { - if (offset == 0) - return LABEL_DEFAULT_Y_OFFSET; - int y = (offset >> LABEL_FLAGY_OFFSET) & LABEL_OFFSET_MASK; - if (y > LABEL_OFFSET_MAX) - y -= LABEL_OFFSET_MASK + 1; - return y; + int y = (offset >> LABEL_FLAGY_OFFSET_SHIFT) & LABEL_OFFSET_MASK; + return (y > LABEL_OFFSET_MAX ? y - LABEL_OFFSET_MASK - 1 : y); } - public static String getAlignmentName(int align) { - return JC.hAlignNames[align & 3]; + public static int getAlignment(int offset) { + return (offset & TEXT_ALIGN_FLAGS); } - public final static String[] hAlignNames = { "", "left", "center", "right", - "" }; - public final static String[] vAlignNames = { "xy", "top", "bottom", "middle" }; + public static int setHorizAlignment(int offset, int hAlign) { + return (offset & ~TEXT_ALIGN_FLAGS) | hAlign; + } - public static String getPointer(int pointer) { - return ((pointer & JC.POINTER_ON) == 0 ? "" - : (pointer & JC.POINTER_BACKGROUND) > 0 ? "background" : "on"); + private final static String[] hAlignNames = { "", "left", "center", "right" }; + + public static String getHorizAlignmentName(int align) { + return hAlignNames[(align >> TEXT_ALIGN_SHIFT) & 3]; } - - public final static int POINTER_NONE = 0; - public final static int POINTER_ON = 1; - public final static int POINTER_BACKGROUND = 2; - final public static int VALIGN_XY = 0; - final public static int VALIGN_TOP = 1; - final public static int VALIGN_BOTTOM = 2; - final public static int VALIGN_MIDDLE = 3; - final public static int VALIGN_XYZ = 4; - public final static int ALIGN_NONE = 0; - public final static int ALIGN_LEFT = 1; - public final static int ALIGN_CENTER = 2; - public final static int ALIGN_RIGHT = 3; - public static final int JSV_NOT = -1; public static final int JSV_SEND_JDXMOL = 0; public static final int JSV_SETPEAKS = 7; Modified: trunk/Jmol/src/org/jmol/viewer/Jmol.properties =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2015-06-06 17:04:42 UTC (rev 20554) +++ trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2015-06-06 22:41:37 UTC (rev 20555) @@ -14,14 +14,19 @@ TODO: remove HTML5 dependency on synchronous file loading (check SCRIPT command for problems) -Jmol.___JmolVersion="14.3.14_2015.06.05" +Jmol.___JmolVersion="14.3.14_2015.06.06" +code: refactoring of viewer.JC for label/echo business + +new feature: set labeloffset range expanded to [-500,500] + new feature: set labelOffsetAbsolute x y -- was undocumented as "set labelOffsetExact" but used in state (still available) -- sets label to specific value; same as set labelOffset, but allows 0 in x or y + -- range [-500,500] bug fix: dragging labels not working properly -bug fix: axisangle not resetting angle to 0 --> wrong default orientation saved to state after RESET (broken in 14.1.6_dev_2014.01.16c) +bug fix: axisAngle (javajs.util.A4) not resetting angle to 0 --> wrong default orientation saved to state immediately after RESET (broken in 14.1.6_dev_2014.01.16c) JmolVersion="14.3.14_2015.06.05" Modified: trunk/Jmol/src/org/jmol/viewer/StateCreator.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/StateCreator.java 2015-06-06 17:04:42 UTC (rev 20554) +++ trunk/Jmol/src/org/jmol/viewer/StateCreator.java 2015-06-06 22:41:37 UTC (rev 20555) @@ -707,14 +707,14 @@ app(s, "background label " + Shape.encodeColor(l.defaultBgcolix)); app(s, "set labelOffset " + JC.getXOffset(l.defaultOffset) + " " + (JC.getYOffset(l.defaultOffset))); - String align = JC.getAlignmentName(l.defaultAlignment); + String align = JC.getHorizAlignmentName(l.defaultAlignment); app(s, "set labelAlignment " + (align.length() < 5 ? "left" : align)); - String pointer = JC.getPointer(l.defaultPointer); + String pointer = JC.getPointerName(l.defaultPointer); app(s, "set labelPointer " + (pointer.length() == 0 ? "off" : pointer)); - if ((l.defaultZPos & JC.LABEL_FRONT_FLAG) != 0) + if ((l.defaultZPos & JC.LABEL_ZPOS_FRONT) != 0) app(s, "set labelFront"); - else if ((l.defaultZPos & JC.LABEL_GROUP_FLAG) != 0) + else if ((l.defaultZPos & JC.LABEL_ZPOS_GROUP) != 0) app(s, "set labelGroup"); app(s, Shape.getFontCommand("label", Font .getFont3D(l.defaultFontId))); @@ -1219,13 +1219,13 @@ + JC.getXOffset(offsetFull) + " " + JC.getYOffset(offsetFull)); - String align = JC.getAlignmentName(offsetFull >> 2); - String pointer = JC.getPointer(offsetFull); + String align = JC.getHorizAlignmentName(offsetFull >> 2); + String pointer = JC.getPointerName(offsetFull); if (pointer.length() > 0) BSUtil.setMapBitSet(temp2, i, i, "set labelPointer " + pointer); - if ((offsetFull & JC.LABEL_FRONT_FLAG) != 0) + if ((offsetFull & JC.LABEL_ZPOS_FRONT) != 0) BSUtil.setMapBitSet(temp2, i, i, "set labelFront"); - else if ((offsetFull & JC.LABEL_GROUP_FLAG) != 0) + else if ((offsetFull & JC.LABEL_ZPOS_GROUP) != 0) BSUtil.setMapBitSet(temp2, i, i, "set labelGroup"); // labelAlignment must come last, so we put it in a separate hash // table @@ -1291,7 +1291,7 @@ String strOff = null; String echoCmd = "set echo ID " + PT.esc(t.target); switch (t.valign) { - case JC.VALIGN_XY: + case JC.ECHO_XY: if (t.movableXPercent == Integer.MAX_VALUE || t.movableYPercent == Integer.MAX_VALUE) { strOff = (t.movableXPercent == Integer.MAX_VALUE ? t.movableX + " " @@ -1302,17 +1302,17 @@ strOff = "[" + t.movableXPercent + " " + t.movableYPercent + "%]"; } //$FALL-THROUGH$ - case JC.VALIGN_XYZ: + case JC.ECHO_XYZ: if (strOff == null) strOff = Escape.eP(t.xyz); s.append(" ").append(echoCmd).append(" ").append(strOff); - if (t.align != JC.ALIGN_LEFT) + if (t.align != JC.TEXT_ALIGN_LEFT) s.append("; ").append(echoCmd).append(" ").append( - JC.hAlignNames[t.align]); + JC.getHorizAlignmentName(t.align)); break; default: - s.append(" set echo ").append(JC.vAlignNames[t.valign]).append(" ") - .append(JC.hAlignNames[t.align]); + s.append(" set echo ").append(JC.getEchoName(t.valign)).append(" ") + .append(JC.getHorizAlignmentName(t.align)); } if (t.movableZPercent != Integer.MAX_VALUE) s.append("; ").append(echoCmd).append(" depth ").appendI( This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ _______________________________________________ Jmol-commits mailing list Jmol-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jmol-commits