Releases: payne911/PieMenu
New flag for PieWidget
- Fixed
RadialGroup#isWithinInnerRadiusso that it takes into account thetotalDegreesDrawn. - Added
RadialGroup#isWithinDrawnAngle. - Added
RadialGroup#isInnerRadiusBlockingPropagation. - (NOT BACKWARD-COMPATIBLE) Added a new flag:
hitThroughInnerRadius(forPieWidget). Default value:true. This changes the wayPieWidget#hitbehaves: it isn't based on the presence of a background or background color anymore. If you don't want yourhitto reach Actors behind yourinnerRadius, set this value tofalse. - (NOT BACKWARD-COMPATIBLE) Renamed
PieWidget#isBackgroundHittoPieWidget#isInnerRadiusBlockingPropagation. This is a more appropriate (less misleading) method name based on the new behavior described in the last point. - Minor optimizations for
#findChildIndexAtStage(in bothRadialGroupandPieMenu). - Minor JavaDoc tweaks.
WebDemo updated to use v5.0.0.
For people transitioning from v4, the main difference is with the behavior of the inner radius part: it used to block or not the propagation of the hit method to Actors below it depending on the presence or not of a style.background or style.backgroundColor. Now, this has been adjusted to allow more flexibility: use the hitThroughInnerRadius flag. It only applies to PieWidget and PieMenu, and in both cases really only mostly matters if you were not using any of the "drag" behaviors (that is, you allow the user to release it's mouse-click before letting them select an option).
Basically, if you can't notice any difference when you click in the innerRadius of your toy, then you're good to go! :)
Fixed GWT build, Animated aren't deprecated anymore
- Fixed the pooled classes (
PieMenuHighlightChangeEventandPieMenuHoverChangeEvent) not working on the GWT platform. - The
Animatedclasses aren't classified as deprecated anymore. It was confusing at best. - Micro-optimization for the
layout()function. - Minor JavaDoc tweaks.
- Non-breaking refactor of the
Animatedclasses (extracted interfaces to reduce code duplication).
Also, I updated the WebDemo to use v4.3.0 and tweaked some settings to make it much cleaner.
Performance improvements, 2 bug-fixes, more defaults
- Fixed a bug related to the
globalAlphaMultiplierattribute. - Fixed a bug related to
centerOnmethods and some Viewports. - Performance improvement: Events (Callbacks/Highlight/Selection/etc.) are now Pooled.
- Added a default Color (black) for the following
PieWidgetStyleattributes:separatorColorandcircumferenceColor. - Added a Testing Menu so that Contributors can more easily test their implementations.
- Added the
NO_SELECTIONconstant inPieMenu. - Added a new "code example":
NestedClickDrag. - Minor JavaDoc tweaks and improvements.
- Updated
ShapeDrawerversion tov2.3.0.
Feature addition: AnimatedRadialGroup
- Fixed and improved some JavaDoc
- Added an
AnimatedRadialGroupclass - Renamed a local variable so that it reflects more properly what it designated
Introducing PieWidget, and removing Batch from constructors
- A
Batchdoes not need to be passed to the constructors anymore. - Introduced
PieWidgetin the new design: theRadialGroupnow doesn't deal in any way with theShapeDrawer. getMaxDiameterhas been renamed togetCurrentDiameter.getMaxRadiushas been renamed togetCurrentRadius.minRadiushas been renamed topreferredRadius.- Introduced a new
individualsdemo (named "RadialButtons") to showcase the newRadialGroupclass. - Changed the way the scene2d
hitmethod works with the widget. - Fixed the
hitfor when a contained Actor extends beyond the limits of the widget itself. - Fixed
RadialGroupcontaining otherPieMenu. - Fixed non-regular width and height values on Animated widgets.
- Fixed
centerOnActormethod used on an Actor that was contained within aGroup.
Now compatible with Drawable backgrounds
- Fixed "floating"
Groupthat containedRadialGroup. - More efficient evaluation for the reset of the hover on mouse-exit.
- The
backgroundimage can now be aDrawableas well (but keep in mind thatDrawablecannot be rotated).
Reworked API
This should have been v1, but we are all learning! Many API changes were made since v2: check out the logs from the release-candidates of v3 for more info (v3.0.0-rc1 and v3.0.0-rc2).
- Hotfix for
rotateBy() - Hotfix for overlapping menus
- Updated
ShapeDrawerto v2.0.3 (fixes some crashes) - Shorter way of integrating the library for GWT
- Renamed
PieMenuClickListenertoPieMenuListener
Should now be a stable API.
- Introduced a new behavior-flag:
middleCanceldetermines if releasing a click from within the inner-radius will trigger the extended selection or thedefaultIndexselection. ChildRegionis now referred to asSlicethroughout the API.- Style variables now have shorter names that resemble the
ButtonStylenaming. setDefaultIndexnow changes theselectedIndexif it isn't a valid index.- The complementary callbacks (highlight and hover) are now regrouped within
PieMenuCallbacks. - Integrated rotations: scene2d's
rotateBy()method is now supported. radiushas been renamed tominRadiussince it is now a suggested radius for the minimal radius value. In casesetFillParent(true)or other size-changing methods are used (Table'sfill, for example), the widget will now expand as a scene2d user would expect it to.innerRadiusnow designates a percentage of the radius, instead of an amount of pixels.- Fixed the flicker resulting from hovering out of a contained Actor.
selectedColornow used by default if nodownColorwas set: this is to prevent a flicker when clicking.- Fixed a few
Animatedconstructors. - The
ShapeDraweris now instantiated internally. - The default rules used by
ShapeDrawerto determine the amount of sides to draw is now internally overridden with an improved algorithm. - Added an example for adding Keyboard-Key-Mapping (selection through keyboard) on a
PieMenu.
Major refactor : testing some stuff before a release
- Refactored the Style so that most of the
floatvalues (radiusand the likes) have become class-attributes instead. - Many more constructors available. Basic
floatproperties (radiusand the likes) are now integrated in the constructors. PieMenuSuggestedClickListenerrenamed toPieMenuClickListenerand is now added by default. A setter is provided to change thisClickListenerto a custom one.- Added callbacks for mouse-over. Added the corresponding
hoveredChildRegionColorandhoveredAndSelectedChildRegionColorto thePieMenuStyle. - Added
highlightedChildRegionColorin thePieMenuStyle. - The
PieMenuClickListenernow triggers a highlight ontouchDownrather than waiting for the mouse to move after the initial click. - The complementary callbacks (highlight and hover) are now regrouped within
PieMenuAdditionalChangeListener. HighlightChangeListenerrenamed toPieMenuHighlightChangeListenerand now extends EventListener. Removed the associated getter and setter: nowaddListener()should be used for that too.- Widgets now start with their visibility set to
true(it used to befalse): this is to remain closer to scene2d's expected behavior. - Changed the Actor-sizing algorithm (and thus fixed it for low
innerRadiusvalues). - Integrated the propagation of the alpha from parent to children. Use the
setGlobalAlphaMultiplier(float)method to do so. - Fix for Widgets contained within a Table.
- Fix of the PieMenuStyle Colors-duplication.
- Style's
Circumferencevalues now include theinnerRadiusvalue. - New API methods to allow more customization:
getActorDistanceFromCenter,getEstimatedRadiusAtandadjustActorSizecan be changed to be whatever you want. - Removed from the API the
@Deprecatedmethods which should have been implemented by the users themselves anyway. This is reflected in the corresponding code-examples.
Early access to animations
This integration is just to provide people with a basic animation. It will be refactored in the future, hence the deprecated flag on the newly-introduced classes.