From: Robert O. <ROh...@nv...> - 2005-11-11 02:49:07
|
We don't need to maintain compatibility (although it's always nice). There's no difference from having the enums BLIT, BLIT2, BLIT3, etc instead as we change the behavior or the prototype of the vtable functions. > -----Original Message----- > From: all...@li... [mailto:alleg- > dev...@li...] On Behalf Of Peter Wang > Sent: Thursday, November 10, 2005 6:19 PM > To: all...@li... > Subject: Re: [AD] 4.3 graphic drivers >=20 > On 2005-11-10, Elias Pschernig <el...@us...> wrote: > > > > Bob's idea clearly is the most robust - even if the driver was compiled > > against another version of Allegro, it would still work (since we build > > the vtable at runtime out of name strings and versions.. so Allegro > > always has complete knowledge). >=20 > Strings.. ugh. And maintaining all the compatibility.. double ugh. >=20 > > Evert's way allows binary compatibility, as long as prototypes don't > > change, and no crucial new entries are added. > > > > With Peter's way, the driver needs to be compiled against the new > > Allegro version if the vtable entries change. It's not very different > > from the current system in how it works, but cleaner than the completely > > static vtables we have in 4.2. >=20 > Plus my one is the only one that preserves type safety. >=20 > I think the static vtables are cleanest. The only reason any of our > three suggestion make any sense at all is the assumption that NULL is a > decent default for vtable methods. >=20 > Peter >=20 >=20 >=20 > ------------------------------------------------------- > SF.Net email is sponsored by: > Tame your development challenges with Apache's Geronimo App Server. > Download > it for free - -and be entered to win a 42" plasma tv or your very own > Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php > -- > https://lists.sourceforge.net/lists/listinfo/alleg-developers |