public class DefaultViewFactory.TextView extends DefaultViewFactory.LeafElementView
Modifier and Type | Field and Description |
---|---|
protected double |
strx
TextLayout location with respect to PicText's anchor point
|
protected double |
stry
TextLayout location with respect to PicText's anchor point
|
protected java.awt.font.TextLayout |
textLayout
the TextLayout that renders the text string of this TextEditable
|
protected java.awt.geom.AffineTransform |
tl2ModelTr |
interiorPaint, lineWidth, outlinePaint, outlineStroke, overStrikeWidth, shadowBounds, shape
bounds, element, highlighter
BARBELL_SIZE, CLICK_DISTANCE
Constructor and Description |
---|
DefaultViewFactory.TextView(PicText te)
construct a new View for the given PicRectangle
|
Modifier and Type | Method and Description |
---|---|
void |
changedUpdate(DrawingEvent.EventType eventType)
Give notification from the model that a change occured to the text this view is responsible
for rendering.
|
protected double |
getRotation()
Returns the text rotation in radians : subclassers that don't support rotating text may return 0 here.
|
java.awt.font.TextLayout |
getTextLayout()
[SR:pending] make this view implement aka TextEditableView interface (or something like it), where
TextEditableView is a subinterface of View with text-editing specific capabilities.
|
java.awt.geom.AffineTransform |
getTextToModelTransform()
Return an affine transform which translat b/w the TextLayout coordinate system and the
jpicedt.graphic.model coordinate system.
|
HitInfo |
hitTest(PEMouseEvent e)
This implementation calls
super.hitTest and returns the result if non-null
(this should be a HitInfo.Point),
then returns a HitInfo.Interior if the mouse-click occured inside the text bound (as defined
by text layout) |
void |
paint(java.awt.Graphics2D g,
java.awt.geom.Rectangle2D a)
Render the View to the given graphic context.
|
protected void |
syncBounds()
Synchronizes bounding box with the model ;
|
protected void |
syncFrame()
synchronize frame shape and location
|
protected void |
syncShape()
Synchronize the textLayout and the shape (=frame box, by calling syncFrame) with the model
This delegates to getRotation() where computing rotation angle is concerned, and
updates the AffineTransform returned by getTextToModelTransform().
|
protected void |
syncStringLocationX()
update strx = x-location of TextLayout's bottom-Left corner with respect to PicText's anchor-point
|
protected void |
syncStringLocationY()
update strx = y-location of TextLayout's bottom-Left corner with respect to PicText's anchor-point
|
getViewFactory, syncAttributes
getBounds, getContainer, getDrawing, getElement, getGraphics, getHighlighter, getParentView, hitTest, paintHighlighter, repaint, setElement, setHighlighter
protected java.awt.font.TextLayout textLayout
protected double strx
protected double stry
protected java.awt.geom.AffineTransform tl2ModelTr
public DefaultViewFactory.TextView(PicText te)
public void changedUpdate(DrawingEvent.EventType eventType)
changedUpdate
in interface View
changedUpdate
in class DefaultViewFactory.LeafElementView
protected double getRotation()
protected void syncShape()
syncShape
in class DefaultViewFactory.LeafElementView
protected void syncBounds()
syncBounds
in class DefaultViewFactory.LeafElementView
protected void syncFrame()
protected void syncStringLocationX()
protected void syncStringLocationY()
public void paint(java.awt.Graphics2D g, java.awt.geom.Rectangle2D a)
paint
in interface View
paint
in class DefaultViewFactory.LeafElementView
a
- the current graphic clippublic HitInfo hitTest(PEMouseEvent e)
super.hitTest
and returns the result if non-null
(this should be a HitInfo.Point),
then returns a HitInfo.Interior if the mouse-click occured inside the text bound (as defined
by text layout)hitTest
in class DefaultViewFactory.LeafElementView
public java.awt.font.TextLayout getTextLayout()
public java.awt.geom.AffineTransform getTextToModelTransform()
Submit a bug : syd@jpicedt.org