Skip to content

Lemur version 1.11.0

Compare
Choose a tag to compare
@pspeed42 pspeed42 released this 20 Nov 01:03
· 128 commits to master since this release

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.