Package org.jCharts.chartData.processors
Class TextProcessor
java.lang.Object
org.jCharts.chartData.processors.TextProcessor
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addLabel
(String label, Font font, FontRenderContext fontRenderContext) float
getTextTag
(int index) float
float
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 invalid input: '<' 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
-
Field Details
-
widestLabel
private float widestLabel -
tallestLabel
private float tallestLabel -
totalLabelWidths
private float totalLabelWidths -
textTags
-
-
Constructor Details
-
TextProcessor
public TextProcessor()Constructor
-
-
Method Details
-
addLabel
- Parameters:
label
-font
-fontRenderContext
-
-
size
public int size()Returns the number of labels- Returns:
- int
-
getWidestLabel
public 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 invalid input: '<' 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++; } /****************************************************************************************** -
getTallestLabel
public float getTallestLabel() -
getTotalLabelWidths
public float getTotalLabelWidths() -
getTextTag
- Parameters:
index
-- Returns:
- TextTag
-