Package org.jCharts.chartData.processors

# Class TextProcessor

java.lang.Object
org.jCharts.chartData.processors.TextProcessor

public class TextProcessor extends Object

## Field Summary

Fields
Modifier and Type
Field
Description
`private float`
`tallestLabel`
`private ArrayList`
`textTags`
`private float`
`totalLabelWidths`
`private float`
`widestLabel`

## Constructor Summary

Constructors
Constructor
Description
`TextProcessor()`
Constructor

## Method Summary

Modifier and Type
Method
Description
`void`
`addLabel(String label, Font 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 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

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### widestLabel

private float widestLabel

### tallestLabel

private float tallestLabel

### totalLabelWidths

private float totalLabelWidths

### textTags

private ArrayList textTags

## Constructor Details

### TextProcessor

public TextProcessor()
Constructor

## Method Details

### addLabel

public void addLabel(String label, Font 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 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

public TextTag getTextTag(int index)

Parameters:
  `index` -
Returns:
  TextTag