package edu.byu.cs.roots.opg.chart.selectvertical;
import java.awt.Color;
import java.awt.Font;
import java.util.ArrayList;
import edu.byu.cs.roots.opg.chart.cmds.DrawCmdMoveTo;
import edu.byu.cs.roots.opg.chart.cmds.DrawCmdSetFont;
import edu.byu.cs.roots.opg.chart.cmds.DrawCmdText;
import edu.byu.cs.roots.opg.fonts.OpgFont;
import edu.byu.cs.roots.opg.util.NameAbbreviator;
public class TextLine
{
/**
*
*/
private ArrayList<String> lineItems;
private ArrayList<Boolean> boldItems;
public TextLine()
{
lineItems = new ArrayList<String>();
boldItems = new ArrayList<Boolean>();
}
public void AddItem(String text, Boolean boldness)
{
lineItems.add(text);
boldItems.add(boldness);
}
public double getHeight(OpgFont opgFont, float fontsize)
{
Font font = opgFont.getFont(Font.PLAIN, fontsize);
return font.getStringBounds("xhgACPSjkty",NameAbbreviator.frc).getHeight();
}
public void drawLine(ChartMargins chart, double xPos, double yPos, OpgFont opgFont, float fontSize)
{
double curPos = xPos;
Font font = opgFont.getFont(Font.PLAIN, fontSize);
chart.addDrawCommand(new DrawCmdSetFont(font,Color.black));
for(int i= 0; i < lineItems.size(); i++)
{
if(boldItems.get(i))
font = opgFont.getFont(Font.PLAIN, fontSize);
else
font = opgFont.getFont(Font.BOLD, fontSize);
chart.addDrawCommand(new DrawCmdMoveTo(curPos,yPos));
chart.addDrawCommand(new DrawCmdText(lineItems.get(i)));
//chart.addDrawCommand(new DrawCmdMoveTo(curPos,yPos));
curPos += font.getStringBounds(lineItems.get(i),NameAbbreviator.frc).getWidth();
}
}
}