values].
While continuous objects will probably center themselves on the origin,
Discrete 2D objects typically will draw themselves to fill the box (the
box effectively defines the [0,0] to [1,1] range). You may assume that
the coordinates will never be fipped or zeroed (that is, the width and
height will not be negative or 0).
Why is this rectangle being provided instead of just using an affine transform
on the grahics object to scale and translate the space? Two reasons. First,
affine transforms are expensive in Java2D. Second, if you need to draw auxillary
information (like readable text), the text would also get transformed (scaled), which
is not what we want. Line thickness is also likewise transformed, which might or
might not be desirable.
The clip rectangle describes a box defining a region that must be drawn.
This region will always intersect at least partially with the draw rectangle.
Why provide this clip rectangle? Because to my knowledge there's no standard way to
tell objects that only part of them needs to be updated in Java2D and Swing -- a failure
of the system design.
The precise flag hints to the underlying portrayals that the drawing should be
done precisely rather than rapidly: this is primarily for generating PDF images. It may
be ignored.
The selected flag indicates to the underlying portrayals that the object in question
is in selected mode. This flag is only set by FieldPortrayals.
The location object may store the location of the item in the outer Field.
Fields are free to not store anything here if they see fit. Further, this
object may not be the actual kind of object used to store the location (for example,
it might be a MutableDouble2D, even though the object is associated with a Double2D).
Method Summary |
boolean |
equals(java.lang.Object obj)
|
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
gui
public GUIState gui
fieldPortrayal
public FieldPortrayal2D fieldPortrayal
draw
public java.awt.geom.Rectangle2D.Double draw
clip
public java.awt.geom.Rectangle2D.Double clip
selected
public boolean selected
precise
public boolean precise
location
public java.lang.Object location
DrawInfo2D
public DrawInfo2D(GUIState gui,
FieldPortrayal2D fieldPortrayal,
java.awt.geom.RectangularShape draw,
java.awt.geom.RectangularShape clip)
DrawInfo2D
public DrawInfo2D(DrawInfo2D other,
double translateX,
double translateY)
DrawInfo2D
public DrawInfo2D(DrawInfo2D other)
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in class java.lang.Object
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object