48 this.numchars = numchars; |
48 this.numchars = numchars; |
49 this.cm = cm; |
49 this.cm = cm; |
50 this.frc = frc; |
50 this.frc = frc; |
51 } |
51 } |
52 |
52 |
53 public final int getNumChars() { |
53 public int getNumChars() { |
54 return numchars; |
54 return numchars; |
55 } |
55 } |
56 |
56 |
57 public final float getAscent() { |
57 public float getAscent() { |
58 return cm.ascent; |
58 return cm.ascent; |
59 } |
59 } |
60 |
60 |
61 public final float getDescent() { |
61 public float getDescent() { |
62 return cm.descent; |
62 return cm.descent; |
63 } |
63 } |
64 |
64 |
65 public final float getLeading() { |
65 public float getLeading() { |
66 return cm.leading; |
66 return cm.leading; |
67 } |
67 } |
68 |
68 |
69 public final float getHeight() { |
69 public float getHeight() { |
70 return cm.height; |
70 return cm.height; |
71 } |
71 } |
72 |
72 |
73 public final int getBaselineIndex() { |
73 public int getBaselineIndex() { |
74 return cm.baselineIndex; |
74 return cm.baselineIndex; |
75 } |
75 } |
76 |
76 |
77 public final float[] getBaselineOffsets() { |
77 public float[] getBaselineOffsets() { |
78 return cm.baselineOffsets.clone(); |
78 return cm.baselineOffsets.clone(); |
79 } |
79 } |
80 |
80 |
81 public final float getStrikethroughOffset() { |
81 public float getStrikethroughOffset() { |
82 return cm.strikethroughOffset; |
82 return cm.strikethroughOffset; |
83 } |
83 } |
84 |
84 |
85 public final float getStrikethroughThickness() { |
85 public float getStrikethroughThickness() { |
86 return cm.strikethroughThickness; |
86 return cm.strikethroughThickness; |
87 } |
87 } |
88 |
88 |
89 public final float getUnderlineOffset() { |
89 public float getUnderlineOffset() { |
90 return cm.underlineOffset; |
90 return cm.underlineOffset; |
91 } |
91 } |
92 |
92 |
93 public final float getUnderlineThickness() { |
93 public float getUnderlineThickness() { |
94 return cm.underlineThickness; |
94 return cm.underlineThickness; |
95 } |
95 } |
96 |
96 |
97 public final int hashCode() { |
97 public int hashCode() { |
98 return cm.hashCode(); |
98 return cm.hashCode(); |
99 } |
99 } |
100 |
100 |
101 public final boolean equals(Object rhs) { |
101 public boolean equals(Object rhs) { |
102 try { |
102 try { |
103 return cm.equals(((FontLineMetrics)rhs).cm); |
103 return cm.equals(((FontLineMetrics)rhs).cm); |
104 } |
104 } |
105 catch (ClassCastException e) { |
105 catch (ClassCastException e) { |
106 return false; |
106 return false; |
107 } |
107 } |
108 } |
108 } |
109 |
109 |
110 public final Object clone() { |
110 public Object clone() { |
111 // frc, cm do not need deep clone |
111 // frc, cm do not need deep clone |
112 try { |
112 try { |
113 return super.clone(); |
113 return super.clone(); |
114 } |
114 } |
115 catch (CloneNotSupportedException e) { |
115 catch (CloneNotSupportedException e) { |