Class TextTagGroup

    • Constructor Summary

      Constructors 
      Constructor Description
      TextTagGroup​(ChartFont chartFont, java.awt.font.FontRenderContext fontRenderContext)
      Constructor
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addLabel​(java.lang.String label)  
      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++; } /******************************************************************************************
      void render​(int index, java.awt.Graphics2D g2d, float x, float y)
      Renders the text, at the position - renders from the top (instead of baseline)
      void reverse()
      Horizontal plots render the data from top down so rendering alogorithm needs to get the labels in reverse order to make things easier.
      int size()
      Returns the number of labels
      void toHTML​(HTMLGenerator htmlGenerator)
      Renders all the text in this group.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • widestLabel

        private float widestLabel
      • tallestLabel

        private float tallestLabel
      • totalLabelWidths

        private float totalLabelWidths
      • textTags

        private java.util.ArrayList textTags
      • fontRenderContext

        private java.awt.font.FontRenderContext fontRenderContext
    • Constructor Detail

      • TextTagGroup

        public TextTagGroup​(ChartFont chartFont,
                            java.awt.font.FontRenderContext fontRenderContext)
        Constructor
        Parameters:
        chartFont -
        fontRenderContext -
    • Method Detail

      • addLabel

        public void addLabel​(java.lang.String label)
        Parameters:
        label -
      • size

        public int size()
        Returns the number of labels
        Returns:
        int
      • reverse

        public void reverse()
        Horizontal plots render the data from top down so rendering alogorithm needs to get the labels in reverse order to make things easier.
      • 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
      • render

        public void render​(int index,
                           java.awt.Graphics2D g2d,
                           float x,
                           float y)
        Renders the text, at the position - renders from the top (instead of baseline)
        Parameters:
        index -
        g2d -
        x -
        y -
      • toHTML

        public void toHTML​(HTMLGenerator htmlGenerator)
        Renders all the text in this group. public void renderTag( int index, Graphics2D g2d ) { TextTag tag; //Paint p = this.fontColor; g2d.setPaint( this. ); //g2d.setFont( (this.derivedFont == null) ? baseFont : derivedFont ); for( int i = 0; i < group.size(); i++ ) { tag = ( TextTag ) group.get( i ); tag.render( g2d, p ); // Text tag sets the Paint every time if not null // So, we might save a small bit of time by changing // this to null after first time. p = null; } } /********************************************************************************************* Enables the testing routines to display the contents of this Object.
        Specified by:
        toHTML in interface HTMLTestable
        Parameters:
        htmlGenerator -