|
From: Jeff H. <je...@ac...> - 2007-07-09 22:17:09
|
Hi Mats, Finally got some time to poke on this ... a few points. Attached is a diff that updates TEA and fixes building somewhat on Windows. In fact, it is probably totally broken, but then again so is the state of trying to build Ttk stuff for 8.5. I think it is better to target 8.5+Ttk first, and fall back to 8.4+tile. The configure.in has been updated with respect to that. I made the TEA stuff work correctly for Windows, so I would recommend dumping all the win/ build stuff. The part that I can't get quite right is that it is almost impossible to build for Ttk with 8.5. There are neither stubs to link against, nor entries in the standard Tk (int) decls header. One or both need to be addressed in the core (this is really a core issue). I'll work with Joe on the best way to address that. On the unix side, I haven't poked much, but it isn't sufficiently finding the xft/cairo stuff for the build to work for me now. Probably more configure magic is required there. Also, the uxtheme dynamic loading isn't properly indirected right now, so it is required to link in uxtheme.lib at build time currently. You can see how tile actually addresses this in the code. I haven't tried building on OS X yet, but with the latest TEA, it shouldn't be hard to support as well. Regards, Jeff Mats Bengtsson wrote: > It has four "themes": > o Tk drawing used as fallback > o native aqua on Mac > o cairo graphics on X11 > o gdi+ on XP+ > > I'v tried to load the cairo and gdi+ dynamically similar to how tile uses uxtheme.dll. > The Tk drawing is a bit primitive since it is nearly impossible to make anything look > nice on 16x16 without antialiasing. > > Problems still not solved (which I'd appreciate getting help with): > o Can't figure out how to do themed backgrounds on windows (XP) > o Panics on XP complaining about a palette? > o Build systems probably need to be better (unix: TEA; win: VC++7; Mac: PB). > > I'm not sure I've got the ttk stub linking OK since I got crashes on the first Ttk call > after Ttk_InitStubs() if I used a different tile than the stub version. |