package br.com.etyllica.gui.panel; import java.awt.Color; import java.util.ArrayList; import java.util.List; import br.com.etyllica.core.event.GUIEvent; import br.com.etyllica.core.event.KeyEvent; import br.com.etyllica.core.event.PointerEvent; import br.com.etyllica.core.graphics.Graphics; import br.com.etyllica.gui.View; public class TextPanel extends View{ private Color backgroundcolor = Color.WHITE; private Color bordercolor = Color.BLACK; private float borderWidth = 2f; private int paddingTop = 5;//pixels; private int paddingRight = 4;//pixels; private int spacing = 0; //TODO theme.fontSize private float fontSize = 20; private List<String> lines = new ArrayList<String>(); public TextPanel(int w, int h){ super(0,0,w,h); } public TextPanel(int x, int y, int w, int h){ super(x,y,w,h); } public void addLine(String line){ lines.add(line); //This +1 is because String is rendered from bottom to top if(h<(lines.size()+1)*fontSize){ h += fontSize; } } @Override public void updateEvent(GUIEvent event) { // TODO Auto-generated method stub } @Override public void draw(Graphics g) { g.setColor(backgroundcolor); g.fillRect(x,y,w,h); g.setLineWidth(borderWidth); g.setColor(bordercolor); g.drawRect(x,y,w,h); g.setLineWidth(1f); int i=0; for(String line: lines){ g.drawString(line, x+paddingRight, y+paddingTop+(int)(fontSize+(i*fontSize+spacing))); i++; } } @Override public GUIEvent updateMouse(PointerEvent event) { // TODO Auto-generated method stub return GUIEvent.NONE; } @Override public GUIEvent updateKeyboard(KeyEvent event) { // TODO Auto-generated method stub return GUIEvent.NONE; } }