Den abstrakta klassen Shape
import se.lth.cs.pt.graphics.Shape;

Denna klass är lite speciell, du kan inte skapa Shape-objekt, den beskriver bara de operationer som är gemensamma för olika slags figurer (Rectangle, Oval, etc). Du kan alltså använda operationerna nedan på alla figurklasser, som i följande exempel:

  GraphicsWindow w = ...
  Rectangle rect = new Rectangle(100, 100, 80, 40);
  w.add(rect);
  rect.move(40, -20);
  rect.rotate(-15);
  Oval oval = new Oval(250, 300, 50, 50);
  w.add(oval);
  oval.moveTo(300, 100);
  Text text = new Text(300, 200, "Text som skall skrivas ut");
  w.add(text);
  text.rotate(30);
  text.move(30, 50);
  text.setMessage("Ny text...");
  GraphicsWindow w = ...
  Sprite ball = new Sprite("ball.png", 200, 200);
  w.add(ball);
  w.move(5, -5);

De olika figurklasserna är alltså:

Metoder
double getX()
Ger x-koordinaten för figurens mittpunkt.
Returnerar x-koordinaten (som ett double-värde).
double getY()
Ger y-koordinaten för figurens mittpunkt.
Returnerar y-koordinaten (som ett double-värde).
boolean covers(double x, double y)
Avgör om figuren täcker en given punkt (om figuren aldrig ritats i ett fönster så täcker den inga punkter).
Parametrar:
x:punktens x-koordinat.
y:punktens y-koordinat.
Returnerar true om punkten täcks, false annars.
void moveTo(GraphicsWindow_ w, double x, double y)
Flyttar figurens mittpunkt till nya koordinater i ett givet fönster.
Parametrar:
w:det fönster som figuren skall ritas i.
x:ny x-koordinat.
y:ny y-koordinat.
void moveTo(double x, double y)
Flyttar figurens mittpunkt till nya koordinater (i samma fönster som tidigare).
Parametrar:
x:ny x-koordinat.
y:ny y-koordinat.
void move(double dx, double dy)
Flyttar figurens mittpunkt en given sträcka i samma fönster som tidigare.
Parametrar:
dx:förflyttning i x-led.
dy:förflyttning i y-led.
void rotate(double angle)
Roterar figuren ett givet antal grader runt sin mittpunkt.
Parametrar:
angle:antalet grader figuren skall roteras.
void rotateTo(double angle)
Sätter figurens rotationsvinkel till ett givet antal grader (från sitt ursprungstillstånd).
Parametrar:
angle:antalet grader figuren skall vara vriden.