1 import java.util.LinkedHashMap;
4 public int position = 0;
5 public ArrayList<Integer> graphicBuffer;
8 graphicBuffer = new ArrayList<Integer>();
12 return graphicBuffer.size();
17 class Granim extends Graphic
19 LinkedHashMap<String,Graphic> displayList;
23 displayList = new LinkedHashMap<String,Graphic>();
25 public Graphic addGraphic(String name, Graphic g)
27 graphicBuffer.clear();
28 while(width()< g.position+1)
30 graphicBuffer.add(color(0,0,0));
33 displayList.put(name , g);
37 public Graphic getGraphicByName(String name)
39 return displayList.get(name);
45 for(Graphic g : displayList.values())
47 if(g instanceof Granim)
49 ((Granim) g).update();
55 public void drawOne(Graphic g)
57 graphicBuffer.addAll(g.position,g.graphicBuffer);
61 graphicBuffer.clear();
62 for(Graphic g : displayList.values())
64 while(width()< g.position + g.width())
66 graphicBuffer.add(color(0,0,0));
72 class GranimPattern extends SCPattern
74 LinkedHashMap<String,Graphic> displayList;
76 GranimPattern(GLucose glucose)
79 displayList = new LinkedHashMap<String,Graphic>();
82 public Graphic addGraphic(String name, Graphic g)
84 displayList.put(name,g);
88 public Graphic getGraphicByName(String name)
90 return displayList.get(name);
93 public void run(int deltaMs)
98 public void drawToPointList()
100 for(Graphic g : displayList.values())
102 if(g instanceof Granim)
104 ((Granim) g).update();
106 List<Point> drawList = model.points.subList(g.position, g.position + g.width());
108 for (int i=0; i < drawList.size(); i++)
110 colors[drawList.get(i).index] = (int) g.graphicBuffer.get(i);
117 class RedsGraphic extends Graphic
132 for(int i = 0; i < len ;i++)
134 graphicBuffer.add(color(0,255,255));
139 class RedsGranim extends Granim
144 addGraphic("myreds", new RedsGraphic(10));
149 addGraphic("myreds", new RedsGraphic(len));
151 public float count = 0.0;
154 Graphic g=getGraphicByName("myreds");
155 g.position = Math.round(sin(count)*20)+100;
166 class RandomsGranim extends Granim
168 private int _len =0 ;
173 addGraphic("myrandoms", makeGraphic(_len));
175 RandomsGranim(int len)
179 addGraphic("myrandoms", makeGraphic(len));
181 public Graphic makeGraphic(int len)
183 int[] colors= new int[len];
184 for(int i =0;i<len;i++)
186 colors[i]=(int) Math.round(Math.random()*255);
188 return new ColorDotsGraphic(colors);
190 private int count =1;
191 private int instanceCount =0;
198 Graphic h=addGraphic("myrandoms_"+instanceCount, makeGraphic(_len));
199 h.position = instanceCount*(_len+100);
200 println("one more " + instanceCount+" at "+h.position);
210 class ColorDotsGraphic extends Graphic
212 ColorDotsGraphic(int[] colorSequence)
215 for (int colorVal : colorSequence)
217 graphicBuffer.add(color(colorVal, 255, 255));