API modifications 0.10.x -> 0.11.0 (2010-08-29)
- All positions, sizes and altitudes are now using double-precision floating point values.
- The size, width and height of all glyphs is now set and returned in full, not half of it (zvtm was previously returning the bounding circle's radius, and half width/height of glyphs).
- All *Listener and *EventHandler classes have moved to new package fr.inria.zvtm.event
- ViewEventHandler -> ViewListener
- View.setEventHandler -> View.setListener()
- PortalEventHandler -> PortalListener
- View.repaintNow() -> View.repaint()
- View.setNotifyMouseMoved() -> View.setNotifyCursorMoved()
- Field VirtualSpaceManager.activeView is no longer public; use VirtualSpaceManager.getActiveView()
- Camera.{posx,posy} -> Camera.{vx,vy}
- VText.setSpecialFont > VText.setFont()
- CircleNR -> SICircle
- RectangleNR -> SIRectangle
- fr.inria.zvtm.engine.Utilities -> fr.inria.zvtm.engine.Utils
- Several glyphs have been removed, as their shape can easily be encoded with other glyphs classes: VDiamond[Or] (use VShape), VTriangle[Or] (use VShape), VCbCurve (use DPath), VQdCurve (use DPath), CGlyph/SGlyph (use Composite).
- All deprecated methods have been removed.
Major API modifications 0.9.8 -> 0.10.0
The package structure has been simplified. There is now a single hierarchy fr.inria.zvtm. Simply replace all com.xerox.VTM and net.claribole.zvtm by fr.inria.zvtm
The virtual space manager is now instantiated automatically. Change your instantiation code to:
A major refactoring of the animation API has been committed to the trunk. The animation manager and API is now based on Sun's Timing Framework. All animation constructs are now in a dedicated package: fr.inria.zvtm.animation. See the ZVTM Developer's Guide for detailed information about how to use the new animation API.
AnimationListener, which was only listening for Camera motion events, has been replaced by CameraListeners which can be directly added to Camera instances.
Translucence is now supported in all Glyph classes. As a consequence, all *ST glyph classes have disappeared and new constructors have been added to super class.
Several VirtualSpaceManager methods have moved to other classes:
- addGlyph(...) -> [to VirtualSpace]
- addGlyphs(...) -> [to VirtualSpace]
- centerOnGlyph(...) -> [to View]
- centerOnRegion(...) -> [to View]
- getGlobalView(...) -> [to View]
- getGlyphsInRegion(...) -> [to View]
- stickToCamera(...) -> [to Camera]
- stickToGlyph(...) -> [to Glyph]
- stickToMouse(...) -> [to VCursor]
Renamed classes:
- AppletView -> PView
- AppletViewPanel -> PViewPanel
- ViewPanel.getMouse() -> ViewPanel.getVCursor()
- Java2DPainter.AFTER_DISTORTION -> Java2DPainter.AFTER_LENSES
Renamed methods:
- VirtualSpaceManager.addExternalView(...) -> addFrameView(...)
VirtualSpace API (2008-11-28) 0.9.7 -> 0.9.8
In an effort to get rid of misleading method names, methods dealing with the removal of glyphs from virtual spaces have been renamed.
- VirtualSpace.destroyGlyph(Glyph g) -> VirtualSpace.removeGlyph(Glyph g)
- VirtualSpace.destroyGlyph(Glyph g, boolean repaint) -> VirtualSpace.removeGlyph(Glyph g, boolean repaint)
- VirtualSpace.destroyGlyph(Long gID) -> VirtualSpace.removeGlyph(Long gID)
- VirtualSpace.destroyGlyph(Long gID, boolean repaint) -> VirtualSpace.removeGlyph(Long gID, boolean repaint)
- VirtualSpaceManager.destroyGlyphsInSpace(String spaceName) -> VirtualSpaceManager.removeGlyphsFromSpace(String spaceName)
Glyph API (2007-03-21) 0.9.4 -> 0.9.5
In an effort to clean up and enhance the API, the class hierarchy has been slightly modified and some method names have been changed. Additionally, the Glyph selection mechanism no longer modifies the border color automatically. The management of visual changes reflecting selection is left to the client application, as it is subject to important variations.
Glyph remains the super class of all graphical objects. An intermediate abstract super class for all closed shapes has been added: ClosedShape. All glyphs that are not closed shapes still have Glyph as their parent class.
- Glyph
- ClosedShape
- VRectangle
- VShape
- VEllipse
- VDiamond
- VPolygon
- VImage
- ...
- VText
- VPath
- VSegment
- ...
- ClosedShape
As a consequence, several methods for managing closed-shape specific attributes have been moved from Glyph to ClosedShape (e.g. border and fill color management). The following changes were committed to the SVN repository on 2007-03-20, and will be effective in release 0.9.5. They do not impact the way these methods are used.
- Glyph.setFill(boolean b) -> ClosedShape.setFilled(boolean b)
- Glyph.getFillStatus() -> ClosedShape.isFilled()
- Glyph.getColorb() -> ClosedShape.getBorderColor()
- Glyph.setPaintBorder(boolean b) -> ClosedShape.setDrawBorder(boolean b)
- Glyph.getPaintBorderStatus() -> ClosedShape.isBorderDrawn()
- Glyph.setMouseInsideBorderColor(Color c) -> Glyph.setMouseInsideHighlightColor(Color c)
The single color of glyphs that are not closed shapes is managed through the same methods used for managing the main color of closed shapes (usually the fill color), which are still defined in Glyph.
Interface Transparent has been renamed Translucent for clarity. Method names in this interface reflect this change:
- Transparent.setTransparencyValue(float a) -> Transparent.setTranslucencyValue(float a)
- Transparent.getTransparencyValue() -> Transparent.getTranslucencyValue()
The following deprecated methods have been completely removed on 2007-03-20, and will be effective in release 0.9.5:
- Glyph.drawMe(long wb, long nb, long eb, long sb, int i) - deprecated since 0.9.4
- Glyph.getStickedGlyphs() - deprecated since 0.9.2
- Glyph.setMouseInsideColor(Color c) - deprecated since 0.9.3