コード例 #1
0
ファイル: TileText.java プロジェクト: svn2github/plantuml
 public Dimension2D calculateDimension(StringBounder stringBounder) {
   final Dimension2D rect = stringBounder.calculateDimension(fontConfiguration.getFont(), text);
   Log.debug("g2d=" + rect);
   Log.debug("Size for " + text + " is " + rect);
   double h = rect.getHeight();
   if (h < 10) {
     h = 10;
   }
   final double width = text.indexOf('\t') == -1 ? rect.getWidth() : getWidth(stringBounder);
   return new Dimension2DDouble(width, h);
 }
コード例 #2
0
ファイル: TileText.java プロジェクト: svn2github/plantuml
 double getWidth(StringBounder stringBounder) {
   final StringTokenizer tokenizer = new StringTokenizer(text, "\t", true);
   final double tabSize = getTabSize(stringBounder);
   double x = 0;
   while (tokenizer.hasMoreTokens()) {
     final String s = tokenizer.nextToken();
     if (s.equals("\t")) {
       final double remainder = x % tabSize;
       x += tabSize - remainder;
     } else {
       final Dimension2D dim = stringBounder.calculateDimension(fontConfiguration.getFont(), s);
       x += dim.getWidth();
     }
   }
   return x;
 }
コード例 #3
0
ファイル: TileText.java プロジェクト: svn2github/plantuml
 double getTabSize(StringBounder stringBounder) {
   return stringBounder.calculateDimension(fontConfiguration.getFont(), "        ").getWidth();
 }