SDL Forum Index
SDL
Simple DirectMedia Layer Forums
Reply to topic
actsl


Joined: 09 Feb 2016
Posts: 83
Reply with quote
Two of the most active users saw it as the biggest problem that different widgets cannot have different fonts and images, thus i had to make that change. I'm convinced that the core should not be anyhow restrictive, anything that forms a core in any code. I hope it will be the last change, but it was inevitable. It was only a small change and it is also backward compatible. It was implemented by using magic numbers, that enable to check whether a resource (image or font) is assigned. Additional resources can now be loaded after the init function, and their structures can be assigned to the widget structures before creating (initializing) the widgets with the ..._new() functions. This enables a new creative dimension, like a slider can now be easily made out of scrollbar just by loading different images for arrows and vslider or hslider.

Different widgets can now have different fonts and images, in the new version 1.2.0 https://github.com/actsl/kiss_sdl .

_________________
kiss_sdl - Simple generic GUI widget toolkit for SDL2 https://github.com/actsl/kiss_sdl
View user's profileSend private message
actsl


Joined: 09 Feb 2016
Posts: 83
Reply with quote
Fixed release 1.2.0, adding kiss_combo.png, in the new version 1.2.2 https://github.com/actsl/kiss_sdl .

_________________
kiss_sdl - Simple generic GUI widget toolkit for SDL2 https://github.com/actsl/kiss_sdl
View user's profileSend private message
actsl


Joined: 09 Feb 2016
Posts: 83
Reply with quote
A user posted a pull request for high DPI displays, but i cannot test it, as i have no high DPI monitor.

_________________
kiss_sdl - Simple generic GUI widget toolkit for SDL2 https://github.com/actsl/kiss_sdl
View user's profileSend private message
MrTAToad


Joined: 13 Feb 2014
Posts: 205
Location: Chichester, England
Reply with quote
A quick video of my game using KISS. Its a bit old now,as I'm using it more in the main game : https://www.youtube.com/watch?v=ZkNVwCtkN7M
View user's profileSend private message
Re: kiss_sdl - Simple universal GUI widget toolkit for SDL
actsl


Joined: 09 Feb 2016
Posts: 83
Reply with quote
markand wrote:
Regarding the look and feel, well... I think it needs some
reconsideration Smile.

You may not believe how easy it is to change the look and feel. I tried to keep the default version simple, so it were easy for beginners to use, change, and play with it. Thus by default there is only a rudimentary graphics. But if you need something more advanced, you may fork it in GitHub and make a more advanced version of it. Very possible to do, and i'm sure there would be people who want to use it.

kiss_sdl now appears first when searching GitHub for C widget toolkit https://github.com/search?l=C&q=widget+toolkit&type=Repositories&utf8=%E2%9C%93 . Before tcl/tk surprisingly, which is an old and most widely used widget toolkit. I still think it's the best, though much more complex than mine and it is not for C, but tcl, the whole tcl interpreted language has to be embedded for using it. But i think it's an alternative for these who want a more advanced widget toolkit. imgui is more popular, it is historic, the first immediate GUI, who will not give the credit, though it is a lot more complex than mine and not really very easy to use.

And thanks a lot to MrTAToad for nice video.

_________________
kiss_sdl - Simple generic GUI widget toolkit for SDL2 https://github.com/actsl/kiss_sdl
View user's profileSend private message
actsl


Joined: 09 Feb 2016
Posts: 83
Reply with quote
There is one feedback that i may need, do the border and edge also have to be different for different widgets or is it OK that they are the same for all widgets, and everything remains as it is? By now i don't change anything.

I found it looks like that tcl/tk is hosted in SourceForge, so this is likely some mirror of it there, but it was the first there.

_________________
kiss_sdl - Simple generic GUI widget toolkit for SDL2 https://github.com/actsl/kiss_sdl
View user's profileSend private message
actsl


Joined: 09 Feb 2016
Posts: 83
Reply with quote
There was an issue posted in GitHub https://github.com/actsl/kiss_sdl/issues/11 about building kiss_sdl for Android. First it was written there
Quote:
Good and simple little GUI kit!
I'm guessing it's not compatible with mobile?
Anyone got it working?
and then
Quote:
Disregard works fine!
Android didn't handle the fprintf stderr.
It was a missing texture.
Thanks for the GUI, it's pretty cool!

So i wrote this to let you know that it can be built for Android. I have the Android Studio installed and have an Android emulator, so i can test any builds for Android.

_________________
kiss_sdl - Simple generic GUI widget toolkit for SDL2 https://github.com/actsl/kiss_sdl
View user's profileSend private message
actsl


Joined: 09 Feb 2016
Posts: 83
Reply with quote
A bit about theory. Some may think writing code is just about implementation, but there has to be theory, otherwise it becomes clumsy, unnecessarily too complex, inflexible, inefficient and often unreliable.

The GUI toolkits are mostly complex, and it is a problem how to make them simpler. Immediate GUI, using the widget functions as if conditions in the event processing loop, makes it simpler, and more easily changeable. And this is implemented in kiss_sdl, but implementing all the possible functionality for widgets still makes widget toolkits complex. This is because what software is, different from things like electronics for example, it has to be very flexible, thus the number of possibilities that may have to be implemented, is great. Electronics has to be flexible too, but the difference is in degree.

Thus what the solution should be to still make it simple. Implementing all possible functionality is evidently not an option. Also implementing all possible functionality often makes it more difficult to use a library or toolkit, because of its complexity, and because it is mostly impossible to foresee all possible functionality, with that solution adding a new functionality requires overcoming all the complexity there. Just providing examples is another extreme, but not good either, because examples are often too particular, and it is mostly impossible to write one example that is generic enough. So there has to be something in between. I didn't find a term for that, so i had to coin a term. I call it principal code.

Principal code is implementing the core functionality and most important functionality, so that it can be changed to implement any specific functionality, and doing that is easy. When there is a principal code, then the developers don't have to start from nothing every time, and write the same basic things again and again. Yet it often implements the most that is necessary, and only with a few small changes it is possible to make what one needs. Also most of the simple things can be written using a principal code only, without any changes. This is the way to provide flexibility and generality, while still maintaining simplicity.

Principal code is a general term for any kind of code. What concerns GUI, then it's called principal GUI. Because GUI used to be the most complex of the libraries, then the first to implement that principle is GUI.

_________________
kiss_sdl - Simple generic GUI widget toolkit for SDL2 https://github.com/actsl/kiss_sdl
View user's profileSend private message
actsl


Joined: 09 Feb 2016
Posts: 83
Reply with quote
I saw that one thought about using kiss_sdl in the game Hope http://hope.glusoft.com and then said:

Quote:
kiss_sdl : Very lightweight library where the rendering is performed by SDL and SDL_image. So I need to modify the library to use SDL_gpu, quite a bit of work. Developed by one person, so it could be buggy.
...
After all these research I decided to simply do a small command line tool myself something very small, where I can warp, get an object and change a variable.

All that said without even once trying it. The last change was made more than 6 months ago now, and no one has found any bugs since then. And by GitHub statistics i estimate that it has been downloaded at least 10 times in a day.

_________________
kiss_sdl - Simple generic GUI widget toolkit for SDL2 https://github.com/actsl/kiss_sdl
View user's profileSend private message
kiss_sdl - Simple universal GUI widget toolkit for SDL
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
All times are GMT  
Page 6 of 6  

  
  
 Reply to topic