Author: tfmorris Date: 2008-11-21 14:28:14-0800 New Revision: 16121 Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/PathItemPlacement.java
Log: Decrease scale factor to make repositioning smoother and more accurate Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/PathItemPlacement.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/PathItemPlacement.java?view=diff&rev=16121&p1=trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/PathItemPlacement.java&p2=trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/PathItemPlacement.java&r1=16120&r2=16121 ============================================================================== --- trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/PathItemPlacement.java (original) +++ trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/PathItemPlacement.java 2008-11-21 14:28:14-0800 @@ -253,6 +253,7 @@ // Check for a collision between our computed position and the edge if (useCollisionCheck) { + double scaleFactor = 1.2; // increase offset by 20% at a time // TODO: The size of text figs, which is what we care about most, // isn't computed correctly by GEF. If we got ambitious, we could @@ -265,8 +266,8 @@ Point[] points = fp.getPoints(); if (intersects(points, result, size)) { - // increase offset by 50% at a time until we're clear - int scaledOffset = vectorOffset; + // increase offset by 20% at a time until we're clear + int scaledOffset = (int) (vectorOffset * scaleFactor); // If offset is zero, use a default based on the size of the fig if (scaledOffset == 0) { scaledOffset = (size.width + size.height) / 4; @@ -277,8 +278,7 @@ // limit our retries in case its too hard to get free while (intersects(points, result, size) && count++ < limit) { applyOffset(slope, scaledOffset, result); - // Add double our offset every try - scaledOffset *= 2; + scaledOffset *= scaleFactor; } // If we timed out, give it one more try on the other side if (false /* count >= limit */) { @@ -293,6 +293,7 @@ while (intersects(points, result, size) && count++ < limit) { applyOffset(slope, scaledOffset, result); + scaledOffset *= scaleFactor; } } // LOG.debug("Final point #" + count + " " + result --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
