Package org.jCharts.chartData.processors
Class TextProcessor
- java.lang.Object
-
- org.jCharts.chartData.processors.TextProcessor
-
public class TextProcessor extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private float
tallestLabel
private java.util.ArrayList
textTags
private float
totalLabelWidths
private float
widestLabel
-
Constructor Summary
Constructors Constructor Description TextProcessor()
Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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
-
-
-
Method Detail
-
addLabel
public void addLabel(java.lang.String label, java.awt.Font font, java.awt.font.FontRenderContext fontRenderContext)
- 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 < 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
public TextTag getTextTag(int index)
- Parameters:
index
-- Returns:
- TextTag
-
-