Mercurial > hg > jslab
view src/samer/tools/SignalTrace.java @ 8:5e3cbbf173aa tip
Reorganise some more
author | samer |
---|---|
date | Fri, 05 Apr 2019 22:41:58 +0100 |
parents | bf79fb79ee13 |
children |
line wrap: on
line source
/* * DoubleAgent.java * * Copyright (c) 2000, Samer Abdallah, King's College London. * All rights reserved. * * This software is provided AS IS and WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. */ package samer.tools; import samer.core.*; import samer.core.types.*; import java.util.*; import java.awt.*; public class SignalTrace extends Trace { VDouble x; Color col; Renderer R; int oldj; public SignalTrace(VDouble x) { this.x=x; col=Shell.getColor("color",getForeground()); R=(Renderer)Shell.get("renderer",Renderer.LINE); oldj=-1; } public void run() { super.run(); int j=height-map.toInt(x.value); if (oldj<0) oldj=j; graphics.setColor(col); R.draw(graphics,x1,x2,oldj,j,j0); oldj=j; } public void detach() { x.deleteObserver(this); } public void update(Observable obs, Object arg) { if (arg==Viewable.DISPOSING) { detach(); getParent().remove(this); } else if (x==obs) run(); else super.update(obs,arg); } public void getCommands(Registry r) { super.getCommands(r); r.add("renderer"); } public void execute(String cmd, Environment env) throws Exception { if (cmd.equals("renderer")) R=(Renderer)Shell.get("renderer",Renderer.LINE); else super.execute(cmd,env); } }