Any new, pro-looking, BSD/MIT licensed GUI lib for SDL?

Hi,

I’m new to SDL. I now need a GUI library for BSD. I looked at the GUI libs
list in the official SDL page, but I wondered if anybody knows of any new
library not listed there…

I’m looking for BSD/MIT licensing, mainly because I often need to do static
linking of my apps.

Also, I’m looking for professional-looking interfaces. I don’t mean “candy
supercharged” GUIs, it can be really simple (current native mobile GUIs
have a simple look, but they have a professional touch).

So, I believe I mean something in the line of the native iOS-widgets. Not
an iOS copy, I mean the style.

Is there anything new capable of doing this?

Thanks!

ardi

Message-ID:
<CA+fZqCV2dNT9_8z2V+QY3o2e-4DCUWSiixsV6r5MhD9tZ9HhSw at mail.gmail.com>
Content-Type: text/plain; charset=“iso-8859-1”

Hi,

I’m new to SDL. I now need a GUI library for BSD. I looked at the GUI libs
list in the official SDL page, but I wondered if anybody knows of any new
library not listed there…

I’m looking for BSD/MIT licensing, mainly because I often need to do static
linking of my apps.

Also, I’m looking for professional-looking interfaces. I don’t mean “candy
supercharged” GUIs, it can be really simple (current native mobile GUIs
have a simple look, but they have a professional touch).

So, I believe I mean something in the line of the native iOS-widgets. Not
an iOS copy, I mean the style.

Is there anything new capable of doing this?

Thanks!

ardi

So, you’re basically looking for something that’s "clean and simple"
as far as it’s appearance & effects go, correct? No moving highlights,
1-pixel borders to mark the edges of interactive elements, a single
color for the majority of elements? Were you wanting it rounded? What
about other style quirks?

Or were you looking for some particular behaviors, or style of interface?

Or were you looking for a specific language?

Or a mixture?

What was it that dissuaded you from the already existing libraries?

Also, how soon do you need it? I’ve been amusing myself with working
out how to do MS-COM but better, and some stuff that I’ve already
finished (though not tested) would be relevant if you were willing to
wait for a new implementation.> Date: Fri, 17 Aug 2012 12:29:25 +0200

From: Ardillas del Monte
To: sdl at lists.libsdl.org
Subject: [SDL] Any new, pro-looking, BSD/MIT licensed GUI lib for SDL?

I don’t think anyone has made anything like what you described, but you
should do some google searches for “SDL ~gui library” - you may find that
there are more using C++ and SDL than C, so you may want to keep that in
mind, too.

If you’re just making a gui application, you may find that using a library
like Qt may be more what you’re looking for.

And most people that ask for pre-made GUIs in any library usually get this
response from mailing list: you’re probably better off making your own.
This will let you do very specific customizations, and make sure your app
only has what it needs (no need for extra bulk when it can be avoided).

If you’re using SDL 1.2, I believe
SDL-widgetshttp://members.chello.nl/w.boeke/SDL-widgets/index.htmlcould
be what you’re looking for.

-AlexOn Fri, Aug 17, 2012 at 6:29 AM, Ardillas del Monte < ardillasdelmonte at gmail.com> wrote:

Hi,

I’m new to SDL. I now need a GUI library for BSD. I looked at the GUI libs
list in the official SDL page, but I wondered if anybody knows of any new
library not listed there…

I’m looking for BSD/MIT licensing, mainly because I often need to do
static linking of my apps.

Also, I’m looking for professional-looking interfaces. I don’t mean “candy
supercharged” GUIs, it can be really simple (current native mobile GUIs
have a simple look, but they have a professional touch).

So, I believe I mean something in the line of the native iOS-widgets. Not
an iOS copy, I mean the style.

Is there anything new capable of doing this?

Thanks!

ardi


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

The UI library I’m using right now is libRocket ( http://librocket.com
). It’s basically a C++, BSD-licensed document-object model (DOM)
system with support for widgets and (optional) FreeType, designed for
embedding into anything. All you’ve got to do is implement a couple of
backend classes. For my engine I implemented a basic render interface
for SDL2/OpenGL, and passed through the SDL2 events for mouse clicks
and key presses. I’ve also written “custom decorators” to render
complex things (e.g. a fancy graph) in the screen space given by the
box model.

Of course, the catch is that you don’t get much in the way of default
styles, you have to make your own skins with syntax very similar to
HTML/CSS. Also the documentation is pretty opaque (most distracting is
that doxygen lumps all the private/protected classes in with the ones
you actually want/allowed to use), you get much better results combing
the example code for clues. But so far it’s been both barebones and
flexible. Has a steepish learning curve, but then again so does
rolling your own widget system.On Sat, Aug 18, 2012 at 12:33 PM, Alex Barry <alex.barry at gmail.com> wrote:

