Author: scooter
Date: 2012-06-12 09:56:52 -0700 (Tue, 12 Jun 2012)
New Revision: 29533

Modified:
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/BoundedTextAnnotationImpl.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/TextAnnotationImpl.java
Log:
Fix positioning for Birds Eye View


Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/BoundedTextAnnotationImpl.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/BoundedTextAnnotationImpl.java
      2012-06-12 16:07:18 UTC (rev 29532)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/BoundedTextAnnotationImpl.java
      2012-06-12 16:56:52 UTC (rev 29533)
@@ -147,13 +147,21 @@
                // want to add other options
                Graphics2D g2 = (Graphics2D) g;
                g2.setColor(textColor);
+
+               int width = (int)((double)getWidth()*scaleFactor/getZoom());
+               int height = (int)((double)getHeight()*scaleFactor/getZoom());
                Font tFont = 
font.deriveFont(((float)(scaleFactor/getZoom()))*font.getSize2D());
                FontMetrics fontMetrics=g.getFontMetrics(tFont);
-               int halfWidth = 
((int)(getWidth()*scaleFactor)-fontMetrics.stringWidth(text))/2;
+
+               int halfWidth = (width-(int)(fontMetrics.stringWidth(text)))/2;
+
                // Note, this is + because we start at the baseline
-               int halfHeight = 
((int)(getHeight()*scaleFactor)+fontMetrics.getHeight()/2)/2;
+               // int halfHeight = 
((int)(getHeight()*scaleFactor)+fontMetrics.getHeight()/2)/2;
+               int halfHeight = (height+fontMetrics.getHeight()/2)/2;
+
                int xLoc = (int)(x*scaleFactor) + halfWidth;
                int yLoc = (int)(y*scaleFactor) + halfHeight;
+
                g2.setFont(tFont);
                g2.drawString(text, xLoc, yLoc);
        }

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/TextAnnotationImpl.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/TextAnnotationImpl.java
     2012-06-12 16:07:18 UTC (rev 29532)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/TextAnnotationImpl.java
     2012-06-12 16:56:52 UTC (rev 29533)
@@ -164,17 +164,23 @@
 
                Graphics2D g2 = (Graphics2D) g;
                g2.setColor(textColor);
+               // Font tFont = 
font.deriveFont(((float)(scaleFactor/getZoom()))*font.getSize2D());
                Font tFont = 
font.deriveFont(((float)(scaleFactor/getZoom()))*font.getSize2D());
                FontMetrics fontMetrics=g.getFontMetrics(tFont);
 
-               int halfWidth = 
((int)(getWidth()*scaleFactor)-fontMetrics.stringWidth(text))/2;
+               int width = (int)((double)getWidth()*scaleFactor/getZoom());
+               int halfWidth = (width-fontMetrics.stringWidth(text))/2;
+
                // Note, this is + because we start at the baseline
-               int halfHeight = 
((int)(getHeight()*scaleFactor)+fontMetrics.getHeight()/2)/2;
-               int xLoc = (int)(x*scaleFactor) + halfWidth;
-               int yLoc = (int)(y*scaleFactor) + halfHeight;
+               int height = (int)((double)getHeight()*scaleFactor/getZoom());
+               int halfHeight = (height+fontMetrics.getHeight()/2)/2;
 
+               int xLoc = (int)(x*scaleFactor + halfWidth);
+               int yLoc = (int)(y*scaleFactor + halfHeight);
+
                g2.setFont(tFont);
-               g2.drawString(text, xLoc, yLoc);
+               // g2.drawString(text, xLoc, yLoc);
+               g2.drawString(text, (int)x, (int)y);
        }
 
        public Rectangle getBounds() {

-- 
You received this message because you are subscribed to the Google Groups 
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/cytoscape-cvs?hl=en.

Reply via email to