[haiku-bugs] Re: [Haiku] #2946: BGradient does not support alpha transparency

  • From: "pulkomandy" <trac@xxxxxxxxxxxx>
  • Date: Thu, 24 Jul 2014 09:41:13 -0000

#2946: BGradient does not support alpha transparency
----------------------------------+---------------------------
   Reporter:  sdeken              |      Owner:  stippi
       Type:  bug                 |     Status:  new
   Priority:  normal              |  Milestone:  R1
  Component:  Kits/Interface Kit  |    Version:  R1/pre-alpha1
 Resolution:                      |   Keywords:
 Blocked By:                      |   Blocking:
Has a Patch:  0                   |   Platform:  All
----------------------------------+---------------------------

Comment (by pulkomandy):

 Ok, after some investigation, here is what I found:
  * The gradient generator (agg_span_gradient.h) generates the right alpha
 and color values, so up to there things are ok.
  * However, it generates a single span for each horizontal line. It seems
 something down the rendering pipeline doesn't expect the alpha value to
 change for pixels in a span, so the whole span is blended using the alpha
 value of the first pixel.

 This can be shown using the gradients test:
  * Scroll the view to the right
  * Using the scrollbar arrow, scroll it back to the left one pixel at a
 time
 The gradients drawing will be done one column at a time, and it will look
 good. If you scroll a bit faster (for example using the scrollbar knob),
 you can see the vertical bands using the same alpha value for each redraw
 rectangle.

 I wanted to try using the unpacked scanline rasterizer using ClipToPicture
 but things went even worse. Will open a separate report for that.

--
Ticket URL: <https://dev.haiku-os.org/ticket/2946#comment:4>
Haiku <https://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: