public class TextProcessor
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private float |
tallestLabel |
private java.util.ArrayList |
textTags |
private float |
totalLabelWidths |
private float |
widestLabel |
Constructor and Description |
---|
TextProcessor()
Constructor
|
Modifier and Type | Method and Description |
---|---|
void |
addLabel(java.lang.String label,
java.awt.Font font,
java.awt.font.FontRenderContext fontRenderContext) |
float |
getTallestLabel() |
TextTag |
getTextTag(int index) |
float |
getTotalLabelWidths() |
float |
getWidestLabel()
Calculates the width and height needed by the passed String when rendered
// * @param iDataSeries
/ * @param font
// * @param fontRenderContext
public void processLabels( IDataSeries iDataSeries) {
//LOOP
for( int i = 0; i < iDataSeries.getNumberOfXAxisLabels(); i++ )
{
this.axisLabelProcessor.processLabel( iDataSeries.getXAxisLabel( i ), axisLabelFont, fontRenderContext );
}
TextLayout textLayout = new TextLayout( label, font, fontRenderContext );
//---WIDTH
this.labelWidths[ counter ] = textLayout.getAdvance();
this.widestLabel = Math.max( this.labelWidths[ counter ], this.widestLabel );
this.totalLabelWidths += this.labelWidths[ counter ];
//---HEIGHT
this.labelHeights[ counter ] = textLayout.getAscent() + textLayout.getDescent();
this.tallestLabel = Math.max( this.labelHeights[ counter ], this.tallestLabel );
//---need this to offset font rendering, as rendering is at the baseline not bottom or top,
this.fontDescent = textLayout.getDescent();
this.counter++;
}
/******************************************************************************************
|
int |
size()
Returns the number of labels
|
private float widestLabel
private float tallestLabel
private float totalLabelWidths
private java.util.ArrayList textTags
public void addLabel(java.lang.String label, java.awt.Font font, java.awt.font.FontRenderContext fontRenderContext)
label
- font
- fontRenderContext
- public int size()
public float getWidestLabel()
public float getTallestLabel()
public float getTotalLabelWidths()
public TextTag getTextTag(int index)
index
-