Lemur version 1.6.1
This release includes some minor fixes over the last one and a few improvements. The only real new feature is the effects and animation system that allows for styled animations to be added to any GUI element.
This should be a safe drop-in replacement for 1.5.x
This release is also the first to be posted to the public jcenter repository and can now easily be directly incorporated into gradle or maven builds:
com.simsilica:lemur:1.6.1
Updates in this release:
- Fixed an issue in DefaultRangedValueModel where the 'value' field
was used directly instead of calling getValue(). This made it harder
for subclasses to implement custom behavior. - Added a Slider(model, ElementId) constructor.
- Modified the style Attributes class to auto-merge Map-based attribute values
using the same override logic that the Attributes class itself uses. - Added a basic animation system and GUI element stylable effects API.
- Added a setEffects() method to Panel that is stylable. Also added a few
other runEffect(), addEffect(), etc. methods related to the new animation
system. - Modified Button to automatically attempt to run effects for the various
button events. - Modified CommandMap to support null values in the addCommands() call
that can be used to clear out any previously added values. - Fixed a bug in Container where children that called removeFromParent()
left the layout in an inconsistent state. Now a regular detachChild()
will check the layout first before detaching the child. - Added getLastVersion() and getObjectVersion() methods to VersionedReference.
- Converted some System.out.println() warnings in InputMapper to actual log
warns. - Added AnimationState to the default states setup in GuiGlobals.
- Fixed joystick axis event processing to pay attention to the reported dead
zone of the axis. It will take the max of the specific axis' dead zone and the global
InputManager.getAxisDeadZone(). - Fixed a bug in InputMapper where key mappings that had negative scale
weren't triggering negative state in state listeners. - Fixed QuadBackgroundComponent and TbtQuadBackgroundComponent to allow setting
the alpha even if the color has not been set. Color defaults to white in that
case. - Updated TextField and TextEntryComponent to support a 'preferred line count'
property which helps set the preferred height of a text field based on the
current font and a line count. - Modified TextEntryComponent to properly implement ColoredComponent and support
alpha. - Fixed an IndexOutOfBoundsException in TextEntryComponent when setting text to "".
- Added Button constructor that takes just text and ElementId.
- Modified scene picking to deal with ortho cameras correctly. Now it's only
the Gui bucket that is special case. - Modified scene picking to adhere to camera viewport limits.
- Fixed DragHandler to allow external z-value changes in 2D dragging.
- Added textureCoordinateScale property to QuadBackgroundComponent.