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

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

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
                          |
                          +--edu.berkeley.guir.lib.satin.view.StickyRViewWrapper
All Implemented Interfaces:
Cloneable, SatinConstants, SemanticZoomView, Serializable, View

public class StickyRViewWrapper
extends StickyViewWrapper

Wraps up views to be non-rotatable.

This software is distributed under the Berkeley Software License.

 Revisions:  - SATIN-v1.0-1.0.0, Aug 16 1999, 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
StickyRViewWrapper()
          Does nothing.
StickyRViewWrapper(StickyRViewWrapper v)
          A copy constructor.
StickyRViewWrapper(View v)
          Wrap a view into a sticky-R wrapper, making it appear rotation-invariant despite any kind of transformation.
 
Method Summary
 Object clone()
          Implementation of the Sorceror's Apprentice algorithm.
protected  StickyRViewWrapper clone(StickyRViewWrapper vw)
           
protected  AffineTransform getStickyTransform(AffineTransform txTmp)
          Get the transform that makes the view "sticky".
 
Methods inherited from class edu.berkeley.guir.lib.satin.view.StickyViewWrapper
clone, getBoundingPoints2DRef, getUnstickyBoundingPoints2DRef, render
 
Methods inherited from class edu.berkeley.guir.lib.satin.view.SemanticZoomViewWrapper
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

StickyRViewWrapper

public StickyRViewWrapper()
Does nothing.

StickyRViewWrapper

public StickyRViewWrapper(View v)
Wrap a view into a sticky-R wrapper, making it appear rotation-invariant despite any kind of transformation.

StickyRViewWrapper

public StickyRViewWrapper(StickyRViewWrapper v)
A copy constructor.
Method Detail

getStickyTransform

protected AffineTransform getStickyTransform(AffineTransform txTmp)
Description copied from class: StickyViewWrapper
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 StickyViewWrapper.getBoundingPoints2DRef() or any other method that gets or uses the bounds in this method, as that will cause a mutually recursive call.

Overrides:
getStickyTransform in class StickyViewWrapper
Following copied from class: edu.berkeley.guir.lib.satin.view.StickyViewWrapper
Parameters:
tx - is storage space.

clone

public Object clone()
Description copied from interface: View
Implementation of the Sorceror's Apprentice algorithm. Needs to be a DEEP clone.
Overrides:
clone in class SemanticZoomViewWrapper

clone

protected StickyRViewWrapper clone(StickyRViewWrapper vw)

Copyright Information