Canvas For Practical-03
Canvas For Practical-03
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
float x,y,x1,y1,x2,y2,dx,dy,length,e;
public void drawDDALine(float xP, float yP, float xQ, float yQ){
x1 = xP; y1 = yP;
x2 = xQ; y2 = yQ;
new Thread(this).start();
}
dx = Math.abs(x2 - x1);
dy = Math.abs(y2 - y1);
x = x1;
y = y1;
e = 2 * dy - dx;
int i = 1;
do {
repaint();
while (e >= 0) {
y += (y2 > y1) ? 1 : -1;
e -= 2 * dx;
}
try {
Thread.sleep(100);
} catch (InterruptedException e) {
System.out.println(e.toString());
}
} while (i <= dx);
}
Dimension d = getSize();
int maxX = d.width - 1;
int maxY = d.height - 1;
Graphics2D g2d = (Graphics2D) g.create();
//
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS
_ON);
// BasicStroke bsThick = new BasicStroke(3.0f);
// g2d.setStroke(bsThick);
g2d.drawRect(0, 0, maxX, maxY);//Canvas Border-Size Rectangle
//g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALI
AS_ON);
//point.setLocation(x, y);
//g2d.setStroke(bsThick);
//g2d.draw(new Line2D.Float(point, point));
}
}