OS3 strategies to have transparent bitmap on WB ... and GELS.
Just some questions I'm asking myself since 30 years about intuition windows and very special features of the Amiga API,... well I'll try to formulate 3 questions.
1. Is there a legal way to offscreen-draw what's hidden behind an opened window ? would be usefull to do some "transparent shell background"
I've investigated layers.library for this, this is very low level and abstract to me, I understand you rarely have to deal with it and it's dangerous... but well tere's something called background layer... maybe it can do the job.
Also I've read that is possible on OS4 and that there is a clear API for this on OS4, which apparently have a very different layers.library implementation.
2. Can intuition/graphics offscreen-render a window, and/or a boopsi app, or any boopsi gadget instance, to "another bitmap" ? like, let's say: Qt QWidget have a ->render(otherbitmap) function , to ask for offscreen rendering.
Apparently all "screen grabbing" tool on Amiga just grab the screen pre-rendered pixels, so I've never seen such thing around. But that one is just a question because I'm curious, I can live without it.
3. And the most dreaded question of all... the subject absolutely never approched in any Amiga dev forum ever... the most tabou aspect of AmigaOS... graphics's GELS (Graphics ELementS) API.
It's documented in the "Developer CD2.1" with a few examples for "private Intuition screens", and if I'm correct, allow to have either "sprite" or "masked transparent Blitter objects (bob)" automatically drawn by the OS, once attached to screen. By design, it would work on AGA and RTG screens. But sadly, there is like "half-an-api" for this in graphics... the code to setup a single gels is a 6 pages low level hell, with a lots of abstract structure to fill up. It is also possible to have "automatically animated GELS" which makes the init code very confusing (I don't need that animation part.)
And So question 3 is: can GELS be used on OS3 workbench to have very fancy transparent big splash screen ?
... so at this point, I guess some vey informed Amiga senior engeneer will come up and just say "No"...
... I I'll come up back and say: But when you have a huge transparent icon on WB , and you move it in dragndrop mode, and move it around,... isn't it precisely a GELS doing that ? (of course it is, I actually traced WBScreen->gels list, there is constantly 2 gels attached to WB to manage such animations.)
... So basically one of my side project is trying to have a code that read a transparent PNG, remap it with datatypes, and then attach it as an extra GELS to WB. But the only GELS examples are so old I'm just trying things blindly.
So question 3 would be: can we have safe functions somewhere, as code examples, to attach and detach transparent Image from datatype, as GELS, on WB ?
Thank you all for your efforts...