package org.lemsml.jlems.viz.plot; public class DisplayListPainter implements PaintInstructor { Repaintable repaintable; DisplayList displayList; public DisplayListPainter(DisplayList dl) { displayList = dl; } public boolean antialias() { return true; } @Override public Box getLimitBox() { Box ret = new Box(); for (DisplayLine dl : displayList.getLines()) { ret.push(dl.getXpts(), dl.getYpts(), dl.getNpts()); } return ret; } public void instruct(Painter p) { for (DisplayLine dl : displayList.getLines()) { p.setColor(dl.getColor()); int np = dl.getNpts(); if (np >= 2) { p.drawPolyline(dl.getXpts(), dl.getYpts(), np); } } int ioff = 0; for (DisplayLine dl : displayList.getLines()) { p.setColor(dl.getColor()); p.drawLegendItem(dl.getName(), ioff); ioff += 1; } } public void setRepaintable(Repaintable rb) { repaintable = rb; } }