Lemur version 1.11.0
This is a long overdue release containing many community patches, bug fixes, and some new features.
Full change log:
- Added IconComponent.setIconSize() to force the size of the icon before
scaling. - Added additional PopupState.showModalPopup() convenience methods that take
a background color. - Modified PopupState to automatically call runEffect("open") and runEffect("close")
if the popup is a Panel (or subclass). - Added SpatialTweens.focusOn() to set the focus to a particular spatial as part of
animation. - Fixed PopupState to take the current guiNode's scaling into account when calculating
screen size for the blocker quad. - Worked around an NPE in PopupState caused be a JME bug on Node.getWorldBound() when the node
is empty. - Added PickState methods for better managing "cursor interest" in the form of a
request/release API. - Modified GuiGlobals to have methods for calling the new PickState request/release API
for cursor enabling. - Modified GuiGlobals.setCursorEnabled(boolean) to internally call the new PickState.request/release
calls. A new GuiGlobals.setCursorEnabled(boolean, force:boolean) method was added
in case it is necessary to force the old behavior. - Modified PopupState to automatically call GuiGlobals.requestCursorEnabled() and
releaseCursorEnabled() when opening/closing popups. This may be a breaking
change for some applications. - Added a GuiGlobals.srgbaColor() method for conditionally creating linear colors from
SRGB colors based on whether gamma is enabled or not. - Modified the groovy style API to (by default) use srgbaColor() internally. A flag
can be specified to turn this off. - Fixed a bug in TextEntryComponent where the font wasn't being kept when changed. This caused
issues like cursor positions being wrong, etc.. - Deprecated Lemur's BaseAppState so apps know to prefer JME's built in version.
- Fixed issue #53 where Panel.runEffect() would incorrectly return false for effects
with no channel. - Fixed issue #54 where texture scaling was not being reapplied to cloned
QuadBackgroundComponents. - Modified the GUI bucket picking code to dynamically say the Ray min/max Z values
based on the world bounds of the root spatial. This should fix issue #55 as
well as several other problems caused by GUI elements above z=1000. Also,
negative Z GUI values are properly supported now, also. - Fixed an issue with key repeats in TextEntryComponent and lwjgl3 which seems to
separate 'pressed' events from 'repeating' events for some reason.
See PR 65. - Fixed the toString() of KeyAction to add the closing bracket ']'.
- Modified TabbedPanel to expose a tab selection model, support get/set of selected
tab, expose the list of tabs, and added insert/remove functionality. This
meets and exceeds feature request #59 - Fixed a bug in DragHandler where ortho dragging wasn't properly translating child
spatials. - Enhanced DragHandler to allow indirect manipulation of a spatial by specifying
a draggable locator Function. Useful for things like titlebar based dragging. - Set sourceCompatibility to 1.7 and turned on detailed warnings.
- Fixed a bunch of deprecation and 'unchecked' warnings.
- Part of that was a conversion from extending the internal BaseAppState to JME's
BaseAppState which is a potentially breaking change for any application code
that extends Lemur app states but expects enable()/disable() instead of
onEnable()/onDisable(). - Added a Button.click() method to allow calling code to manually trigger a button
click. - Added Button.ButtonAction.Hover for notifying listeners about when the mouse is
hovering over a button. This is useful for implementing things like repeating
actions, etc. - Updated the built-in glass style to add repeat to slider +/- buttons.