Ticket #2539 (s3c_implementation_ok feature)
Implement fade in and out for frames
Reported by: | deyan | Owned by: | meddle |
---|---|---|---|
Priority: | major | Milestone: | Y1 |
Component: | FRAMES | Version: | 2.1 |
Keywords: | Cc: | ||
Category: | unknown | Effort: | |
Importance: | Ticket_group: | ||
Estimated Number of Hours: | 0 | Add Hours to Ticket: | 0 |
Billable?: | yes | Total Hours: | 0 |
Analysis_owners: | deyan | Design_owners: | meddle |
Imp._owners: | meddle | Test_owners: | |
Analysis_reviewers: | meddle | Changelog: | Changelog |
Design_reviewers: | pap | Imp._reviewers: | deyan |
Test_reviewers: | Analysis_score: | 3.5 | |
Design_score: | 3 | Imp._score: | 3 |
Test_score: | 0 |
Description (last modified by deyan) (diff)
Put attached buttons in appearance HUD right after the opacity slider. Put the following tooltip text.
- "Fade in after the current timeline position"
- "Fade out after the current timeline position"
- "Reset visibility - remove effects and set the frame to be visible"
For now, these buttons should do the following
- Fade in - from the beginning of the timeline to the current playhead, the opacity channel is set to 0. The value is incremented with 1 each 10 milliseconds (for one second, the values are changed from 1 to 100, the opacity is set to 100 for the rest of the channel, where values are 100 or 0)
- Fade out - from the current playhead position and value, values are decremented to 0 each 10 milliseconds. The rest of the channel is set to 0.
- Reset - sets the visibility to 100 for the whole channel
Attachments
Change History
comment:1 Changed 13 years ago by deyan
- Type changed from bug to feature
- Description modified (diff)
comment:2 Changed 13 years ago by deyan
- Owner set to deyan
- Status changed from new to s1a_analysis_started
- Description modified (diff)
comment:4 Changed 13 years ago by deyan
- Status changed from s1a_analysis_started to s1b_analysis_finished
comment:5 Changed 13 years ago by meddle
- Design_owners set to meddle
- Status changed from s1b_analysis_finished to s1c_analysis_ok
- Analysis_reviewers set to meddle
- Analysis_score changed from 0 to 3.5
- Will try to implement it this way, or if it is easy with the ability to have more fade-in/fade-out effects in a channel.
comment:7 Changed 13 years ago by meddle
- Status changed from s1c_analysis_ok to s2a_design_started
- Component changed from uncategorized to FRAMES
comment:8 Changed 13 years ago by meddle
- Status changed from s2a_design_started to s2b_design_finished
- In the AppearenceHud all the transparency related controls are placed in a new AlphaControlsContainer which is visible only if the component can be transparent.
- There are three new LogicR3Buttons - FadeInButton, FadeOutButton and ResetButton.
- The reset button is added after a small horizontal gap in the container (The AlphaControlsContainer is a JPanel with box layout).
- There is new EventIds enumeration in the AlphaControlsContainer, which has a member for the three events, the three new buttons dispatch.
- For the FadeInButton there is a 'FADE_IN' member.
- For the FadeOutButton there is a 'FADE_OUT' member.
- For the ResetButton there is a 'RESET' member.
- The evens dispatched by the buttons are handled by the AppearenceHud's HudLogic. There handlers are:
- 'ON_FADE_IN', handles the event with id 'FADE_IN', uses a new action FadeInAction to create a fade-in effect for the current FrameView from the current time.
- The action creates a new channel from the current one, which alpha value from the beginning to the current position is set to 100.
- Then from the current position to the current position + 1000 (one second), on every 10 milliseconds the alpha is set to be the current alpha minus 1.
- Then from the current position + 1000 to the end the alpha value is set to 0.
- The channel computed by the three steps above is set as the new 'KEY_ALPHA' of the current element.
- 'ON_FADE_OUT', handles the event with id 'FADE_OUT', and uses a new action FadeOutAction to create a fade-out effect for the current FrameView from the current time.
- The action creates a new channel from the current one. The current alpha becomes the alpha of the current position.
- Then from the current position to the current position + 1000 (one second), on every 10 milliseconds the alpha is set to be the current alpha plus 1, if it is not greater than or equal to 100.
- Then from the current position + 1000 to the end the alpha value is set to 100.
- The channel computed by the three steps above is set as the new 'KEY_ALPHA' of the current element.
- 'ON_RESET_FRAME_EFFECTS', handles the event with id 'RESET'. It uses AutoAction to set all the values of the visibility channel of the current frame to 0.
- 'ON_FADE_IN', handles the event with id 'FADE_IN', uses a new action FadeInAction to create a fade-in effect for the current FrameView from the current time.
comment:9 Changed 13 years ago by pap
- Status changed from s2b_design_finished to s2c_design_ok
- Design_reviewers set to pap
- I think the design satisfies the requirements of the ticket in a good enough way :)
- Be sure to cleanup the code before submitting for implementation review.
comment:10 Changed 13 years ago by meddle
- Status changed from s2c_design_ok to s3a_implementation_started
- Imp._owners set to meddle
comment:11 Changed 13 years ago by meddle
- Status changed from s3a_implementation_started to s3b_implementation_finished
- Skinned with the provided icons. The icons are placed in a new directory - 'appearanceHud' in the 'org.sophie2.main.app.halos' module.
comment:12 Changed 13 years ago by meddle
- Status changed from s3b_implementation_finished to s3c_implementation_ok
- Design_score changed from 0 to 3
- Imp._score changed from 0 to 3
- Imp._reviewers set to deyan
- Committed in [10034].
- The system out is cleared up.
Note: See
TracTickets for help on using
tickets.