GA_DrawInfo : For which classes ? Is it worth ? Does it makes things better ?

Online Status

Hello, at Gadget level we see:

#define GA_DrawInfo (GA_Dummy+33)
/* (struct DrawInfo *) Some gadgets need a DrawInfo at creation time */

... "Some Gadgets" : Which exactly ? I've seen that used for Buttons, but i'm not sure if it is mandatory or not.
Also what other gadgets ? Anything that draws ?

Online Status

On this: It seems to be ineffective and quite antipattern (as I understand now) to create a drawInfo from screen and then pass it to gadgets recursively as a lot of old 199x examples does: for a good reason that boopsi apps can potentially close all intuition window and even screens, and you can reattach another screen/window to the same boopsi object instances, possibly on other Gfx card with other bitmap modes, fonts, colors. Same for intuition level "struct Window *" , they are deleted and recreated when iconify/uniconify , its transient and not persistent, so it's dangerous to keep that in multiple place .

Online Status

That is a good question. We'll look into it and at least clarify where it is required and why. It might be an old comment from back in the ClassAct days.