Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private void jPanel1MousePressed(java.awt.event.MouseEvent evt) {
- this.pirmX = evt.getX()-canvas.offsetX;
- this.pirmY = -(evt.getY()-canvas.offsetY);
- this.otrX = this.pirmX;
- this.otrY = this.pirmY;
- this.dragging = true;
- int a = this.pirmX, b= this.pirmY;
- canvas.showBlackPixel(a, b);
- }
- private void jPanel1MouseDragged(java.awt.event.MouseEvent evt) {
- if(!dragging){
- return;
- }
- int a0 = this.pirmX;
- int a1 = this.otrX;
- int b0 = this.pirmY;
- int b1 = this.otrY;
- int xn= a0, yn=b0, dx=Math.abs(a1-a0), dy=Math.abs(b1-b0);
- int xi,yi;
- if(a0<a1){ //Pārbauda taisnes virzienu
- xi=1;
- }else{
- xi=-1;
- }
- if(b0<b1){ //ja y1<mazaks neka pedejais, tad vajag palielināt y,
- yi=1; //bet ja pirma punkta vertiba ir lielaka neka pedeja, tad vajag samazinat
- }else{
- yi=-1;
- }
- canvas.showColorPixel(a0, b0, myWhite);
- int pn;
- int i = -1;
- if(dx>=dy){
- pn=2*dy-dx;
- i++;
- while(xn!=a1){
- if(pn>0){
- xn=xn+xi;
- yn=yn+yi;
- pn=pn+2*dy-2*dx;
- i++;
- }else{
- xn=xn+xi;
- pn=pn+2*dy;
- i++;
- }
- canvas.showColorPixel(xn, yn, myWhite);
- }
- }else{
- pn=2*dx-dy;
- i++;
- while(yn!=a1){
- if(pn>0){
- xn=xn+xi;
- yn=yn+yi;
- pn=pn+2*dx-2*dy;
- i++;
- }else{
- yn=yn+yi;
- pn=pn+2*dx;
- i++;
- }
- canvas.showColorPixel(xn, yn, myWhite);
- }
- }
- this.otrX = evt.getX() - canvas.offsetX;
- this.otrY = -(evt.getY() - canvas.offsetY);
- a1 = this.otrX;
- b1 = this.otrY;
- a0 = this.pirmX;
- b0 = this.pirmY;
- xn= a0; yn=b0; dx=Math.abs(a1-a0); dy=Math.abs(b1-b0);
- if(a0<a1){ //Pārbauda taisnes virzienu
- xi=1;
- }else{
- xi=-1;
- }
- if(b0<b1){ //ja y1<mazaks neka pedejais, tad vajag palielināt y,
- yi=1; //bet ja pirma punkta vertiba ir lielaka neka pedeja, tad vajag samazinat
- }else{
- yi=-1;
- }
- canvas.showBlackPixel(a0,b0);
- if(dx>=dy){
- pn=2*dy-dx;
- i++;
- while(xn!=a1){
- if(pn>0){
- xn=xn+xi;
- yn=yn+yi;
- pn=pn+2*dy-2*dx;
- i++;
- }else{
- xn=xn+xi;
- pn=pn+2*dy;
- i++;
- }
- canvas.showBlackPixel(xn,yn);
- }
- }else{
- pn=2*dx-dy;
- i++;
- while(yn!=a1){
- if(pn>0){
- xn=xn+xi;
- yn=yn+yi;
- pn=pn+2*dx-2*dy;
- i++;
- }else{
- yn=yn+yi;
- pn=pn+2*dx;
- i++;
- }
- canvas.showBlackPixel(xn,yn);
- }
- }
- }
- private void jPanel1MouseReleased(java.awt.event.MouseEvent evt) {
- if(!dragging){
- return;
- }
- int a0 = this.pirmX;
- int a1 = this.otrX;
- int b0 = this.pirmX;
- int b1 = this.otrX;
- int xn= a0, yn=b0, dx=Math.abs(a1-a0), dy=Math.abs(b1-b0);
- int xi,yi;
- if(a0<a1){ //Pārbauda taisnes virzienu
- xi=1;
- }else{
- xi=-1;
- }
- if(a0<a1){ //ja y1<mazaks neka pedejais, tad vajag palielināt y,
- yi=1; //bet ja pirma punkta vertiba ir lielaka neka pedeja, tad vajag samazinat
- }else{
- yi=-1;
- }
- canvas.showColorPixel(a0, b0, myWhite);
- int pn;
- int i = -1;
- if(dx>=dy){
- pn=2*dy-dx;
- i++;
- while(xn!=a1){
- if(pn>0){
- xn=xn+xi;
- yn=yn+yi;
- pn=pn+2*dy-2*dx;
- i++;
- }else{
- xn=xn+xi;
- pn=pn+2*dy;
- i++;
- }
- canvas.showColorPixel(xn, yn, myWhite);
- }
- }else{
- pn=2*dx-dy;
- i++;
- while(yn!=a1){
- if(pn>0){
- xn=xn+xi;
- yn=yn+yi;
- pn=pn+2*dx-2*dy;
- i++;
- }else{
- yn=yn+yi;
- pn=pn+2*dx;
- i++;
- }
- canvas.showColorPixel(xn, yn, myWhite);
- }
- }
- a1 = evt.getX() - canvas.offsetX;
- b1 = -(evt.getY() - canvas.offsetY);
- xn= a0; yn=b0; dx=Math.abs(a1-a0); dy=Math.abs(b1-b0);
- if(a0<a1){ //Pārbauda taisnes virzienu
- xi=1;
- }else{
- xi=-1;
- }
- if(a0<a1){ //ja y1<mazaks neka pedejais, tad vajag palielināt y,
- yi=1; //bet ja pirma punkta vertiba ir lielaka neka pedeja, tad vajag samazinat
- }else{
- yi=-1;
- }
- canvas.showBlackPixel(a0,b0);
- if(dx>=dy){
- pn=2*dy-dx;
- i++;
- while(xn!=a1){
- if(pn>0){
- xn=xn+xi;
- yn=yn+yi;
- pn=pn+2*dy-2*dx;
- i++;
- }else{
- xn=xn+xi;
- pn=pn+2*dy;
- i++;
- }
- canvas.showBlackPixel(xn,yn);
- }
- }else{
- pn=2*dx-dy;
- i++;
- while(yn!=a1){
- if(pn>0){
- xn=xn+xi;
- yn=yn+yi;
- pn=pn+2*dx-2*dy;
- i++;
- }else{
- yn=yn+yi;
- pn=pn+2*dx;
- i++;
- }
- canvas.showBlackPixel(xn,yn);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement