Clover coverage report - baseCode - 0.2.5 Coverage timestamp: Tue Apr 12 2005 11:31:58 EDT FRAMES NO FRAMES |
file stats: | LOC: | 82 |  | Methods: | 3
| NCLOC: | 38 |  | Classes: | 1
30 day Evaluation Version distributed via the Maven Jar Repository. Clover is not free. You have 30 days to evaluate it. Please visit http://www.thecortex.net/clover to obtain a licensed version of Clover
Source file | Conditionals | Statements | Methods | TOTAL
Util.java | 0% | 0% | 0% | 0% |

1 |  |
     /*
2 |  |
      * Util.java Created on June 5, 2004, 10:21 AM
3 |  |
      */
4 |  |
5 |  |
     package baseCode.graphics.text;
6 |  |
7 |  |
     import java.awt.Component;
8 |  |
     import java.awt.Font;
9 |  |
     import java.awt.FontMetrics;
10 |  |
     import java.awt.Graphics;
11 |  |
     import java.awt.Graphics2D;
12 |  |
     import java.awt.font.FontRenderContext;
13 |  |
     import java.awt.font.TextLayout;
14 |  |
     import java.awt.geom.AffineTransform;
15 |  |
16 |  |
     /**
17 |  |
      * @author Will Braynen
18 |  |
      * @version $Id: Util.java,v 1.9 2004/07/27 03:18:58 pavlidis Exp $
19 |  |
      */
20 |  |
     public class Util {
21 |  |
22 |  |
        /**
23 |  |
         * @param text the string whose pixel width is to be measured
24 |  |
         * @param font the pixels width of a string varies from font to font
25 |  |
         * @param c the parent component; usually <code>this</code>
26 |  |
         * @return the pixel width of the string for the specified font.
27 |  |
         */
28 | 0 |
        public static int stringPixelWidth( String text, Font font, Component c ) {
29 |  |
30 | 0 |
           FontMetrics fontMetrics = c.getFontMetrics( font );
31 | 0 |
           return fontMetrics.charsWidth( text.toCharArray(), 0, text.length() );
32 |  |
33 |  |
        } // end stringPixelWidth
34 |  |
35 |  |
        /**
36 |  |
         * @param strings an array of strings whose pixels widths to compare
37 |  |
         * @param font the pixels width of a string varies from font to font
38 |  |
         * @param c the parent component; usually <code>this</code>
39 |  |
         * @return the largest pixel width of a string in the <code>strings</code> array.
40 |  |
         */
41 | 0 |
        public static int maxStringPixelWidth( String[] strings, Font font,
42 |  |
              Component c ) {
43 |  |
44 |  |
           // the number of chars in the longest string
45 | 0 |
           int maxWidth = 0;
46 | 0 |
           int width;
47 | 0 |
           String s;
48 | 0 |
           for ( int i = 0; i < strings.length; i++ ) {
49 | 0 |
              s = strings[i];
50 | 0 |
              width = stringPixelWidth( s, font, c );
51 | 0 |
              if ( maxWidth < width ) {
52 | 0 |
                 maxWidth = width;
53 |  |
              }
54 |  |
           }
55 |  |
56 | 0 |
           return maxWidth;
57 |  |
        } // end getMaxPixelWidth
58 |  |
59 |  |
        /**
60 |  |
         * Draws a string vertically, turned 90 degrees counter-clockwise. Read carefully what the <i>x </i> and <i>y </i>
61 |  |
         * coordinates means; chances are that if you draw to (x,y) = (0,0), you won't see anything.
62 |  |
         *
63 |  |
         * @param g the graphics context on which to draw
64 |  |
         * @param text the string to draw
65 |  |
         * @param font the font to use
66 |  |
         * @param x the <i>x </i> coordinate where you want to place the baseline of the text.
67 |  |
         * @param y the <i>y </i> coordinate where you want to place the first letter of the text.
68 |  |
         */
69 | 0 |
        public static void drawVerticalString( Graphics g, String text, Font font,
70 |  |
              int x, int y ) {
71 | 0 |
           Graphics2D g2 = ( Graphics2D ) g;
72 | 0 |
           AffineTransform fontAT = new AffineTransform();
73 |  |
           //fontAT.shear(0.2, 0.0); // slant text backwards
74 | 0 |
           fontAT.setToRotation( Math.PI * 3.0f / 2.0f ); // counter-clockwise 90
75 |  |
           // degrees
76 | 0 |
           FontRenderContext frc = g2.getFontRenderContext();
77 | 0 |
           Font theDerivedFont = font.deriveFont( fontAT );
78 | 0 |
           TextLayout tstring = new TextLayout( text, theDerivedFont, frc );
79 | 0 |
           tstring.draw( g2, x, y );
80 |  |
81 |  |
        } // end drawVerticalString
82 |  |
     }