# List all GUI toolkits for SDL

**URL:** <https://discourse.libsdl.org/t/list-all-gui-toolkits-for-sdl/21911>\
**Category:** SDL Development\
**Created:** [September 11, 2016, 10:47am UTC](https://discourse.libsdl.org/t/list-all-gui-toolkits-for-sdl/21911 "2016-09-11T10:47:45Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Daniel\_V](https://discourse.libsdl.org/letter_avatar_proxy/v4/letter/d/f19dbf/32.png) [@Daniel\_V](https://discourse.libsdl.org/u/Daniel_V)\
**Post date:** [September 11, 2016, 10:47am UTC](https://discourse.libsdl.org/t/list-all-gui-toolkits-for-sdl/21911/1 "2016-09-11T10:47:45Z")

</div>

How many GUI toolkits is there for SDL currently to use?

And how many are thinking of making their own GUI toolkit for SDL?

And what is the web Links to them and what platforms do they support,  
and what SDL version? And what are the dependencies of other libraries  
does these GUI toolkits have?

And to you currently thinking of making a GUI toolk kit, or has made one…  
What was your goal?  
What was you currently lacking?  
What style of programming is it that you want to suooort?

Currently I am also thinking of making a GUI toolkit, so you can make  
point an click applications that can run in the Linux terminal, that  
also can be compiled all the common window system. And is also  
thinking of giving it a state machine, so it scales well to bigger  
applications, and to get separation of GUI and the rest of the  
program. So programs can easily be converted to be client server  
application, or to easily improve the GUI later for use under window  
systems.

// Daniel V.

---

<div class="post-metadata">

**Author:** ![MrTAToad](https://discourse.libsdl.org/letter_avatar_proxy/v4/letter/m/73ab20/32.png) [@MrTAToad](https://discourse.libsdl.org/u/MrTAToad)\
**Post date:** [September 11, 2016, 11:22am UTC](https://discourse.libsdl.org/t/list-all-gui-toolkits-for-sdl/21911/2 "2016-09-11T11:22:01Z")

</div>

SDL1 or SDL2 ?

For the former, I dont know. For the latter its around 3/4

SDL1  
Geeonx GUI ([http://forums.libsdl.org/viewtopic.php?t=12088](http://forums.libsdl.org/viewtopic.php?t=12088))

SDL2 GUI[u]  
Guichan - Uses OpenGL - ([http://forums.libsdl.org/viewtopic.php?t=12073](http://forums.libsdl.org/viewtopic.php?t=12073))  
KISS - ([http://forums.libsdl.org/viewtopic.php?t=11772](http://forums.libsdl.org/viewtopic.php?t=11772))  
Nanogui - Uses OpenGL - ([http://forums.libsdl.org/viewtopic.php?t=11636&highlight=gui](http://forums.libsdl.org/viewtopic.php?t=11636&highlight=gui))  
neoGFX - Uses OpenGL - ([http://forums.libsdl.org/viewtopic.php?t=12033&highlight=gui](http://forums.libsdl.org/viewtopic.php?t=12033&highlight=gui))  
SDL\_gui - Seems to be specifically geared towards Android ([https://github.com/mozeal/SDL\_gui](https://github.com/mozeal/SDL_gui))

SDL\_widgets - This is… a weird one… Its a GUI system alright, but overly complicated and works only for specific compilers (because it is too Linux orientated) ([http://members.chello.nl/w.boeke/SDL-widgets/](http://members.chello.nl/w.boeke/SDL-widgets/))

---

<div class="post-metadata">

**Author:** ![JonnyD](https://discourse.libsdl.org/user_avatar/discourse.libsdl.org/jonnyd/32/1604_2.png) [@JonnyD](https://discourse.libsdl.org/u/JonnyD)\
**Post date:** [September 11, 2016, 11:49am UTC](https://discourse.libsdl.org/t/list-all-gui-toolkits-for-sdl/21911/3 "2016-09-11T11:49:05Z")

</div>

A couple of years ago, we saw KiWi on the mailing list:

> **[GitHub - mobius3/kiwi: KiWi: Killer Widgets](https://github.com/mobius3/KiWi)**
>
> KiWi: Killer Widgets

It may have even been the first to be announced for SDL2.

If you use SDL\_gpu or OpenGL directly, you can additionally set up  
rendering for librocket ([http://librocket.com/](http://librocket.com/)) and Nuklear (  
[GitHub - vurtun/nuklear: A single-header ANSI C gui library](https://github.com/vurtun/nuklear)). These would work on either SDL1.2 or  
SDL2 and they look great.

Jonny DOn Sun, Sep 11, 2016 at 7:22 AM, MrTAToad wrote:

> SDL1 or SDL2 ?
> 
> For the former, I dont know. For the latter its around 3/4
> 
> SDL1  
> Geeonx GUI ([SDL :: View topic - Geeonx GUI library for LINUX and SDL 1.2](http://forums.libsdl.org/viewtopic.php?t=12088))
> 
> SDL2 GUI[u]  
> Guichan - Uses OpenGL - ([SDL :: View topic - Guisan - C++ SDL2 toolkit](http://forums.libsdl.org/viewtopic.php?t=12073))  
> KISS - ([Kiss\_sdl - Simple universal GUI widget toolkit for SDL - SDL Development - Simple Directmedia Layer](http://forums.libsdl.org/viewtopic.php?t=11772))  
> Nanogui - Uses OpenGL - ([http://forums.libsdl.org/view](http://forums.libsdl.org/view)  
> topic.php?t=11636&highlight=gui)  
> neoGFX - Uses OpenGL - ([http://forums.libsdl.org/view](http://forums.libsdl.org/view)  
> topic.php?t=12033&highlight=gui)  
> SDL\_gui - Seems to be specifically geared towards Android (  
> [GitHub - mozeal/SDL\_gui: GUI library for SDL2](https://github.com/mozeal/SDL_gui))
> 
> SDL\_widgets - This is… a weird one… Its a GUI system alright, but  
> overly complicated and works only for specific compilers (because it is too  
> Linux orientated) ([http://members.chello.nl/w.boeke/SDL-widgets/](http://members.chello.nl/w.boeke/SDL-widgets/))
> 
> * * *
> 
> SDL mailing list  
> SDL at [lists.libsdl.org](http://lists.libsdl.org)  
> [http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org](http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org)

---

<div class="post-metadata">

**Author:** ![Eric\_Wing](https://discourse.libsdl.org/letter_avatar_proxy/v4/letter/e/ea5d25/32.png) [@Eric\_Wing](https://discourse.libsdl.org/u/Eric_Wing)\
**Post date:** [September 11, 2016, 11:56am UTC](https://discourse.libsdl.org/t/list-all-gui-toolkits-for-sdl/21911/4 "2016-09-11T11:56:31Z")

</div>

Additionally,

KiWi (Killer Widgets) - Built on the SDL2 2D renderer. Pure C.

> **[GitHub - mobius3/kiwi: KiWi: Killer Widgets](https://github.com/mobius3/KiWi)**
>
> KiWi: Killer Widgets

Nuklear - Renderer agnostic, no dependency, header-only, pure C,  
Immediate Mode GUI. Repo contains adaptors, including SDL+OpenGL.  
(I’ve been working on an SDL\_gpu adaptor.)  
[https://github.com/vurtun/nuklearOn](https://github.com/vurtun/nuklearOn) 9/11/16, MrTAToad wrote:

> SDL1 or SDL2 ?
> 
> For the former, I dont know. For the latter its around 3/4
> 
> SDL1  
> Geeonx GUI ([SDL :: View topic - Geeonx GUI library for LINUX and SDL 1.2](http://forums.libsdl.org/viewtopic.php?t=12088))
> 
> SDL2 GUI[u]  
> Guichan - Uses OpenGL - ([SDL :: View topic - Guisan - C++ SDL2 toolkit](http://forums.libsdl.org/viewtopic.php?t=12073))  
> KISS - ([Kiss\_sdl - Simple universal GUI widget toolkit for SDL - SDL Development - Simple Directmedia Layer](http://forums.libsdl.org/viewtopic.php?t=11772))  
> Nanogui - Uses OpenGL -  
> ([SDL :: View topic - nanogui fork with SDL2](http://forums.libsdl.org/viewtopic.php?t=11636&highlight=gui))  
> neoGFX - Uses OpenGL -  
> ([SDL :: View topic - New SDL/OpenGL C++ GUI library "neoGFX" coming soo](http://forums.libsdl.org/viewtopic.php?t=12033&highlight=gui))  
> SDL\_gui - Seems to be specifically geared towards Android  
> ([GitHub - mozeal/SDL\_gui: GUI library for SDL2](https://github.com/mozeal/SDL_gui))
> 
> SDL\_widgets - This is… a weird one… Its a GUI system alright, but overly  
> complicated and works only for specific compilers (because it is too Linux  
> orientated) ([http://members.chello.nl/w.boeke/SDL-widgets/](http://members.chello.nl/w.boeke/SDL-widgets/))

---

<div class="post-metadata">

**Author:** ![leagor](https://discourse.libsdl.org/letter_avatar_proxy/v4/letter/l/41988e/32.png) [@leagor](https://discourse.libsdl.org/u/leagor)\
**Post date:** [September 11, 2016, 12:36pm UTC](https://discourse.libsdl.org/t/list-all-gui-toolkits-for-sdl/21911/5 "2016-09-11T12:36:04Z")

</div>

Rose - Built on last SDL version: SDL2-2.0.4. Language: C/C++. Mainly focus  
on iOS, Android and Windows.

> **[freeors/Rose](https://github.com/freeors/Rose)**
>
> Rose - Cross-Platform C++ SDK that based on SDL.

Main feature  
.Provide Rose Studio, it can simplify create project on all platform.  
.Really achieve “one code and run all platform”.  
.Render image use OpenGL/ES that SDL2 provided.  
.Has a platform-independent, full widget’s window system.  
.More detailed framework, deep into unit level on “Big Map”.  
.Powerful animation.  
.Integrate gettext to handle internationalization.  
.PowerFul BLE support.

---

<div class="post-metadata">

**Author:** ![Martin\_Gerhardy](https://discourse.libsdl.org/user_avatar/discourse.libsdl.org/martin_gerhardy/32/591_2.png) [@Martin\_Gerhardy](https://discourse.libsdl.org/u/Martin_Gerhardy)\
**Post date:** [September 11, 2016, 1:33pm UTC](https://discourse.libsdl.org/t/list-all-gui-toolkits-for-sdl/21911/6 "2016-09-11T13:33:16Z")

</div>

there is also turbobadger with has a pull request open to show the usage with sdl2.Am 11.09.2016 um 13:22 schrieb “MrTAToad” :

> SDL1 or SDL2 ?
> 
> For the former, I dont know. For the latter its around 3/4
> 
> SDL1  
> Geeonx GUI ([SDL :: View topic - Geeonx GUI library for LINUX and SDL 1.2](http://forums.libsdl.org/viewtopic.php?t=12088))
> 
> SDL2 GUI[u]  
> Guichan - Uses OpenGL - ([SDL :: View topic - Guisan - C++ SDL2 toolkit](http://forums.libsdl.org/viewtopic.php?t=12073))  
> KISS - ([Kiss\_sdl - Simple universal GUI widget toolkit for SDL - SDL Development - Simple Directmedia Layer](http://forums.libsdl.org/viewtopic.php?t=11772))  
> Nanogui - Uses OpenGL - ([SDL :: View topic - nanogui fork with SDL2](http://forums.libsdl.org/viewtopic.php?t=11636&highlight=gui))  
> neoGFX - Uses OpenGL - ([SDL :: View topic - New SDL/OpenGL C++ GUI library "neoGFX" coming soo](http://forums.libsdl.org/viewtopic.php?t=12033&highlight=gui))  
> SDL\_gui - Seems to be specifically geared towards Android ([GitHub - mozeal/SDL\_gui: GUI library for SDL2](https://github.com/mozeal/SDL_gui))
> 
> SDL\_widgets - This is… a weird one… Its a GUI system alright, but overly complicated and works only for specific compilers (because it is too Linux orientated) ([http://members.chello.nl/w.boeke/SDL-widgets/](http://members.chello.nl/w.boeke/SDL-widgets/))
> 
> * * *
> 
> SDL mailing list  
> SDL at [lists.libsdl.org](http://lists.libsdl.org)  
> [http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org](http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org)

---

<div class="post-metadata">

**Author:** ![actsl](https://discourse.libsdl.org/user_avatar/discourse.libsdl.org/actsl/32/2971_2.png) [@actsl](https://discourse.libsdl.org/u/actsl)\
**Post date:** [September 11, 2016, 6:40pm UTC](https://discourse.libsdl.org/t/list-all-gui-toolkits-for-sdl/21911/7 "2016-09-11T18:40:55Z")

</div>

The number of lines of code in all these GUI toolkits is as follows:

Geeonx – closed source  
Nanogui – 20525 lines  
Guichan – 28362 lines  
neoGFX – not finished, but will likely be an advanced type of big toolkit  
SDL\_gui – 7514 lines  
SDL-widgets – 10301 lines  
KiWi – 5600 lines  
Nuklear – 34692 lines  
Rose – 40207 lines

kiss\_sdl – 2437 lines. I didn’t make it if it were not smaller than any of these, what sense does it make to write yet another GUI toolkit. The paradigm of that is “Unnecessary complexity is evil” versus “Complexity doesn’t matter”.

But this is a comparison of these only from my perspective, about only one aspect of them. May interest some people too though. But some others my compere these GUI toolkits from some other perspective, that’s interesting too.------------------------  
kiss\_sdl - Simple generic GUI widget toolkit for SDL2 [https://github.com/actsl/kiss\_sdl](https://github.com/actsl/kiss_sdl)

---

<div class="post-metadata">

**Author:** ![Sparks](https://discourse.libsdl.org/letter_avatar_proxy/v4/letter/s/ee7513/32.png) [@Sparks](https://discourse.libsdl.org/u/Sparks)\
**Post date:** [September 11, 2016, 7:43pm UTC](https://discourse.libsdl.org/t/list-all-gui-toolkits-for-sdl/21911/8 "2016-09-11T19:43:57Z")

</div>

actsl wrote:

> The number of lines of code in all these GUI toolkits is as follows:

Number of lines in the code base no way equates to the quality of the library itself, it is a meaningless metric to use just to compare the libraries by LOC, unless you are comparing libraries that do the exact same thing.

---

<div class="post-metadata">

**Author:** ![JonnyD](https://discourse.libsdl.org/user_avatar/discourse.libsdl.org/jonnyd/32/1604_2.png) [@JonnyD](https://discourse.libsdl.org/u/JonnyD)\
**Post date:** [September 11, 2016, 8:06pm UTC](https://discourse.libsdl.org/t/list-all-gui-toolkits-for-sdl/21911/9 "2016-09-11T20:06:44Z")

</div>

I also would argue (as others have) that more lines of code does not imply  
more complexity.

The reason: The complexity passed on to the user when he wants the UI to  
look a certain way is the complexity that counts. This can occur either in  
the API or in code structure when API design fails and he has to modify the  
library.

Jonny DOn Sun, Sep 11, 2016 at 3:43 PM, Sparks wrote:

> actsl wrote:
> 
> The number of lines of code in all these GUI toolkits is as follows:
> 
> Number of lines in the code base no way equates to the quality of the  
> library itself, it is a meaningless metric to use just to compare the  
> libraries by LOC, unless you are comparing libraries that do the exact same  
> thing.
> 
> * * *
> 
> SDL mailing list  
> SDL at [lists.libsdl.org](http://lists.libsdl.org)  
> [http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org](http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org)

---

<div class="post-metadata">

**Author:** ![actsl](https://discourse.libsdl.org/user_avatar/discourse.libsdl.org/actsl/32/2971_2.png) [@actsl](https://discourse.libsdl.org/u/actsl)\
**Post date:** [September 11, 2016, 8:48pm UTC](https://discourse.libsdl.org/t/list-all-gui-toolkits-for-sdl/21911/10 "2016-09-11T20:48:12Z")

</div>

Jonny D wrote:

> I also would argue (as others have) that more lines of code does not imply more complexity.
> 
> The reason: The complexity passed on to the user when he wants the UI to look a certain way is the complexity that counts.?? This can occur either in the API or in code structure when API design fails and he has to modify the library.

Right but, the complexity of the code cannot be completely hidden, and attempt to do so may decrease the freedom of the user to do what the user wants to do, or what may be necessary to do in some case.

But as i said, this is only one aspect of comparing the libraries, i agree that it no way says everything about the code or the library, other features have to be considered also to meaningfully compare. Yet the number of lines of code is one important aspect in comparing the codes.

I would like to see someone comparing these GUI toolkits by other features.------------------------  
kiss\_sdl - Simple generic GUI widget toolkit for SDL2 [GitHub - actsl/kiss\_sdl: Simple generic GUI widget toolkit for SDL2](https://github.com/actsl/kiss_sdl)

---

<div class="post-metadata">

**Author:** ![MrTAToad](https://discourse.libsdl.org/letter_avatar_proxy/v4/letter/m/73ab20/32.png) [@MrTAToad](https://discourse.libsdl.org/u/MrTAToad)\
**Post date:** [September 11, 2016, 9:03pm UTC](https://discourse.libsdl.org/t/list-all-gui-toolkits-for-sdl/21911/11 "2016-09-11T21:03:38Z")

</div>

The other criteria to judge them on is how often they are updated and how good the instructions are. If they are several years old, then the chances of getting and bugs/solving problems are remote.

And if you have to wade through badly written and poorly documented code, you’ll be moving to something else very quickly.

---

<div class="post-metadata">

**Author:** ![Jeff\_Post](https://discourse.libsdl.org/letter_avatar_proxy/v4/letter/j/b9bd4f/32.png) [@Jeff\_Post](https://discourse.libsdl.org/u/Jeff_Post)\
**Post date:** [September 12, 2016, 1:25am UTC](https://discourse.libsdl.org/t/list-all-gui-toolkits-for-sdl/21911/12 "2016-09-12T01:25:40Z")

</div>

I would say that lines of code is of relative unimportance. Decades ago, when  
computers were _slow_ compared to today, I wrote some software that was  
heavily table driven. This increased lines of code immensely compared to  
algorithmic computations, but it was blindingly _fast_, which was one of my  
primary objectives. It was also conceptually simple and therefore easy to  
maintain.

I believe that the most important aspect of software is summed up by what I  
would tell the programmers who worked for me: “I don’t care how difficult it is  
for you to write the code, I care about how easy it is for the customers to  
use.”

Beyond that, I think the most important characteristics of good software are,  
in no rigorous order,

Algorithmically correct: it does what it’s supposed to do and nothing else. It  
is essentially bug free in that unusual circumstances, such as unexpected  
input will not cause it to do anything insane.

Simplicity: it should be easy to maintain.

Flexibility: it should be easy to add new features or modify behavior.

If it involves a GUI, it should be intuitive and pleasant to look at (which  
IMHO kiss\_sdl is not - the graphics are too primitive).

If it doesn’t have a gui, it should be intuitive and easy to use.

And so on… I’m not trying to write a treatise on good software design.

Lines of code is near the bottom of the list.

I did take a very brief look at your code, with a view to adapting it to SDL  
1.2. I have a lot of code using 1.2 and rather than rewrite it for 2.0, I  
think it would be easier to just rewrite it in Java, which also takes care of  
porting issues - specifically that Apple intentionally makes it difficult for 3rd  
party developers to compile code for Macs.

I admit I didn’t have time to look at your code in more depth, but at first  
glance it didn’t seem to be all that easy to modify it for SDL 1.2 (and then  
there’s the graphics issue).

Nevertheless, I would encourage you to continue working on kiss\_sdl, but don’t  
get hung up on lines of code. Keep It Simple is not the same as keep it short.

JeffOn Sunday 11 September 2016 13:48:12 actsl wrote:

> Right but, the complexity of the code cannot be completely hidden, and  
> attempt to do so may decrease the freedom of the user to do what the user  
> wants to do, or what may be necessary to do in some case.
> 
> But as i said, this is only one aspect of comparing the libraries, i agree  
> that it no way says everything about the code or the library, other  
> features have to be considered also to meaningfully compare. Yet the  
> number of lines of code is one important aspect in comparing the codes.

---

<div class="post-metadata">

**Author:** ![actsl](https://discourse.libsdl.org/user_avatar/discourse.libsdl.org/actsl/32/2971_2.png) [@actsl](https://discourse.libsdl.org/u/actsl)\
**Post date:** [September 12, 2016, 8:30am UTC](https://discourse.libsdl.org/t/list-all-gui-toolkits-for-sdl/21911/13 "2016-09-12T08:30:01Z")

</div>

j\_post wrote:

> 

> I believe that the most important aspect of software is summed up by what I would tell the programmers who worked for me: “I don’t care how difficult it is for you to write the code, I care about how easy it is for the customers to use.”

Thanks god i don’t work for you.

> If it involves a GUI, it should be intuitive and pleasant to look at (which IMHO kiss\_sdl is not - the graphics are too primitive).

So you want it all, elephant in a matchbox, and if one doesn’t provide it, one is too bad? I don’t think graphics is the most difficult part of a GUI toolkit, so i didn’t add much of it.

> I did take a very brief look at your code, with a view to adapting it to SDL 1.2. I have a lot of code using 1.2 and rather than rewrite it for 2.0, I think it would be easier to just rewrite it in Java, which also takes care of porting issues - specifically that Apple intentionally makes it difficult for 3rd party developers to compile code for Macs.

Yes sure, if you tried to rewrite it in Java, it’s sure not that easy to modify it in that way, it is not written in a way good for Java. And thanks goodness you couldn’t rewrite it in Java, Java is a bad language, imho.

These are just my opinions, our opinions differ, i hope you don’t mind, i hope you understand that not everyone thinks the way you do. I think though that you are one in the camp “Complexity doesn’t matter”, so we are in different camps. I’m in a different camp, and there are people in my camp, yeah, give me fire to make coffee in the morning :)------------------------  
kiss\_sdl - Simple generic GUI widget toolkit for SDL2 [GitHub - actsl/kiss\_sdl: Simple generic GUI widget toolkit for SDL2](https://github.com/actsl/kiss_sdl)

---

<div class="post-metadata">

**Author:** ![David\_Demelier](https://discourse.libsdl.org/user_avatar/discourse.libsdl.org/david_demelier/32/2164_2.png) [@David\_Demelier](https://discourse.libsdl.org/u/David_Demelier)\
**Post date:** [September 19, 2016, 1:04pm UTC](https://discourse.libsdl.org/t/list-all-gui-toolkits-for-sdl/21911/14 "2016-09-19T13:04:37Z")

</div>

2016-09-11 20:40 GMT+02:00 actsl :

> The number of lines of code in all these GUI toolkits is as follows:
> 
> Geeonx – closed source  
> Nanogui – 20525 lines  
> Guichan – 28362 lines  
> neoGFX – not finished, but will likely be an advanced type of big toolkit  
> SDL\_gui – 7514 lines  
> SDL-widgets – 10301 lines  
> KiWi – 5600 lines  
> Nuklear – 34692 lines  
> Rose – 40207 lines
> 
> kiss\_sdl – 2437 lines. I didn’t make it if it were not smaller than any of  
> these, what sense does it make to write yet another GUI toolkit. The  
> paradigm of that is “Unnecessary complexity is evil” versus “Complexity  
> doesn’t matter”.
> 
> But this is a comparison of these only from my perspective, about only one  
> aspect of them. May interest some people too though. But some others my  
> compere these GUI toolkits from some other perspective, that’s interesting  
> too.

I know wonder if you are a troll.

Each time we are talking about GUI you still comparing the number of  
lines of code. Stop promoting your toolkit because it has less lines  
of code and saying other toolkits are bloat and complex. A software is  
not necessary more complex by having more lines of code.

If your GUI only offers buttons, combobox and lists while a toolkit  
provides file chooser, color selector, web view, tabs, stacks, themes,  
etc, it is not bloat or complex but obviously has more lines of code.  
It just has more features.–  
Demelier David

---

<div class="post-metadata">

**Author:** ![Sik\_the\_hedgehog](https://discourse.libsdl.org/letter_avatar_proxy/v4/letter/s/db5fbb/32.png) [@Sik\_the\_hedgehog](https://discourse.libsdl.org/u/Sik_the_hedgehog)\
**Post date:** [September 19, 2016, 3:49pm UTC](https://discourse.libsdl.org/t/list-all-gui-toolkits-for-sdl/21911/15 "2016-09-19T15:49:18Z")

</div>

2016-09-19 10:04 GMT-03:00, David Demelier \<demelier.david at [gmail.com](http://gmail.com)\>:

> I know wonder if you are a troll.
> 
> Each time we are talking about GUI you still comparing the number of  
> lines of code. Stop promoting your toolkit because it has less lines  
> of code and saying other toolkits are bloat and complex. A software is  
> not necessary more complex by having more lines of code.
> 
> If your GUI only offers buttons, combobox and lists while a toolkit  
> provides file chooser, color selector, web view, tabs, stacks, themes,  
> etc, it is not bloat or complex but obviously has more lines of code.  
> It just has more features.

I’m surprised you didn’t mention the obvious one: blank lines,  
comments and other lines that aren’t actual code (like having { on its  
own line instead of right after the parenthesis). And even that  
doesn’t matter because it all depends on what the compiler does -  
sometimes it’ll do a better job with seemingly unoptimal code, simply  
because it understands it better.

---

<div class="post-metadata">

**Author:** ![JonnyD](https://discourse.libsdl.org/user_avatar/discourse.libsdl.org/jonnyd/32/1604_2.png) [@JonnyD](https://discourse.libsdl.org/u/JonnyD)\
**Post date:** [September 19, 2016, 4:01pm UTC](https://discourse.libsdl.org/t/list-all-gui-toolkits-for-sdl/21911/16 "2016-09-19T16:01:54Z")

</div>

What, you don’t think putting { on the next line increases the complexity  
of a library?

Jonny DOn Mon, Sep 19, 2016 at 11:49 AM, Sik the hedgehog \< sik.the.hedgehog at [gmail.com](http://gmail.com)\> wrote:

> 2016-09-19 10:04 GMT-03:00, David Demelier \<demelier.david at [gmail.com](http://gmail.com)\>:
> 
> > I know wonder if you are a troll.
> > 
> > Each time we are talking about GUI you still comparing the number of  
> > lines of code. Stop promoting your toolkit because it has less lines  
> > of code and saying other toolkits are bloat and complex. A software is  
> > not necessary more complex by having more lines of code.
> > 
> > If your GUI only offers buttons, combobox and lists while a toolkit  
> > provides file chooser, color selector, web view, tabs, stacks, themes,  
> > etc, it is not bloat or complex but obviously has more lines of code.  
> > It just has more features.
> 
> I’m surprised you didn’t mention the obvious one: blank lines,  
> comments and other lines that aren’t actual code (like having { on its  
> own line instead of right after the parenthesis). And even that  
> doesn’t matter because it all depends on what the compiler does -  
> sometimes it’ll do a better job with seemingly unoptimal code, simply  
> because it understands it better.
> 
> * * *
> 
> SDL mailing list  
> SDL at [lists.libsdl.org](http://lists.libsdl.org)  
> [http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org](http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org)

---

<div class="post-metadata">

**Author:** ![actsl](https://discourse.libsdl.org/user_avatar/discourse.libsdl.org/actsl/32/2971_2.png) [@actsl](https://discourse.libsdl.org/u/actsl)\
**Post date:** [September 19, 2016, 4:54pm UTC](https://discourse.libsdl.org/t/list-all-gui-toolkits-for-sdl/21911/17 "2016-09-19T16:54:08Z")

</div>

Who knows programming, knows that comments and blank lines are all part of the code, there cannot be too many, for code to be readable. So even there, complexity matters. The number of lines of code is a measure of complexity of the code, considering that the code is well written. And is not obfuscated, in kiss\_sdl it isn’t. It is some measure, yet not the only measure of complexity. Yet it matters when the code has to be easily changeable, when the code is too long, it is not easily understandable, and also not easily changeable.

The details like placement of { depend on the coding style. In C code the good style is Kernighan & Ritchie coding style, or the Linux kernel coding style, which comes from this, i think many agree. This also somewhat determines the number of comments.

I think it can be argued endlessly whether the number of lines of code matters, or doesn’t matter at all. But i think the bottom line is, it still somewhat matters. And more generally, complexity matters.------------------------  
kiss\_sdl - Simple generic GUI widget toolkit for SDL2 [https://github.com/actsl/kiss\_sdl](https://github.com/actsl/kiss_sdl)

---

<div class="post-metadata">

**Author:** ![Travis\_McKinney](https://discourse.libsdl.org/user_avatar/discourse.libsdl.org/travis_mckinney/32/2658_2.png) [@Travis\_McKinney](https://discourse.libsdl.org/u/Travis_McKinney)\
**Post date:** [September 26, 2016, 9:54pm UTC](https://discourse.libsdl.org/t/list-all-gui-toolkits-for-sdl/21911/18 "2016-09-26T21:54:17Z")

</div>

I love the terminal fallback idea.  
What I’m looking for in a GUI is good subpixel rendering and anti aliasing.  
I want crisp pixel free lines, shapes and text at any resolution.  
Currently looking at adapting the AGG GUI.  
Do any of the above mentioned GUIs have this capability?

I liken the lines of code metric to movie ratings. Something to go on but  
doesn’t determine wether I will like the film.  
Also characters of code would be a better metric, especially for my coding  
style, which is obsessively columnar,  
I absolutely cannot abide by long lines in my own code. Multiple nested  
templates, long lists of function parameters are all broken onto multiple  
lines. A new line before and after every curly brace.  
The main advantage is that I can use a tiling window manager to easily  
compare 8+ files on one workspace!On 19 September 2016 at 09:54, actsl wrote:

> Who knows programming, knows that comments and blank lines are all part of  
> the code, there cannot be too many, for code to be readable. So even there,  
> complexity matters. The number of lines of code is a measure of complexity  
> of the code, considering that the code is well written. And is not  
> obfuscated, in kiss\_sdl it isn’t. It is some measure, yet not the only  
> measure of complexity. Yet it matters when the code has to be easily  
> changeable, when the code is too long, it is not easily understandable, and  
> also not easily changeable.
> 
> The details like placement of { depend on the coding style. In C code the  
> good style is Kernighan & Ritchie coding style, or the Linux kernel coding  
> style, which comes from this, i think many agree. This also somewhat  
> determines the number of comments.
> 
> I think it can be argued endlessly whether the number of lines of code  
> matters, or doesn’t matter at all. But i think the bottom line is, it still  
> somewhat matters. And more generally, complexity matters.
> 
> * * *
> 
> kiss\_sdl - Simple generic GUI widget toolkit for SDL2  
> [GitHub - actsl/kiss\_sdl: Simple generic GUI widget toolkit for SDL2](https://github.com/actsl/kiss_sdl)
> 
> * * *
> 
> SDL mailing list  
> SDL at [lists.libsdl.org](http://lists.libsdl.org)  
> [http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org](http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org)

---

<div class="post-metadata">

**Author:** ![actsl](https://discourse.libsdl.org/user_avatar/discourse.libsdl.org/actsl/32/2971_2.png) [@actsl](https://discourse.libsdl.org/u/actsl)\
**Post date:** [September 30, 2016, 1:29pm UTC](https://discourse.libsdl.org/t/list-all-gui-toolkits-for-sdl/21911/19 "2016-09-30T13:29:23Z")

</div>

Travis McKinney wrote:

> want crisp pixel free lines, shapes and text at any resolution.

If what SDL2 does is not good enough for you, then kiss\_sdl is not what you are looking for. Or you have to write the rendering yourself, which is not that difficult to do. Like MrTAToad used some other font library with kiss\_sdl successfully, knowingly with no problem. This is how to do it with kiss\_sdl, kiss\_sdl is a simple or one could say rudimentary, GUI toolkit.

If you want some kind of very advanced rendering, out of the box, there are many different kinds of, then you may tell to MrFlibble what you want, he is currently writing the neoGFX GUI library, and he may add what you want. This would be an advanced and much more complex GUI library, this may be what appeals to you.------------------------  
kiss\_sdl - Simple generic GUI widget toolkit for SDL2 [GitHub - actsl/kiss\_sdl: Simple generic GUI widget toolkit for SDL2](https://github.com/actsl/kiss_sdl)

---

<div class="post-metadata">

**Author:** ![Travis\_McKinney](https://discourse.libsdl.org/user_avatar/discourse.libsdl.org/travis_mckinney/32/2658_2.png) [@Travis\_McKinney](https://discourse.libsdl.org/u/Travis_McKinney)\
**Post date:** [September 30, 2016, 11:08pm UTC](https://discourse.libsdl.org/t/list-all-gui-toolkits-for-sdl/21911/20 "2016-09-30T23:08:50Z")

</div>

Good points. Should be straightforward enough to create raster GUI assets  
on the fly.On 30 September 2016 at 06:29, actsl wrote:

> Travis McKinney wrote:
> 
> want crisp pixel free lines, shapes and text at any resolution.
> 
> If what SDL2 does is not good enough for you, then kiss\_sdl is not what  
> you are looking for. Or you have to write the rendering yourself, which is  
> not that difficult to do. Like MrTAToad used some other font library with  
> kiss\_sdl successfully, knowingly with no problem. This is how to do it with  
> kiss\_sdl, kiss\_sdl is a simple or one could say rudimentary, GUI toolkit.
> 
> If you want some kind of very advanced rendering, out of the box, there  
> are many different kinds of, then you may tell to MrFlibble what you want,  
> he is currently writing the neoGFX GUI library, and he may add what you  
> want. This would be an advanced and much more complex GUI library, this may  
> be what appeals to you.
> 
> * * *
> 
> kiss\_sdl - Simple generic GUI widget toolkit for SDL2  
> [GitHub - actsl/kiss\_sdl: Simple generic GUI widget toolkit for SDL2](https://github.com/actsl/kiss_sdl)
> 
> * * *
> 
> SDL mailing list  
> SDL at [lists.libsdl.org](http://lists.libsdl.org)  
> [http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org](http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org)

[Next page](https://discourse.libsdl.org/t/list-all-gui-toolkits-for-sdl/21911.md?page=2)
