EOS 2  1.1.0
Einfache Objektbasierte Sprache
Pen.java
gehe zur Dokumentation dieser Datei
1 package de.lathanda.eos.geo;
2 
3 import de.lathanda.eos.base.FillStyle;
4 import de.lathanda.eos.base.MutableColor;
5 import de.lathanda.eos.base.Picture;
6 import de.lathanda.eos.base.layout.BalancePoint;
7 import de.lathanda.eos.base.layout.BoundingBox;
8 import de.lathanda.eos.base.math.Point;
9 import de.lathanda.eos.base.layout.Transform;
10 import java.util.LinkedList;
11 
18 public class Pen extends FilledFigure {
19  private final static LinkedList<Point> PEN;
20 
21  static {
22  PEN = new LinkedList<>();
23  PEN.add(new Point(-5, 10));
24  PEN.add(new Point(20, 0));
25  PEN.add(new Point(-5, -10));
26  }
27 
28  public Pen() {
30  fill.setColor(new MutableColor(255,0,0,128));
32  }
33 
34  @Override
35  protected void drawObject(Picture p) {
36  p.drawPolygon(PEN);
37  }
38  @Override
39  protected void scaleInternal(double factor) {
40  //pen is no real figure, so scaling it doesn't do anything
41  }
42 
43  @Override
44  protected void fireLayoutChanged() {
45  // PEN is not considered for layouting
46  // so we do NOT call super
48  }
49 
50  @Override
52  return new BalancePoint(0, getX(), getY());
53  }
54 
55  public Point getPoint() {
56  return new Point(getX(), getY());
57  }
58 
59  @Override
61  Transform t = base.transform(own);
62  return new BoundingBox(t.getdx(), t.getdx(), t.getdy(), t.getdy());
63  }
64 }
static final MutableColor BLACK
abstract void drawPolygon(double[] x, double[] y)
Geometrische Transformation.
Definition: Transform.java:13
BoundingBox calculateBoundingBox(Transform base, Transform own)
Definition: Pen.java:60
void scaleInternal(double factor)
Definition: Pen.java:39
void drawObject(Picture p)
Definition: Pen.java:35
BalancePoint getBalancePoint()
Definition: Pen.java:51
void fireLayoutChanged()
Definition: Pen.java:44
Impressum