import java.util.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import javax.swing.*;
import java.io.*;
import java.util.*;
import javax.comm.*;

public class SerialDraw extends JApplet {
	
	public void init()
	{
		try {
			// For native Look and Feel, uncomment the following code.
			/*
			try {
				UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
			} 
			catch (Exception e) { 
			}
			*/
			
			JFrame frame = new JFrame();
			frame.setVisible(true);
			frame.setSize(new java.awt.Dimension(600, 600));
			frame.setLocation(new java.awt.Point(0, 0));
			frame.setResizable(true);
			frame.setBackground(java.awt.Color.lightGray);
			frame.getContentPane().setLayout(new GridLayout(1,1));
			frame.setTitle("SerialDraw");		
			frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        		SerialDrawPanel drawingPanel = new SerialDrawPanel();			
			drawingPanel.setVisible(true);
			drawingPanel.setLayout(null);
			frame.getContentPane().add(drawingPanel);
			drawingPanel.initComponents();
			drawingPanel.setBackground(java.awt.Color.yellow);
			//frame.pack();
			frame.show();
					
		}
		catch (Exception e) {
			e.printStackTrace();
		}
	}

	// Main entry point
	static public void main(String[] args) {
		SerialDraw serialDraw = new SerialDraw();
		serialDraw.init();
	}
	
}


class SerialDrawPanel extends javax.swing.JPanel {
	
	// Serial Connection Object
	SerialDrawReader serialRead;
			
	int strokeSizeOne = 9;
	int strokeSizeTwo = 9;

	// Default Constructor
	public SerialDrawPanel() {
	}

	public void initComponents() throws Exception {   
	        serialRead = new SerialDrawReader(this);
   	}

	protected void paintComponent(Graphics g)
	{
		super.paintComponent(g); 	
        	g.setColor(Color.black);
               	for (int i = 0; i < strokeSizeOne; i++)
        	{		
			g.drawLine((this.getSize().width/4) + i, 0, (this.getSize().width/4) + i, this.getSize().height);
		}
		
        	for (int i = 0; i < strokeSizeTwo; i++)
        	{		
			g.drawLine((this.getSize().width - (this.getSize().width/4) + i), 0, (this.getSize().width - (this.getSize().width/4) + i), this.getSize().height);
		}
	}
   	      	
	public void doDrawing(byte[] byteArray, int numValidBytes)
        {
		
	        for (int i = 0; i < numValidBytes; i++)
	        {			
	        	if (byteArray[i] < 100 && byteArray[i] >= 0)
	        	{
	        		strokeSizeOne = byteArray[i];
	        		//System.out.print(" -" + strokeSizeOne + "=" + byteArray[i] + "- ");
	       		}
	       		else if (byteArray[i] >= 100)
	       		{
	       			strokeSizeTwo = byteArray[i] - 100;
	       		}
	       		System.out.println(byteArray[i] + " ");
	        }
	        System.out.println(strokeSizeOne + " " + strokeSizeTwo);
	        repaint();
        }        	
        
}