Ticket #2537 (s3c_implementation_ok feature)

Opened 7 years ago

Last modified 7 years ago

Implement foreground alpha 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: kyli Imp._reviewers: kyli, deyan
Test_reviewers: Analysis_score: 3
Design_score: 3 Imp._score: 3
Test_score: 0

Description (last modified by deyan) (diff)

  • Implement alpha for frames
  • Alpha should be a timeline channel
  • Alpha should substitute visibility
  • If it is not trivial to implement for a frame type, the frame should be hidden when alpha is set to 100
  • Alpha should be slider instead of current visibility checkbox
  • The slider should be named "Opacity"

Change History

comment:1 Changed 7 years ago by deyan

  • Type changed from bug to feature
  • Description modified (diff)

comment:2 Changed 7 years ago by deyan

  • Description modified (diff)

comment:3 Changed 7 years ago by meddle

  • Owner set to meddle
  • Status changed from new to s1a_analysis_started

comment:4 Changed 7 years ago by meddle

  • Analysis_owners set to deyan

comment:5 Changed 7 years ago by meddle

  • Status changed from s1a_analysis_started to s1b_analysis_finished

comment:6 Changed 7 years ago by meddle

  • Status changed from s1b_analysis_finished to s1c_analysis_ok
  • Analysis_score changed from 0 to 3
  • All the frames that can not be opaque will continue having the visibility check-box.
  • The analysis was not finished but I'm finishing and updating it, because it was developed during the implementation.
  • The slider will be named visibility.
  • Frames with opacity should be:
    • Image frame.
    • Text frame.
    • PDF frame.
    • Video frame.

comment:7 Changed 7 years ago by meddle

  • Design_owners set to meddle
  • Status changed from s1c_analysis_ok to s2a_design_started
  • Component changed from uncategorized to FRAMES

comment:8 Changed 7 years ago by meddle

Model part


  • KEY_VISIBLE of the ElementR4 should be renamed to KEY_ALPHA. The visibility channel will contain alpha values from 0 to 100, 0 means fully visible, 100 means invisible.
  • VisibleChannel will become a channel containing integers, instead of booleans. Its default value will be 0 - visible.
  • In the BaseModelBookModule new TimelineEntryPersister will be added which persist channels with integer values. It will be able to work with boolean values converting them to 0 (true) and 100 (false). This is hack for backwards compatibility. I don't like it, but there is nothing to do about it...

View part


  • ElementView will use the alpha value to decide if the view is visible or its not.
    • The computeColor method will take in mind the alpha value while computing the color.
  • There is new boolean opaque property in the FrameView used to decide if the frame can be transparent or just invisible/visible.
  • AppearanceHud will show either slider for the opacity (if the frame can be opaque) or the current check-box if the frame can be only visible/invisible.

Scene part


  • Every scene element has property opaque, which as with the frames means if the element can be transparent. By default it is 'true'.
    • The re-sizing, dnd and page elements are not opaque.
  • TEXT
    • All of the layouts draw methods take new argument - alpha. It is used when the text is drawn.
    • HotTextElementHelper passes this argument, and it is contained in the new "alpha" property of the HotTextSceneElement.
    • SceneTextView's element's alpha is computed using the alpha of the frame view containing it.
  • IMAGE
    • The ImmImage as of now can have alpha value used when it is drawn... This may be is bad, but for now it can be used to pass the alpha value to the element helper drawing the image. The alpha value for the PDF, video and image frames is passed to their contents.

comment:9 Changed 7 years ago by meddle

  • Status changed from s2a_design_started to s2b_design_finished
  • IMAGE (2)
    • The ImmImage changes are reverted (very bad implementation).
    • All the scene elements have alpha value (integer) as of now.
      • This alpha value is used when they are drawn by their helpers.
      • The image, video, PDF, audio and all the manipulation views has it computed by the element view's alpha of the element view, their parent.
      • By default the alpha of the scene elements is 0.

comment:10 Changed 7 years ago by meddle

  • Status changed from s2b_design_finished to s2c_design_ok
  • Design_score changed from 0 to 3
  • Design_reviewers set to kyli

comment:11 Changed 7 years ago by meddle

  • Status changed from s2c_design_ok to s3a_implementation_started
  • Imp._owners set to meddle

comment:12 Changed 7 years ago by meddle

  • Status changed from s3a_implementation_started to s3b_implementation_finished
  • Analysis_reviewers set to meddle

comment:13 Changed 7 years ago by meddle

  • Status changed from s3b_implementation_finished to s3c_implementation_ok
  • Imp._score changed from 0 to 3
  • Imp._reviewers set to kyli, deyan
  • I fixed the opaque property of the frame view to be named transparent.
  • Committed in [10029].
Note: See TracTickets for help on using tickets.