[BACK]Return to OXplot.java CVS log [TXT][DIR] Up to [local] / OpenXM / src / OpenMath

Diff for /OpenXM/src/OpenMath/OXplot.java between version 1.1 and 1.4

version 1.1, 2000/07/03 05:57:43 version 1.4, 2000/09/07 09:12:28
Line 1 
Line 1 
 /**  /**
  * $OpenXM$   * $OpenXM: OpenXM/src/OpenMath/OXplot.java,v 1.3 2000/07/10 06:48:06 tam Exp $
  */   */
   
 import JP.ac.kobe_u.math.tam.OpenXM.*;  import JP.ac.kobe_u.math.tam.OpenXM.*;
 import java.util.Stack;  import java.util.Stack;
 //import java.io.*;  import java.util.Vector;
   import java.awt.*;
   
 public class OXplot extends OpenXMserver{  public class OXplot extends OpenXMserver{
   private Stack stack = new Stack();    private Stack stack = new Stack();
Line 18  public class OXplot extends OpenXMserver{
Line 19  public class OXplot extends OpenXMserver{
   
   public void computeProcess(OpenXMconnection stream){    public void computeProcess(OpenXMconnection stream){
     debug("OXplot started.");      debug("OXplot started.");
       stack = new Stack();
       plotframe = new Vector();
     try{      try{
       while(true){        while(true){
           Thread.yield();
         try{          try{
           OXmessage message = stream.receive();            OXmessage message = stream.receive();
           int ox_tag = message.getTag();            int ox_tag = message.getTag();
Line 54  public class OXplot extends OpenXMserver{
Line 58  public class OXplot extends OpenXMserver{
     }      }
   }    }
   
   class plotframe extends java.awt.Frame{    class plotframe extends java.awt.Frame implements java.awt.event.MouseListener{
       Canvas canvas;
     int pixels[][];      int pixels[][];
   
     plotframe(int width,int height){      plotframe(int width,int height){
       super("plotframe");        super("plotframe");
       setSize(width,height);        add("Center", new Panel().add(canvas = new Canvas()));
         canvas.setSize(width,height);
       setResizable(false);        setResizable(false);
         canvas.addMouseListener(this);
   
       pixels = new int[width][];        pixels = new int[height][];
       for(int i=0;i<pixels.length;i++){        for(int i=0;i<pixels.length;i++){
         pixels[i] = new int[height];          pixels[i] = new int[width];
           for(int j=0;j<pixels[i].length;j++){
             pixels[i][j] = 255*j/width;
           }
       }        }
   
         pack();
         show();
     }      }
   
       public void paint(Graphics gr){
         paint();
       }
   
       public void paint(){
         Graphics g = canvas.getGraphics();
   
         for(int y=0;y<pixels.length;y++){
           for(int x=0;x<pixels[y].length;x++){
             g.setColor(new Color(pixels[y][x],pixels[y][x],pixels[y][x]));
             g.fillRect(x,y,1,1);
           }
         }
       }
   
       public void mouseClicked(java.awt.event.MouseEvent e){
         paint();
       }
   
       public void mousePressed(java.awt.event.MouseEvent e){
       }
   
       public void mouseReleased(java.awt.event.MouseEvent e){
       }
   
       public void mouseEntered(java.awt.event.MouseEvent e){
       }
   
       public void mouseExited(java.awt.event.MouseEvent e){
       }
   
       public void pset(int x,int y,int bright){
         pixels[y][x] = bright;
       }
   }    }
   
   private void SM_popCMO(OpenXMconnection stream) throws java.io.IOException{    private void SM_popCMO(OpenXMconnection stream) throws java.io.IOException{
Line 102  public class OXplot extends OpenXMserver{
Line 150  public class OXplot extends OpenXMserver{
       argv[i] = (CMO)stack.pop();        argv[i] = (CMO)stack.pop();
     }      }
   
     if(function_name.equals("CREATE") && argc==2){      if(function_name.equals("create") && argc==2){
       stack.push(CREATE(argv));        stack.push(CREATE(argv));
     }else if(function_name.equals("CMO2OMXML") && argc==1){      }else if(function_name.equals("pset") && argc==4){
       //stack.push(CMO2OMXML(argv[0]));        PSET(argv);
     }else{      }else{
       stack.push(new CMO_ERROR2(new CMO_NULL()));        stack.push(new CMO_ERROR2(new CMO_NULL()));
     }      }
Line 194  public class OXplot extends OpenXMserver{
Line 242  public class OXplot extends OpenXMserver{
     }      }
   }    }
   
   private CREATE(CMO[] argv){    private CMO CREATE(CMO[] argv){
     plotframe tmp = new plotframe(argv[0],argv[1]);      plotframe tmp = new plotframe(((CMO_INT32)argv[0]).intValue()
     int i;                                    ,((CMO_INT32)argv[1]).intValue());
   
     for(i=0;i<plotframe.size();i++){      for(int i=0;i<plotframe.size();i++){
       if(plotframe.elementAt(i) == null){        if(plotframe.elementAt(i) == null){
         plotframe.setElementAt(tmp,i);          plotframe.setElementAt(tmp,i);
         return i;          return new CMO_INT32(i);
       }        }
     }      }
   
     plotframe.addElement(tmp);      plotframe.addElement(tmp);
       plotframe.trimToSize();
   
       return new CMO_INT32(plotframe.size()-1);
   }    }
   
     private CMO PSET(CMO[] argv){
       plotframe tmp = (plotframe)plotframe.elementAt(((CMO_INT32)argv[0]).intValue());
   
       tmp.pset(((CMO_INT32)argv[1]).intValue(),
                ((CMO_INT32)argv[2]).intValue(),
                ((CMO_INT32)argv[3]).intValue());
       return new CMO_NULL();
     }
   
   private void debug(String str){    private void debug(String str){
     if(debug){      if(debug){
       System.err.println(str);        System.err.println(str);
Line 251  public class OXplot extends OpenXMserver{
Line 311  public class OXplot extends OpenXMserver{
     }      }
   
     //ox = new OpenXMserver(hostname,ControlPort,DataPort);      //ox = new OpenXMserver(hostname,ControlPort,DataPort);
     ox = new OMproxy(hostname,ControlPort,DataPort);      ox = new OXplot(hostname,ControlPort,DataPort);
     /*      /*
     try{      try{
     }catch(java.net.UnknownHostException e){      }catch(java.net.UnknownHostException e){

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.4

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>