[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] AES desktop extension



Hi!

Olivier Landemarre wrote:

BTW: another point against the userdef stuff: with most AESes (i don't know for XaAES), userdraw subroutines are not allowed to call AES functions (AES is not re-entrant). That may lead the system to crash.

Yeah, yet another important problem.

It's true for old AES only in monotos, it work perfectly under Magic, MyAeS and I think under NAES, XaAES and perhaps Geneva. The only restriction can comme with supervisor stack size.

Well, this proves that it is not possible to write an application to work on all these...

I'd prefer the following:

wind_open(0,dummy,dummy,dummy,dummy);

This will ask the AES to send WM_REDRAW message to window handle 0 instead of drawing the desktop formular.

Once, or from the time of that call?

The window dimensions (dummy) shall not be taken into account by the AES. That window shall not be topped when a mouse event occurs on it (WF_BEVENT/BEVENT_WORK feature))

Yeah.

wind_close(0); or wind_set(WF_NEWDESK); shall remove that desktop-window.

Remove, or set the behaviour it the AES supports now?

If the answers to the last two questions are 'the latter' then I agree with you completely Arnaud. Your proposal is better because it does not define any new AES API entity (no #define...) and is quite consistent with the other usage I must say.

Note that there are no wind_create()/wind_delete() call for that particular window.

Sure. It is a matter of the AES itself.

Last point: other wind_xxx() functions shall be ready to manage the case 'window_handle == 0' (i think it's already ok).

Yes, they are already working properly IIRC.

I have not understand exactly what you wan't to do with desktop, if you wan't send a redraw for the desktop, I think you not need anything at all, just wind_get WF_FIRSTXYWH and WF_NEXTXYWH on window 0 and then do a form_dial( FMD_FINISH) on parts get with wind_get() I think it work (to test)

It is not a problem to send the 'desktop redraw', but rather handle the redraw action by the desktop application. Now it is different than the other window handling which is the thing we are trying to change.

regards

STan