Hi Stuart, 2009/9/25 Stuart Adam <engaric@xxxxxxxxxxx> > > > +1 on the flag instead of a new function set. I gotta say though this > > kind of thing being talked about above sounds like the kinds of hacks MS > > put into Windows to keep old 3.1 software working. I say lets find a way > > to keep the behavior consistent, do it right the first time and avoid > > loading down Haiku with weirdness like that that could stick around for > > who knows how long. I don't actually really have a preference whether > > it's on or off by default. Obviously off by default is better for the > > stated goal of compatibility with R5, whereas on by default may be > > better for the future. I guess it just depends which one is more important. > > > > I can see myself using both on and off modes in new software, so I would > > not say it's only a concern about compatibility. But I agree that we can > > not necessarily expect old apps to be recompilable. Besides that, "all > > you have to do is add one line and recompile", isn't technically "binary > > compatibility". Does that matter? I don't know. If it's decided not, I > > would say that in that case the implementation should be such that > > whatever is done to turn the flag off is a no-op on R5. Otherwise, the > > updated app might not link anymore on it's original platform, and there > > would have to be two versions of it. > > > > > > I would suggest a central registry of applications with known issues with AA > which could be held on the Haiku site. > A copy of this list could be packaged into the installed at build time and > applied to applications as a bfs attribute. > A preflet could be supplied to fetch an updated copy of the list and auto > apply to all installations of listed applications an advanced mode could be > supplied to offer a checklist of applications to apply the attribute to. > On the file info panel of applications this flag could be editable. I am sorry, but this is overengineering for something that at this point seems to be a limited problem. The sollution Stephan gave should be enough, Haiku applications can turn anti-aliasing off at BView level and BeOS applications are not anti-aliased at all. (Though I fear that that might create a clear visual distinction between Haiku apps and BeOS apps). > The advantages of doing this as an attribute are as follows :- > 1) can be easily applied to applications to which we do not have source code > access Which is the same if we make BeOS-compiled apps non-AA by default. > 2) easily switchable for evaluation of AA issues Which is the same if a developer switches it on or off during the development process. > 3) does not introduce a new api call which could cause haiku designed > applications to be incompatible with beos Those who at this point still want to make Haiku apps available for BeOS (which I imagine are very few people) can simply put an #ifdef in the code. Really, re-engineering the app server/interface kit in such a complex way in order to avoid an ifdef ... no! > 4) if a mechanism is found to make AA compatible with B_OP_INVERT erasure the > compatibility can be easily removed from app_server and the flag removed Yes, or the developers are notified about this change and they adapt their app. > 5) compatibility modes and compatibility database easily visible unlike > Window's shim database Visible, but who would use it? As far as your email goes, only developers that have their source code on Haiku anyway. Keeping the list might sound like a good way to avoid BeOS apps to look dated if it is not necessary to non-AA them, but who is going to make that list? Are _you_ going to check all the software? and what if someone runs into issues with old apps, but does not have the knowledge about the existence of AA-problems... This is a classical case of over-engineering. Keep it simple! N>