Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

8242523: Update the animation and clip envelope classes #196

Conversation

@nlisker
Copy link
Collaborator

@nlisker nlisker commented Apr 24, 2020

Mostly refactoring in preparation of the upcoming fixes. The changes might look like a lot, but it's mostly rearranging of methods. Summery of changes:

Animation

  • Added isNearZero and areNearEqual methods that deal with EPSILON checks.
  • Added isStopped, isRunning and isPaused convenience methods.
  • Added runHandler method to deal with running the handler.
  • Moved methods to be grouped closer to where they are used rather than by visibility.
  • Removed the static import for TickCalculation.
  • Various small subjective readability changes.
  • Behavioral changes: switching autoReverse and onFinished properties from "Simple" to "Base" properties; and lazily initializing the cuePoints map.

Clip Envelopes

  • Added MultiLoopClipEnvelope as an intermediate parent for infinite and finite clip envelopes.
  • Rearranged methods order to be consistent.
  • Replaced the checkBounds method with a new overload of Utils.clamp.
  • Renamed pos to cyclePos.
  • Extracted common methods: changedDirection and ticksRateChange
  • Added internal documentation.

Also corrected a typo in TicksCalculation and added an explanation for an animation test.


Progress

  • Change must not contain extraneous whitespace
  • Commit message must refer to an issue
  • Change must be properly reviewed

Issue

  • JDK-8242523: Update the Animation and ClipEnvelope classes ⚠️ Title mismatch between PR and JBS.

Reviewers

  • Ambarish Rapte (arapte - Reviewer)
  • Kevin Rushforth (kcr - Reviewer)

Download

$ git fetch https://git.openjdk.java.net/jfx pull/196/head:pull/196
$ git checkout pull/196

@bridgekeeper
Copy link

@bridgekeeper bridgekeeper bot commented Apr 24, 2020

👋 Welcome back nlisker! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request.

@openjdk
Copy link

@openjdk openjdk bot commented Apr 24, 2020

@nlisker this pull request can not be integrated into master due to one or more merge conflicts. To resolve these merge conflicts and update this pull request you can run the following commands in the local repository for your personal fork:

git checkout 8242523_Update_the_Animation_and_ClipEnvelope_classes
git fetch https://git.openjdk.java.net/jfx master
git merge FETCH_HEAD
# resolve conflicts and follow the instructions given by git merge
git commit -m "Merge master"
git push
@openjdk openjdk bot added merge-conflict rfr and removed merge-conflict labels Apr 24, 2020
@mlbridge
Copy link

@mlbridge mlbridge bot commented Apr 24, 2020

Webrevs

@kevinrushforth
Copy link
Member

@kevinrushforth kevinrushforth commented Apr 27, 2020

/reviewers 2

@openjdk
Copy link

@openjdk openjdk bot commented Apr 27, 2020

@kevinrushforth
The number of required reviews for this PR is now set to 2 (with at least 1 of role reviewers).

@kevinrushforth
Copy link
Member

@kevinrushforth kevinrushforth commented Apr 27, 2020

@arapte can you also review this?

@nlisker
Copy link
Collaborator Author

@nlisker nlisker commented May 26, 2020

@kevinrushforth Do you have any other comments?

Copy link
Member

@kevinrushforth kevinrushforth left a comment

The code changes look fine except for one thing I noticed (see below), which might lead to an unintended side effect. Also, I had one suggestion for a javadoc comment block.

@nlisker nlisker force-pushed the nlisker:8242523_Update_the_Animation_and_ClipEnvelope_classes branch from 927136f to d0d8252 May 28, 2020
@openjdk openjdk bot added the merge-conflict label May 28, 2020
…ope_classes
@openjdk openjdk bot removed the merge-conflict label May 28, 2020
@kevinrushforth kevinrushforth self-requested a review May 28, 2020
@arapte
arapte approved these changes Jun 2, 2020
@openjdk
Copy link

@openjdk openjdk bot commented Jun 2, 2020

@nlisker This change now passes all automated pre-integration checks. When the change also fulfills all project specific requirements, type /integrate in a new comment to proceed. After integration, the commit message will be:

8242523: Update the animation and clip envelope classes

Reviewed-by: arapte, kcr
  • If you would like to add a summary, use the /summary command.
  • To credit additional contributors, use the /contributor command.
  • To add additional solved issues, use the /issue command.

Since the source branch of this PR was last updated there have been 5 commits pushed to the master branch:

  • 1ab653c: 8244657: ChoiceBox/ToolBarSkin: misbehavior on switching skin
  • 804ccce: 8244195: [TEST_BUG] Convert the system tests TabPanePermuteGetTabsTest to unit test
  • 9edba9c: 8243110: SVGTest.testSVGRenderingWithPattern fails intermittently
  • 168b7f7: 8246099: Intermittent test failures in SandboxAppTest
  • c41777e: 8245634: [TestBug] Enable and fix tests ignored with message "impl_cssSet API removed"

As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid automatic rebasing, please merge master into your branch, and then specify the current head hash when integrating, like this: /integrate 1ab653cb5923fdc085fd5ec2f106a31979a71b5c.

➡️ To integrate this PR with the above commit message to the master branch, type /integrate in a new comment.

@openjdk openjdk bot added the ready label Jun 2, 2020
@nlisker
Copy link
Collaborator Author

@nlisker nlisker commented Jun 2, 2020

/integrate

@openjdk openjdk bot closed this Jun 2, 2020
@openjdk openjdk bot added integrated and removed ready rfr labels Jun 2, 2020
@openjdk
Copy link

@openjdk openjdk bot commented Jun 2, 2020

@nlisker The following commits have been pushed to master since your change was applied:

  • 1ab653c: 8244657: ChoiceBox/ToolBarSkin: misbehavior on switching skin
  • 804ccce: 8244195: [TEST_BUG] Convert the system tests TabPanePermuteGetTabsTest to unit test
  • 9edba9c: 8243110: SVGTest.testSVGRenderingWithPattern fails intermittently
  • 168b7f7: 8246099: Intermittent test failures in SandboxAppTest
  • c41777e: 8245634: [TestBug] Enable and fix tests ignored with message "impl_cssSet API removed"

Your commit was automatically rebased without conflicts.

Pushed as commit a78b3fb.

@nlisker nlisker deleted the nlisker:8242523_Update_the_Animation_and_ClipEnvelope_classes branch Jun 2, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Linked issues

Successfully merging this pull request may close these issues.

None yet

3 participants