Select Git revision
DrawingUpdate.java
DrawingUpdate.java 1.98 KiB
package client;
import GUI.DrawingArea;
import remote.IDrawingUpdate;
import java.awt.*;
import java.io.Serializable;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
public class DrawingUpdate extends UnicastRemoteObject implements IDrawingUpdate, Serializable {
private Client client;
public DrawingUpdate(Client client) throws RemoteException {
super();
this.client = client;
}
@Override
public boolean notifyDrawing(String fromClient, Shape drawing, String mode, Color color) throws RemoteException {
Graphics2D g2 = client.getApplicationMain().getPaintGUI().getDrawingArea().getG2();
switch (mode) {
case "OVAL":
case "RECTANGLE":
case "CIRCLE":
case "FREEHAND":
case "LINE":
g2.setColor(color);
g2.draw(drawing);
break;
default:
System.out.println("Erased");
}
g2 = (Graphics2D) client.getApplicationMain().getPaintGUI().getDrawingArea().getImage().getGraphics();
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2.setColor(color);
client.getApplicationMain().getPaintGUI().getDrawingArea().repaint();
return true;
}
public boolean notifyDraggingDrawing(String fromClient, Shape drawing, String mode, Color color) throws RemoteException {
Graphics2D g2 = client.getApplicationMain().getPaintGUI().getDrawingArea().getG2();
switch (mode) {
case "FREEHAND":
g2.setColor(color);
g2.draw(drawing);
break;
case "ERASE":
g2.setColor(Color.WHITE);
g2.fill(drawing);
g2.draw(drawing);
break;
default:
break;
}
client.getApplicationMain().getPaintGUI().getDrawingArea().repaint();
return true;
}
}