FSF GCC merge 02/23/03
[official-gcc.git] / libjava / javax / swing / plaf / basic / BasicGraphicsUtils.java
blob10b7209f5dd4383f49eee833d477374aff1bbdee
1 package javax.swing.plaf.basic;
4 import java.awt.*;
5 import javax.swing.*;
8 public class BasicGraphicsUtils
9 {
10 public static Dimension getPreferredSize(JComponent b,
11 int gap,
12 String text,
13 Icon icon,
14 int va,
15 int ha,
16 int htp,
17 int vtp)
19 JComponent c = b;
20 // this is a staight copy from BasicButtonUI.paint()
21 //
22 Rectangle tr = new Rectangle();
23 Rectangle ir = new Rectangle();
24 Rectangle vr = new Rectangle();
26 Font f = c.getFont();
28 FontMetrics fm = SwingUtilities.getFontMetrics(f);
30 Insets i = c.getInsets();
32 vr.x = i.left;
33 vr.y = i.top;
34 vr.width = b.getWidth() - (i.right + i.left);
35 vr.height = b.getHeight() - (i.bottom + i.top);
37 // System.out.println(" VIEW-RECT-BUTTON="+vr+", insets="+i);
39 String tt = SwingUtilities.layoutCompoundLabel(b,
40 fm,
41 text,
42 icon,
43 va,
44 ha,
45 vtp,
46 htp,
47 vr,
48 ir,
49 tr,
50 gap);
52 Rectangle r = ir.union(tr);
54 Insets insets = b.getInsets();
55 r.width += insets.left + insets.right;
56 r.height += insets.top + insets.bottom;
58 // System.out.println("COMPUTED SIZE FOR PREF_SIZE="+r);
60 return r.getSize();
63 public static void drawString(Graphics g,
64 String text,
65 int underlinedChar,
66 int x,
67 int y)
69 g.drawString(text, x, y);