This is the mail archive of the xconq7@sources.redhat.com mailing list for the Xconq project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

SDL Interface Development


Hello Xconq developers,

Today I was thinking about everything that still needs to be done on the SDL interface. It would seem that much work must be done in terms of things such as widget implementation: a scrollable text box for messages, list boxes, drop-down boxes, checkboxes, radio buttons for setup and preferences screens, etc.... I have had these bits of work in mind every since I took up development of the SDL interface, and have not entirely been looking forward to it. (If I was developing an SDL-based GUI toolkit for the sake of developing one, it would be a different story. Indeed, it would be somewhat appealing.)

With the help of a powerful scrying tool known as Google, I have apparently discovered an easy way out: ParaGUI, http://www.bms-austria.com/projects/paragui/
It looks to have most every GUI element that I would want and it would undoubtedly shave _months_ off the development of the SDL interface.
However, like most things, this comes at a price.


The price is twofold:
(1) The ParaGUI API is in C++. This means that Xconq's SDL interface would have to be converted to C++ and things going to and from the kernel would have to be carefully declared extern "C". I am tempted to say this is worth the trouble. I realize that this would break Xconq's tendency toward C89 compliance. However, the "damage" would be limited to a single user interface, and the kernel should escape unscathed.
(2) ParaGUI has a number of dependencies: Freetype, zlib, libpng, and Expat. None of these should be a problem on most modern Linux distributions. On Windows, these all are available, thanks in part to the Gimp on Win32 project and other reasons. However, any required DLL's would have to be bundled with the Windows installer thereby increasing its size, perhaps significantly. Some of the space could probably be won back once we get to a point where the Tcl/Tk interface no longer needs to be provided. Also, I could provide a separate complete install and upgrade install. Of course, anyone wishing to do SDL interface development on the Win32 platform would have to seek out the necessary libraries and headers and install them. Documentation could help aid that quest, but the extra work could still be considered an extra hurdle. On non-Linux, non-Win32 platforms some compilation of the necessary libs would probably be required.


A while back ago, we considered SDL_Pango for handling of international and exotic text. Pango (which SDL_Pango obviously requires) is not without dependencies either. So I think point (2) is something worth considering. How much should Xconq be able to stand alone? And how much should we cave in to rapid development at the expense of raising the hacker "cost of entry", so to speak?

One last note, I am not saying that moving to ParaGUI is without work. Probably a widget would have to be created to contain the main map and minimap. But, it looks like we get things like themes (font sets, background images and gradients) quite easily, and this is something we all wanted from/expect of the interface.

Eric

P.S. ParaGUI appears to have been around for over two years now, and is still being maintained and developed, and so I don't fear much in the way of stagnation.
P.P.S. Here are some ParaGUI screenshots:
http://www.bms-austria.com/projects/paragui/index.php?module=photoshare&func=showimages&fid=1
http://www.freelords.org/screenshots.php
http://www.project-axis.net/pages/screenshots/screens-v03.shtml
http://www.project-axis.net/artbin/screens/snapshot37.png
http://www.project-axis.net/artbin/screens/snapshot36.png



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]