I don’t think anyone has made anything like what you described, but you
should do some google searches for “SDL ~gui library” - you may find that
there are more using C++ and SDL than C, so you may want to keep that in
mind, too.

If you’re just making a gui application, you may find that using a library
like Qt may be more what you’re looking for.

And most people that ask for pre-made GUIs in any library usually get this
response from mailing list: you’re probably better off making your own.
This will let you do very specific customizations, and make sure your app
only has what it needs (no need for extra bulk when it can be avoided).

If you’re using SDL 1.2, I believe SDL-widgets could be what you’re looking
for.

-Alex

On Fri, Aug 17, 2012 at 6:29 AM, Ardillas del Monte wrote:

Hi,

I’m new to SDL. I now need a GUI library for BSD. I looked at the GUI libs
list in the official SDL page, but I wondered if anybody knows of any new
library not listed there…

I’m looking for BSD/MIT licensing, mainly because I often need to do
static linking of my apps.

Also, I’m looking for professional-looking interfaces. I don’t mean “candy
supercharged” GUIs, it can be really simple (current native mobile GUIs have
a simple look, but they have a professional touch).

So, I believe I mean something in the line of the native iOS-widgets. Not
an iOS copy, I mean the style.

Is there anything new capable of doing this?

Thanks!

ardi


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

[…]

Or were you looking for some particular behaviors, or style of interface?

Or were you looking for a specific language?

Or a mixture?

What was it that dissuaded you from the already existing libraries?

My wish would be to use native widgets on both iOS and Android. On the rest
of OSs, I use wxWidgets, which provides native widgets. I cannot use
wxWidgets for iOS and Android because such ports are still on development.

So, for iOS and Android I have plain vanilla SDL, but no GUI.

My languages are C++ and C. So, whatever I use must have C++ (or C)
bindings.

Regarding what dissuaded me from the libraries I found at the official page
is that I automatically discard LGPL (because I often need static linking),
and the BSD/MIT licensed ones are either broken links, or non-professional
looking widgets.

What would I consider professional-looking? Well, a widget set that when
you see it on an Android or iOS tablet could look like if it was an app
designed by any first-class software company.

For example: This looks professional for my standards:

…but unfortunately Clutter is LGPL as far as I know…

…regarding the libRocket suggestion by Scott, the GUI shown on the videos
looks nice, but I’m not into web technologies, and most of the stuff I read
there sounds like alien language to me…

And about Qt… I think it’s overkill, because I aim at minimum CPU use
(the processor/gpu time must go to my apps, not to the gui, and Qt is a
big, big monster…)

