Author: kono
Date: 2010-12-27 20:21:06 -0800 (Mon, 27 Dec 2010)
New Revision: 23269

Added:
   
core3/ding-presentation-impl/trunk/src/main/java/org/cytoscape/ding/icon/FontFaceIcon.java
Modified:
   
core3/ding-presentation-impl/trunk/src/main/java/org/cytoscape/ding/icon/VisualPropertyIconFactory.java
Log:
Font icon generator had been added.

Added: 
core3/ding-presentation-impl/trunk/src/main/java/org/cytoscape/ding/icon/FontFaceIcon.java
===================================================================
--- 
core3/ding-presentation-impl/trunk/src/main/java/org/cytoscape/ding/icon/FontFaceIcon.java
                          (rev 0)
+++ 
core3/ding-presentation-impl/trunk/src/main/java/org/cytoscape/ding/icon/FontFaceIcon.java
  2010-12-28 04:21:06 UTC (rev 23269)
@@ -0,0 +1,48 @@
+package org.cytoscape.ding.icon;
+
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Font;
+import java.awt.Graphics;
+import java.awt.Graphics2D;
+import java.awt.RenderingHints;
+
+/**
+ * Icon renderer for font face.
+ *
+ */
+public class FontFaceIcon extends VisualPropertyIcon<Font> {
+
+       private static final long serialVersionUID = 4629615986711780878L;
+
+       private static final String TEXT = "ABC";
+       private static final Color FONT_COLOR = Color.DARK_GRAY;
+
+       private final Font font;
+
+       public FontFaceIcon(Font value, int width, int height, String name) {
+               super(value, width, height, name);
+               font = new Font(value.getFamily(), value.getStyle(), width - 2);
+       }
+
+       @Override
+       public void paintIcon(Component c, Graphics g, int x, int y) {
+               final Graphics2D g2d = (Graphics2D) g;
+               final Font originalFont = g2d.getFont();
+
+               g2d.setColor(FONT_COLOR);
+               // AA on
+               g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
+                               RenderingHints.VALUE_ANTIALIAS_ON);
+
+               g2d.translate(leftPad, bottomPad);
+
+               g2d.setFont(font);
+
+               g2d.drawString(TEXT, 20, (height + 40) / 2);
+
+               g2d.translate(-leftPad, -bottomPad);
+               g2d.setFont(originalFont);
+       }
+
+}

Modified: 
core3/ding-presentation-impl/trunk/src/main/java/org/cytoscape/ding/icon/VisualPropertyIconFactory.java
===================================================================
--- 
core3/ding-presentation-impl/trunk/src/main/java/org/cytoscape/ding/icon/VisualPropertyIconFactory.java
     2010-12-28 00:55:39 UTC (rev 23268)
+++ 
core3/ding-presentation-impl/trunk/src/main/java/org/cytoscape/ding/icon/VisualPropertyIconFactory.java
     2010-12-28 04:21:06 UTC (rev 23269)
@@ -1,6 +1,7 @@
 package org.cytoscape.ding.icon;
 
 import java.awt.Color;
+import java.awt.Font;
 import java.awt.Stroke;
 
 import javax.swing.Icon;
@@ -36,6 +37,8 @@
                        icon = new CustomGraphicsIcon(((CyCustomGraphics) 
value), w, h, ((CyCustomGraphics) value).getDisplayName());
                } else if(value instanceof ObjectPosition) {
                        icon = new ObjectPositionIcon((ObjectPosition) value, 
w, h, "Label");
+               }  else if(value instanceof Font) {
+                       icon = new FontFaceIcon((Font) value, w, h, "");
                } else {
                        icon = new TextIcon(value, w, h, value.toString());
                }

-- 
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