UC Berkeley Group for User Interface Research
Updated November 17, 2000

edu.berkeley.guir.lib.satin.view
Class StickyViewWrapper

java.lang.Object
  |
  +--edu.berkeley.guir.lib.satin.view.ViewImpl
        |
        +--edu.berkeley.guir.lib.satin.view.ViewWrapper
              |
              +--edu.berkeley.guir.lib.satin.view.SemanticZoomViewWrapper
                    |
                    +--edu.berkeley.guir.lib.satin.view.StickyViewWrapper
All Implemented Interfaces:
Cloneable, SatinConstants, SemanticZoomView, Serializable, View
Direct Known Subclasses:
StickyAllViewWrapper, StickyRViewWrapper, StickyXYViewWrapper, StickyZViewWrapper

public abstract class StickyViewWrapper
extends SemanticZoomViewWrapper

Sticky view abstract base class.

This software is distributed under the Berkeley Software License.

 Revisions:  - SATIN-v1.0-1.0.0, Feb 28 2000, JH
               Created class
             - SATIN-v2.1-1.0.0, Aug 11 2000, JH
               Touched for SATIN release
 

Since:
JDK 1.3RC1
Version:
SATIN-v2.1-1.0.0, Aug 11 2000
Author:
Jason Hong ( jasonh@cs.berkeley.edu )
See Also:
Serialized Form

Inner classes inherited from class edu.berkeley.guir.lib.satin.SatinConstants
SatinConstants.ObjectPoolAffineTransform, SatinConstants.ObjectPoolPoint2D, SatinConstants.ObjectPoolPolygon2D, SatinConstants.ObjectPoolRectangle2D, SatinConstants.ObjectPoolStringBuffer, SatinConstants.UniqueAffineTransform, SatinConstants.UniquePoint2D, SatinConstants.UniquePolygon2D, SatinConstants.UniqueRectangle2D
 
Fields inherited from class edu.berkeley.guir.lib.satin.view.ViewImpl
gob, poly
 
Fields inherited from interface edu.berkeley.guir.lib.satin.SatinConstants
ABOVE, ALL, BAR, BELOW, clipboard, clprops, cmdqueue, cmdsubsys, CONTAINEDBY, CONTAINS, COORD_ABS, COORD_LOCAL, COORD_REL, DAMAGE_LATER, DAMAGE_NOW, DEBUG_GRAPHICS_OFFSET, DEBUG_STYLE_FILE, DEBUG_STYLE_GPROPERTY, DEEP, DEFAULT_POINT2D_POOL_SIZE, DEFAULT_POLYGON2D_POOL_SIZE, DEFAULT_RECTANGLE_POOL_SIZE, DEFAULT_REPAINT_THRESHOLD, DEFAULT_SELECT_THRESHOLD, DEFAULT_STRINGBUFFER_POOL_SIZE, DEFAULT_TRANSFORM_POOL_SIZE, DIR_CENTER, DIR_DOWN, DIR_DOWN_LEFT, DIR_DOWN_RIGHT, DIR_LEFT, DIR_RIGHT, DIR_UP, DIR_UP_LEFT, DIR_UP_RIGHT, FILTER_THRESHOLD, FIRST, FLOATING_PT_TOLERANCE, glprops, INTERSECTS, KEY_STYLE_DASHARRAY, KEY_STYLE_DASHPHASE, KEY_STYLE_DRAWCOLOR, KEY_STYLE_DRAWFONT, KEY_STYLE_DRAWTRANSPARENCY, KEY_STYLE_ENDCAP, KEY_STYLE_FILLCOLOR, KEY_STYLE_FILLTRANSPARENCY, KEY_STYLE_LINEJOIN, KEY_STYLE_LINEWIDTH, KEY_STYLE_MITERLIMIT, NEAR, NOTIFY_BOUNDS, NOTIFY_LAYER, NOTIFY_LOCATION, NOTIFY_STYLE, NOTIFY_TRANSFORM, poolPoints, poolPolys, poolRects, poolStrbuf, poolTx, rand, SATIN_DATA_DIRECTORY_DEFAULT, SATIN_DATA_DIRECTORY_GPROPERTY, SATIN_PROPERTIES_FILENAME, SHALLOW
 
Constructor Summary
protected StickyViewWrapper()
          Empty constructor, for subclassing and cloning purposes.
  StickyViewWrapper(View v)
          Wrap a view into a sticky wrapper.
 
Method Summary
protected  StickyViewWrapper clone(StickyViewWrapper vw)
           
 Polygon2D getBoundingPoints2DRef()
          Get the sticky bounds.
protected abstract  AffineTransform getStickyTransform(AffineTransform tx)
          Get the transform that makes the view "sticky".
protected  Polygon2D getUnstickyBoundingPoints2DRef()
          Get the unsticky bounds.
 void render(SatinGraphics g)
          Render this view.
 
Methods inherited from class edu.berkeley.guir.lib.satin.view.SemanticZoomViewWrapper
clone, clone, getEndScale, getFadeIn, getFadeOut, getScaleFactor, getStartScale, getViewDisplayValue, setDisplayRange, setDisplayRange, toString
 
Methods inherited from class edu.berkeley.guir.lib.satin.view.ViewWrapper
clone, getName, getView, setAttachedGraphicalObject, setBoundingPoints2DRef, setView
 
Methods inherited from class edu.berkeley.guir.lib.satin.view.ViewImpl
clone, getAttachedGraphicalObject, isVisible, setName, setVisible
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface edu.berkeley.guir.lib.satin.view.View
getAttachedGraphicalObject, getName, isVisible, setAttachedGraphicalObject, setBoundingPoints2DRef, setName, setVisible
 

Constructor Detail

StickyViewWrapper

protected StickyViewWrapper()
Empty constructor, for subclassing and cloning purposes.

StickyViewWrapper

public StickyViewWrapper(View v)
Wrap a view into a sticky wrapper.
Method Detail

getUnstickyBoundingPoints2DRef

protected Polygon2D getUnstickyBoundingPoints2DRef()
Get the unsticky bounds.

getBoundingPoints2DRef

public Polygon2D getBoundingPoints2DRef()
Get the sticky bounds. You can modify the reference, but it won't do any good, since we always update our bounds based on the wrapped-up view.
Overrides:
getBoundingPoints2DRef in class ViewWrapper
Following copied from interface: edu.berkeley.guir.lib.satin.view.View
Returns:
the polygon bounds.

getStickyTransform

protected abstract AffineTransform getStickyTransform(AffineTransform tx)
Get the transform that makes the view "sticky". One way of thinking about it is that the transform returned by this method "undoes" part of the absolute transform of the Graphical Object attached to this view. For example, Sticky Z would "undo" the zoom part of the absolute transform, while Sticky R would "undo" the rotation part of the absolute transform.

Don't call getBoundingPoints2DRef() or any other method that gets or uses the bounds in this method, as that will cause a mutually recursive call.

Parameters:
tx - is storage space.

render

public void render(SatinGraphics g)
Description copied from interface: View
Render this view. Use (0,0) as the top-left corner of this view. Any transformations that the attached GraphicalObject has will automatically be applied, so all you have to do is render the view normally.
Overrides:
render in class SemanticZoomViewWrapper

clone

protected StickyViewWrapper clone(StickyViewWrapper vw)

Copyright Information