If you still don’t know what I’m looking for, I believe something simple
like GLUI (http://www.cs.unc.edu/~rademach/glui/) would be great if it
weren’t LGPL and if it didn’t look like Windows95 instead of a more modern
GUI like Clutter.

Hope this clarifies things a bit…

Thanks a lot!!

ardiOn Sat, Aug 18, 2012 at 5:37 AM, Jared Maddox wrote:

[…]

My wish would be to use native widgets on both iOS and Android. On the
rest of OSs, I use wxWidgets, which provides native widgets. I cannot use
wxWidgets for iOS and Android because such ports are still on development.

Just a brief additional comment here: I’ve just read that any iOS app which
doesn’t use the native Cocoa widget set, can be rejected by Apple.

So, a question to developers who are currently targeting iOS: What do you
do in your apps and/or games? Do you use the native Apple widgets? Does
Apple allow to use custom widgets for games, or do they also require Cocoa
for games?

I’m a bit confused here, but of course I want to target iOS in a way that
is compatible with Apple requirements, while at the same time doing so in a
multiplatform-coding fashion.

Thanks!

ardiOn Sat, Aug 18, 2012 at 1:04 PM, Ardillas del Monte < @Ardillas_del_Monte> wrote:

Qt may be overkill, but you do get native widgets, it’s all handled in the
background, and statically linking means your app only links to
the dependencies in Qt that you’re using.On Sat, Aug 18, 2012 at 7:04 AM, Ardillas del Monte < ardillasdelmonte at gmail.com> wrote:

On Sat, Aug 18, 2012 at 5:37 AM, Jared Maddox wrote:
[…]

Or were you looking for some particular behaviors, or style of interface?

Or were you looking for a specific language?

Or a mixture?

What was it that dissuaded you from the already existing libraries?

My wish would be to use native widgets on both iOS and Android. On the
rest of OSs, I use wxWidgets, which provides native widgets. I cannot use
wxWidgets for iOS and Android because such ports are still on development.

So, for iOS and Android I have plain vanilla SDL, but no GUI.

My languages are C++ and C. So, whatever I use must have C++ (or C)
bindings.

Regarding what dissuaded me from the libraries I found at the official
page is that I automatically discard LGPL (because I often need static
linking), and the BSD/MIT licensed ones are either broken links, or
non-professional looking widgets.

What would I consider professional-looking? Well, a widget set that when
you see it on an Android or iOS tablet could look like if it was an app
designed by any first-class software company.

For example: This looks professional for my standards:
http://blogs.gnome.org/thos/files/2010/05/Screenshot-MxWidgetFactory1.png

…but unfortunately Clutter is LGPL as far as I know…

…regarding the libRocket suggestion by Scott, the GUI shown on the
videos looks nice, but I’m not into web technologies, and most of the stuff
I read there sounds like alien language to me…

And about Qt… I think it’s overkill, because I aim at minimum CPU use
(the processor/gpu time must go to my apps, not to the gui, and Qt is a
big, big monster…)

If you still don’t know what I’m looking for, I believe something simple
like GLUI (http://www.cs.unc.edu/~rademach/glui/) would be great if it
weren’t LGPL and if it didn’t look like Windows95 instead of a more modern
GUI like Clutter.

Hope this clarifies things a bit…

Thanks a lot!!

ardi


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

Qt is by far the best library for any app needing a GUI imo. I’ve used wx
in the past but found it to be incomplete and unpolished in many areas that
I consider important for a GUI. The wx license is nice for static linking
but doesn’t make up for its shortcomings in some of the advanced areas. If
you can justify the cost of a Qt commercial license then then LGPL
requirements don’t apply.

Nokia just sold Qt to Digia. Digia stated that Android and iOS ports were
going to be a high priority so that excited me. Qt already has a very good
Android port dubbed Neccessitas in alpha, so hopefully that can get pulled
into mainline Qt now.

Alex,
Do you have any thoughts on SDL2 mixing SDL_Video with Qt? I posted to the
mailing list not long ago about this but didn’t get any responses. Mixing
SDL1.2 with Qt is a little nasty with window hacks and I’m wondering if the
situation has improved any.

  • Swyped from my droid.

Qt may be overkill, but you do get native widgets, it’s all handled in the
background, and statically linking means your app only links to
the dependencies in Qt that you’re using.On Aug 18, 2012 6:56 AM, “Alex Barry” <alex.barry at gmail.com> wrote:

On Sat, Aug 18, 2012 at 7:04 AM, Ardillas del Monte < ardillasdelmonte at gmail.com> wrote:

On Sat, Aug 18, 2012 at 5:37 AM, Jared Maddox wrote:
[…]


SDL mailing list
SDL at lists.libsdl.org
http:/…


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

[…] I’ve used wx in the past but found it to be incomplete and
unpolished in many areas that I consider important for a GUI. The wx
license is nice for static linking but doesn’t make up for its shortcomings
in some of the advanced areas […]

I’m sorry, but I seriously differ here. I find wxWidgets far superior than
Qt. But I admit every developer has different needs and goals, so my
reasons for finding wxWidgets a superb product may be specific to my needs,
and other developers, with different needs may choose different to me. One
of my most important requirements is that my programs need to look and feel
exactly (I mean exactly ) like if they were designed with Visual Studio
on Windows, with XCode on OSX, and so on. This can’t be achieved with Qt. I
still have to find a Qt-based application (commercial or open source) which
you cannot realize it’s a Qt-developed app from the first moment you start
the application. On the other hand, with wxWidgets you can achieve that
your apps look and feel like if they were developed with Visual Studio,
with XCode, or whatever.

Anyway, I don’t started the thread for discussing Qt vs wxWidgets. I
dislike the Qt way of doing things because they’re opposite to the way I
design code. The only reason I might choose Qt is if I find it’s the only
framework capable of doing really native widgets on iOS and Android. And
even then, I might choose to use Cocoa directly in my code for the iOS
versions, and any other SDL widget set for the Android version.

Btw, I’d like to re-launch a question I did yesterday: Has anybody
experience on using a non-Cocoa custom widget set on iOS games… does
Apple allow it, or are your apps rejected even if they’re games?

ardiOn Sun, Aug 19, 2012 at 7:26 AM, Jonathan Greig wrote:

Alex,

Do you have any thoughts on SDL2 mixing SDL_Video with Qt? I posted to
the mailing list not long ago about this but didn’t get any responses.
Mixing SDL1.2 with Qt is a little nasty with window hacks and I’m wondering
if the situation has improved any.

Nope - I don’t use Qt at all, but I know it’s highly recommended for native
widgets with cross-platform apps. I’m assuming that because SDL2 has the
new SDL_Window* API, it may be easier, but I can’t really confirm that one
way or another. Someone else on the mailing list surely has some more
experience with this

I’m sorry, but I seriously differ here. I find wxWidgets far superior than

Qt. But I admit every developer has different needs and goals, so my
reasons for finding wxWidgets a superb product may be specific to my needs,
and other developers, with different needs may choose different to me. One
of my most important requirements is that my programs need to look and feel
exactly (I mean exactly ) like if they were designed with Visual Studio
on Windows, with XCode on OSX, and so on. This can’t be achieved with Qt. I
still have to find a Qt-based application (commercial or open source) which
you cannot realize it’s a Qt-developed app from the first moment you start
the application. On the other hand, with wxWidgets you can achieve that
your apps look and feel like if they were developed with Visual Studio,
with XCode, or whatever.

What do you mean you want the apps to feel like they were developed in
MSVC/XCode/whatever? Are you saying that you like wxWidgets because it has
a visual designer like MSVC (and XCode?)? When people run your software, I
can almost guarantee that no one is going to think “Hmmm…was this
developed in msvc? sure feels like a visual studio app.” - well, they
won’t say that unless they’re insane or a Windows purist (do those even
exist?).

Btw, I’d like to re-launch a question I did yesterday: Has anybody

experience on using a non-Cocoa custom widget set on iOS games… does
Apple allow it, or are your apps rejected even if they’re games?

On this I can’t give any advice, sorry.

-Alex

Hello !

I’m sorry, but I seriously differ here. I find wxWidgets far superior than

Qt. But I admit every developer has different needs and goals, so my
reasons for finding wxWidgets a superb product may be specific to my needs,
and other developers, with different needs may choose different to me. One
of my most important requirements is that my programs need to look and feel
exactly (I mean exactly ) like if they were designed with Visual Studio
on Windows, with XCode on OSX, and so on. This can’t be achieved with Qt. I
still have to find a Qt-based application (commercial or open source) which
you cannot realize it’s a Qt-developed app from the first moment you start
the application. On the other hand, with wxWidgets you can achieve that
your apps look and feel like if they were developed with Visual Studio,
with XCode, or whatever.

I agree, especially the majority of Mac users care if
they have a programm that uses some crossplattform GUI toolkit
like GTK that only emulates the look or if the app uses
the native OSX widgets.

Windows users do not care as much as the mac people.

CU

Qt uses native widgets afaik -
http://doc.qt.nokia.com/4.7-snapshot/qtmac-as-native.html
-AlexOn Sun, Aug 19, 2012 at 8:12 AM, Torsten Giebl wrote:

Hello !

I’m sorry, but I seriously differ here. I find wxWidgets far superior
than

Qt. But I admit every developer has different needs and goals, so my
reasons for finding wxWidgets a superb product may be specific to my
needs,

and other developers, with different needs may choose different to me.
One

of my most important requirements is that my programs need to look and
feel

exactly (I mean exactly ) like if they were designed with Visual
Studio

on Windows, with XCode on OSX, and so on. This can’t be achieved with
Qt. I

still have to find a Qt-based application (commercial or open source)
which

you cannot realize it’s a Qt-developed app from the first moment you
start

the application. On the other hand, with wxWidgets you can achieve that
your apps look and feel like if they were developed with Visual Studio,
with XCode, or whatever.

I agree, especially the majority of Mac users care if
they have a programm that uses some crossplattform GUI toolkit
like GTK that only emulates the look or if the app uses
the native OSX widgets.

Windows users do not care as much as the mac people.

CU


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

[…]

What do you mean you want the apps to feel like they were developed in
MSVC/XCode/whatever? Are you saying that you like wxWidgets because it has
a visual designer like MSVC (and XCode?)? When people run your software, I
can almost guarantee that no one is going to think “Hmmm…was this
developed in msvc? sure feels like a visual studio app.” - well, they
won’t say that unless they’re insane or a Windows purist (do those even
exist?).

Of course the average user doesn’t know how an application is developed,
but however, everybody can notice coherence in style. In my experience Qt
doesn’t provide you the same look and feel you get with the official tools
of the OS official SDK. We could be endlessly discussing Qt vs wxWidgets,
but that’s not the point. I won’t use Qt because it’s developed with a
mindset different to mine, while wxWidgets is developed exactly as I’d do
it if it was my project. Not only because of the look and feel of the
resulting applications, but also because of how the code is designed. So, I
don’t see any point on this topic.

Despite of that, Qt is more mobile-ready than wxWidgets, and I don’t
discard giving it some use.

Thanks,

ardiOn Sun, Aug 19, 2012 at 1:41 PM, Alex Barry <alex.barry at gmail.com> wrote