The library is completely based on SDL, why don’t use the same naming
convention ? Example Kiss_WindowDraw instead of kiss_window_draw
Because i don’t like the CaMel naming convention, and i think that it makes names difficult to read. If it would be more integrated to SDL2, i may change the naming convention.
It would be nice to have a real build system (like CMake).
I in general don’t like anything that needs and creates many rubbish files. Also i don’t like CMake that much, why not to have a simpler automake, with just some macros in the makefile, for appropriate paths, like a simple macro preprocessor. In that way, only makefile would be necessary, just like in the usual compiling with makefile only. But with that one may write in the makefile some general names of the libraries, etc, so makefile doesn’t have to be edited when installing new versions of the libraries or such. But as long as CMake is almost the only way to do that, at least what concerns Windows, then of course when one wants to use an automake, then CMake is often the only option
There was an issue created in the kiss_sdl project https://github.com/actsl/kiss_sdl/issues/1 , which was quickly solved and closed. It was caused by a mistake of the user, that he did not add a definition, to CMakeLists.txt , like add_definitions(-DRESDIR="…/…/src/") , that adds a macro definition to the compiler’s command line, that provides a relative path from the executable, to the resources (fonts and images, the path can also be absolute). He tried to compile the examples of my widget toolkit, in Macintosh. It built well, but running it resulted in a segmentation fault. It appeared that the only reason was that he put the executable into a different directory, but did not add the path to resources, as explained above, and the executable didn’t know where to load the resources. After he did that, it worked well.
So if you want an example of how to build this widget toolkit with CMake, then in the discussion of that issue there is provided the initial test project https://github.com/actsl/kiss_sdl/files/265266/Test_KISS.zip that only needs adding a definition for path of the resources in CMakeLists.txt , as said above, and it works. I also provided a test project there, but it was a simplistic case with the executable in the same directory as the source, just to test whether the issue was only in the missing path to resources, and it appeared to be.
Regarding the look and feel, well… I think it needs some
I wrote about the general considerations of the look and feel, before in this thread. But one should consider that i did not try to make it into any finalized product, with a polished look and feel. This also would restrict one to use only a certain look and feel, which i think at least what concerns games, is not a good thing to do at all. And a possible looks and feels used in games, and why not also in applications, are very different. Therefore i provided only a simple initial, very generic look and feel, that can be changed into the look and feel that the user desires.
It is simple to change the look and feel. The easiest way is to replace the images for the elements of the widgets, there are only a few of them, and the fonts. It is also easy to change the colors of the widgets and also draw additional things on the widgets, like a graphical background, by overwriting the base drawing functions, the code of the widget toolkit doesn’t have to be changed at all for that. The code of the widget toolkit is made though easily changeable too, with everything abstracted away, so using different font libraries, image libraries, or even a different graphics library, may not be difficult at all.
Someone made a fork of it too, it looks like that he is going to use it as a widget toolkit on some 3D surface.
Now i think that i made all the changes necessary, and the code of the widget toolkit will not change any more. The version 0.10.4 of kiss_sdl is now in GitHub https://github.com/actsl/kiss_sdl .
I hope you have fun using it.
kiss_sdl - Simple universal GUI widget toolkit for SDL2 https://github.com/actsl/kiss_sdl