2008/10/27 Stephan Assmus <superstippi@xxxxxx>: > > It's a nice feature, but the vector icons have made this a bit harder to > do. Or you could say they enforce a more generic approach. In BeOS, > NetPositive would simply load the original icon bitmap and then write a new > icon where it composited the progress bar on top. Since Tracker watches > icon changes, it automatically updates the icon in any window that happens > to show the downloaded file. In Haiku, it could still work the same, > although NetPositive would now need to know how to compose a progress bar > shape on top of a vector icon. There is currently no public API for the > internal objects of a vector icon. But, if there would be an agreed upon > standard for writing attributes that describe a partial file, then Tracker > could take care of compositing a progress bar on top of icons which it > displays, after having converted the original vector icon to a bitmap at > the target scale. This way, all applications could simply write the > attribute that describes the progress of a partial download, and the code > that composes a progress bar on top of the icon would reside in Tracker > (for example reusing the code for the volume bars). This approach has one > drawback, which is that other applications which retrieve the icon would > not get a progress bar. This could then be fixed by placing the progress > bar compositing code into BNodeInfo::GetTrackerIcon(). (Which Tracker > itself should be changed to use instead of it's own implementation...) > This is exactly the approach I was thinking of - attributes! +1 from me! - Dustin L. Howett