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

Re: [MiNT] WCOWORK operating mode



Hello,

Ok, if I get this right, then the new workmode is:

1) 100% optional. The app will report to the AES that it supports the new mode (if it does, of course), and if so the AES will let the app take advantage of the new mode. Right?

2) 100% compatible. If an application does not explicitly support it, the AES will allow the app to work as before. That is, the default behaviour is the way it works in other AES's now. Right?

3) A very clever extention of the way the AES works, since it allows new software to exploit it, whereas at the same time it is not being forced upon the programmer to do so! What is the setback?

I can only assume that those that are so hostile to this new addition have not fully understood the concept,
or that there is some hidden reason why the idea would cause problems.

If you consider the old MonoTOS model : a standalone application (.app) run alone over the AES, then you're right.

If you consider today model and futur model : application may be composed by various dynamical libraries, and applications may exchange messages (the AES is not the only one to generate messages for the application), then you'll see the problem. Have you read my post about the modular approach ?

At the moment, there are strong definitions on various AES features:

- WM_SIZED message contain the requested FULL area of the window
- wind_calc() do the conversion between FULL area and WORK area
- wind_set(WF_CURRXYWH) changes the FULL area of a window
- ...

With the WCOWORK option, none of these assumption are true. If some code receives a WM_SIZED message, it cannot know if the data are the FULL area or the WORK area (because maybe another lib -- considered as the same AES application -- may have requested the WCOWORK mode... or not.

Idem for data exchanged between applications when one application sends a WM_MOVED message to another application for example.

The "optional" feature is the big problem because there's no more consistency in the definition of AES API.

I hope you agree that i've understood the feature now.

Please let's continue the discussion on the other thread only (if related to WCOWORK implementation).

best regards,
Arnaud.