Axel Simon wrote:
Our aim is that an application written just with the CGA should work with all backends.
I would aim slightly lower: it should be possible to write applications which work on all backends; I don't think that we need to go so far as to support the converse: that it's impossible to write an application which doesn't work on all backends.
Ok, I think we mean the same thing here. With CGA I meant the standarized parts, additional backend features not included.
So did I. Even without using any backend-specific extensions, it is likely to be possible to write code which doesn't work correctly on all backends. The only ways to avoid that are: 1. Limit the functionality which the CGA provides to that which works identically on all platforms. Unfortunately, that would be too minimal to be of any real use. 2. Specify everything down to the most minute detail. Implementing a backend which entirely meets such a specification would be more work than anyone is likely to be willing to perform. It would also eliminate the possibility of native look-and-feel. Any realistic CGA specification will end up leaving some aspects as either implementation-dependent or undefined. We have to define enough to make the CGA usable. We don't have to define everything, and I don't think that we should even try. Some things *should* be platform-specific, and some of those differences should be visible to applications which care to enquire about them. -- Glynn Clements <glynn.clements@virgin.net>