This is the mail archive of the
xconq7@sources.redhat.com
mailing list for the Xconq project.
SDL Interface Development
- From: Eric McDonald <mcdonald at phy dot cmich dot edu>
- To: xconq7 at sources dot redhat dot com
- Date: Sat, 30 Oct 2004 16:15:44 -0600
- Subject: 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