Page 1 of 2

Various requests

Posted: Fri Jan 03, 2014 9:58 pm
by alfkil
When creating BananaBar, I have run into several issues, that got in the way of doing what I wanted.

1) Compositing to an ALPHA8 bitmap only works on RadeonHD. Hans has explained to me, that it was never intended to work for alpha bitmaps, so this is somewhat puzzling. Anyways, to be able to animate windows with transparency, it is absolutely cruzial, that it is somehow possible to quickly render to an ALPHA8 bitmap, because there is no other way to control the transparency (ie. clipregion). Another possibility would be to be able to control the transparency directly from the alpha channel of the window bitmap (if this is RGB32). But I guess that would be a somewhat big intervention into the api/concept. Conclusion: As Hans has suggested, it would be very wise to officially support compositing to ALPHA8 bitmaps, which at present means to implement this possibility in (at least) the old radeon drivers.

2) When doing drag&drop of workbench items, the entire event handling system seems to be put on hold (except for appwindow hover events?). This is unfortunate for the BananaBar case, because I really want to be able to animate the whole dock, as the potential drop is hovering over it (ie. create space at the hover spot and moving everything else in the window accordingly). This is not possible at all because

a) my input handler only receives the mouse events after the drop has been done or canceled (at which point it crashes, probably because there is overload in the event queue) and
b) when handling hover events (ie. DropZone events) and trying to update the transparency with SetWindowAttrs, BananaBar hangs the entire system.

I know this is all very fancy, but it could have an impact at other future apps as well. I am not sure how to solve it, though, because I don't know the internals of intuition in said case (or in any case, really).

3) When adding DropZones, there seems to be a problem with drop zone priorities. What I want is an individual dropzone for every individual icon PLUS a dropzone for the entire window (for adding icons to the dock). The final drop events seem to get the dropzone right, but the hover events don't (either it only gives events for the icons or only for the whole dock (when creating the main zone before or after the icon zones)). I have had to solve this by manually calculating the "inbetweens" (with a Region) and adding many, many dropzones to represent the main dock area. This is pretty dumb, though. I wonder how AmiDock does it?

4) This one may already have been solved: Sometimes BananaBar crashes, when going into the settings window. The settings window is opened from a popupmenu. zzd10h has told me, that there was a problem with popupmenu.library, which has been solved in the meantime, but never released. I would be very happy, if that fix could be released soon!

Re: Various requests

Posted: Sat Jan 04, 2014 1:50 am
by zzd10h
4) for PopupMenu.library DSI :
Yes, OS4Team please, it crashs AmiDock with CPUDock and x1ktemp and sometimes banana :

DSI from banana :
http://zzd10h.amiga-ng.org/Divers/Crash ... -40-28.txt

But seems to works well on, at least for CPUDock / x1ktemp.docky problem, 2 x1000 betatest systems...except if they use the public popupmenu.

You still have the fix to remove an annoying bug, thank you to take care of your simples users ;)

Re: Various requests

Posted: Sat Jan 04, 2014 6:13 pm
by chris
@alfkil

1) I'd like to composite *from* an ALPHA8 bitmap, specifying a base colour to be used for the destination.
3) It probably just creates an AppWindow and then figures out itself where the pointer is hovering (I didn't even know you could get hover events)
4) http://forum.hyperion-entertainment.biz ... f=26&t=121

Re: Various requests

Posted: Sat Jan 04, 2014 7:35 pm
by alfkil
@chris

3) No, because as of 2) in my previous post, the event system seems to be blocked during drag. I am pretty sure it must be doing something along the same lines as I, that is a drop zone for every icon and one (or more) for the entire dock. I could of course be doing something wrong, and that explains why I have to use my dumb, many-area solution for the main area.

Re: Various requests

Posted: Sat Jan 04, 2014 9:35 pm
by chris
alfkil wrote:@chris

3) No, because as of 2) in my previous post, the event system seems to be blocked during drag. I am pretty sure it must be doing something along the same lines as I, that is a drop zone for every icon and one (or more) for the entire dock. I could of course be doing something wrong, and that explains why I have to use my dumb, many-area solution for the main area.
Ok, I've had a look at the autodoc. The only thing I can see is that it gives the events when entering or leaving a dropzone. What if the zones overlap? Have you try ensuring there is a pixel gap between each of your zones?

Re: Various requests

Posted: Sun Jan 05, 2014 12:37 am
by Ami603
@alfkil:

may i ask what you need compositing to alpha8 bitmap for?

i think i may have a solution for your problem, but then i need to understand what you're trying to achieve.

Re: Various requests

Posted: Tue Jan 07, 2014 1:59 pm
by alfkil
@ami603
I need it to do animation of objects in a transparent window. In this case icons, ie. I use compositing to draw the color parts of the icon image to a temp bitmap, which is then blitted to the window, and then I need some way to get the alpha part of the icon image into the ALPHA8 bitmap of my ClipRegion for the window.

Re: Various requests

Posted: Thu Jan 09, 2014 11:22 pm
by Raziel
@alfkil

The AmiDock popupmenu crash has been fixed with the latest update...time to check your bananabar :-)

Re: Various requests

Posted: Fri Jan 10, 2014 7:36 am
by zzd10h
@raziel
For the CPUDock / x1ktemp problem it doesn't fix totally the problem.
Now the RMB is impossible.
But it works on betatest systems...
Nevertheless, thank you OS4 team to have released it

Re: Various requests

Posted: Fri Jan 10, 2014 9:28 am
by Raziel
zzd10h wrote:@raziel
For the CPUDock / x1ktemp problem it doesn't fix totally the problem.
Now the RMB is impossible.
But it works on betatest systems...
Nevertheless, thank you OS4 team to have released it
It fixed it for me though :-)
RMB in the main dock bar is working, as is RMB on single dockys.
It does not work on the CPU-, GFX-, RAM- and NetDock dockies, but that may be because they are opening it's own activated info windows (and i never tried to RMB on those dockies before)