[SDL] [gsoc] Application proposal suggestion (SDL++)
g.andrew.stone at gmail.com
Wed Apr 1 12:33:00 PDT 2009
I don't think that a simple wrapper where for example surface-drawing
"C" function calls are somehow "stuck" into class Surface is all that
valuable. That is, the sort of stuff that can be accomplished via
header files alone.
A key thing to consider is that additional value is created from a
wrapper by creating an abstraction layer. That's a term that is
bandied about a lot but often not truly understood. An abstraction
layer provides a simpler yet possibly more powerful interface to a
more complex underlying interface. So just having a 1-to-1
translation between C++ and C is not an abstraction layer.
What intrigues me about your proposal is integration of SDL with STL.
A long time ago, I did something similar; I integrated STL with MFC
(Microsoft Foundation Classes -- their old gui interface). Basically
the idea was that the programmer used the STL APIs (say to manipulate
a list), and this list was "magically" connected to a GUI element; a
combo box, selection box, tree, you name it. So if you change the
list, the GUI element changed on the screen, and so forth.
The idea was that you could basically manipulate the whole GUI using
STL APIs, and the only time you had to actually deal with MFC GUI was
the initial layout. So I call this an "abstraction layer" since the
basic STL container APIs are much simpler (and consistent, and
well-known) than that horrible thing we used to call MFC. :-)
I wonder if something along those lines can be created for SDL?
Disclaimer: I'm just a dev using SDL so don't really have any input
into GSoC mentoring...
On Wed, Apr 1, 2009 at 2:37 PM, Kornel Kisielewicz
<kornel.kisielewicz at gmail.com> wrote:
> I'm interested in participating in GSoC with SDL as my mentor
> organization. However, I feel that my proposal would be rejected
> because it completely is not in line with the rest of the proposals.
> I'd like to know if there is any interest at all in such a proposal. I
> asked this question on #sdl on IRC, and got an answer to post it to
> the group. If there is an initial "we're interested", I'd prepare a
> much more detailed description.
> The basic idea is to create a standard C++/STL based platform and
> compiler independent wrapper for SDL. There are several attempts on
> the web, but none of them are complete, and the quality varies widely.
> I'm perfectly aware that one of SDL's main advantages is the C API
> that allows it to be linked to various programming languages, still I
> believe that SDL would benefit from a standard C++ interface. The
> design goals for the wrapper that I'd like to achieve are:
> * modern C++ standards -- making use of STL and it's paradigms
> * ultra-portable -- both from architecture and compiler point of view
> * lightweight -- the wrapper should allow as effective usage as using
> the standard headers
> * very well documented ( doxygen, UML diagrams and tutorials )
> * unified and readable coding conventions and usage
> * wrapping all the SDL structures into classes
> * the wrapper itself could handle memory ( for example keeping a
> surface manager )
> * written also with OpenGL in mind
> * wrapping also the most common SDL libraries ( mixer, image, ... ) in
> the same style
> * both 1.2 and 1.3 versions ( if time allows, if not, I'd focus on the
> one of the communities choice )
> I'd be willing to discuss this idea in far greater detail if there is
> any interest.
> Kornel Kisielewicz
> SDL mailing list
> SDL at lists.libsdl.org
More information about the SDL