www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Two really good looking GUI libraries that can work for D

reply aberba <karabutaworld gmail.com> writes:
This two GUI libs written in C I just found are really good 
looking and looks production ready.

Embedded systems:
LittlevGL is a free and open-source graphics library providing 
everything you need to create embedded GUI with easy-to-use 
graphical elements, beautiful visual effects and low memory 
footprint.

Powerful building blocks: buttons, charts, lists, sliders, images 
etc
Advanced graphics with animations, anti-aliasing, opacity, smooth 
scrolling
Various input devices: touch pad, mouse, keyboard, encoder etc
Multi language support with UTF-8 decoding
Fully customizable graphical elements

https://littlevgl.com/





General Usage:
Nuklear is a minimal state immediate mode graphical user 
interface toolkit written in ANSI C and licensed under public 
domain. It was designed as a simple embeddable user interface for 
application and does not have any dependencies, a default render 
backend or OS window and input handling but instead provides a 
very modular library approach by using simple input state for 
input and draw commands describing primitive shapes as output. So 
instead of providing a layered library that tries to abstract 
over a number of platform and render backends it only focuses on 
the actual UI.

Features
Immediate mode graphical user interface toolkit
Single header library
Written in C89 (ANSI C)
Small codebase (~18kLOC)
Focus on portability, efficiency and simplicity
No dependencies (not even the standard library if not wanted)
Fully skinnable and customizable
Low memory footprint with total memory control if needed or wanted
UTF-8 support
No global or hidden state
Customizable library modules (you can compile and use only what 
you need)
Optional font baker and vertex buffer output

https://github.com/vurtun/nuklear


They are both good looking and modern in their respective 
domains. Both written in C so they may each need a D binding for 
convenient use.
May 11 2018
next sibling parent reply Rubn <where is.this> writes:
On Friday, 11 May 2018 at 21:43:24 UTC, aberba wrote:
 General Usage:
 Nuklear is a minimal state immediate mode graphical user 
 interface toolkit written in ANSI C and licensed under public 
 domain. It was designed as a simple embeddable user interface 
 for application and does not have any dependencies, a default 
 render backend or OS window and input handling but instead 
 provides a very modular library approach by using simple input 
 state for input and draw commands describing primitive shapes 
 as output. So instead of providing a layered library that tries 
 to abstract over a number of platform and render backends it 
 only focuses on the actual UI.

 Features
 Immediate mode graphical user interface toolkit
 Single header library
 Written in C89 (ANSI C)
 Small codebase (~18kLOC)
 Focus on portability, efficiency and simplicity
 No dependencies (not even the standard library if not wanted)
 Fully skinnable and customizable
 Low memory footprint with total memory control if needed or 
 wanted
 UTF-8 support
 No global or hidden state
 Customizable library modules (you can compile and use only what 
 you need)
 Optional font baker and vertex buffer output

 https://github.com/vurtun/nuklear
If you are going to mention that then you might as well mention the (imo better) alternative ImGui. https://github.com/ocornut/imgui https://github.com/Extrawurst/cimgui
May 11 2018
parent reply aberba <karabutaworld gmail.com> writes:
On Friday, 11 May 2018 at 23:13:06 UTC, Rubn wrote:
 On Friday, 11 May 2018 at 21:43:24 UTC, aberba wrote:
 [...]
If you are going to mention that then you might as well mention the (imo better) alternative ImGui. https://github.com/ocornut/imgui https://github.com/Extrawurst/cimgui
Compare imgui with Nuklear (https://github.com/vurtun/nuklear) and see the difference in the features and polish.
May 12 2018
next sibling parent "Nick Sabalausky (Abscissa)" <SeeWebsiteToContactMe semitwist.com> writes:
On 05/11/2018 05:43 PM, aberba wrote:
 https://littlevgl.com/
On 05/12/2018 03:03 PM, aberba wrote:
 On Friday, 11 May 2018 at 23:13:06 UTC, Rubn wrote:
 https://github.com/ocornut/imgui
 https://github.com/Extrawurst/cimgui
Compare imgui with Nuklear (https://github.com/vurtun/nuklear) and see the difference in the features and polish.
Y'know, even though I'm normally very "native UI or bust!" (outside of videogames anyway), I have to say, for non-native, LittlevGL and Nuklear are *REALLY* nice looking. It's also very, very cool that they seem to be designed with embedded in mind. Also very cool that imgui appears to have been used for that cool Wonder Boy 3 remake. I'll definitely have to remember these if I need to do an embedded or in-game-engine UI.
May 12 2018
prev sibling parent Rubn <where is.this> writes:
On Saturday, 12 May 2018 at 19:03:50 UTC, aberba wrote:
 On Friday, 11 May 2018 at 23:13:06 UTC, Rubn wrote:
 On Friday, 11 May 2018 at 21:43:24 UTC, aberba wrote:
 [...]
If you are going to mention that then you might as well mention the (imo better) alternative ImGui. https://github.com/ocornut/imgui https://github.com/Extrawurst/cimgui
Compare imgui with Nuklear (https://github.com/vurtun/nuklear) and see the difference in the features and polish.
Yes ImGui is more polished and is incredibly easy to extend, creating UI you'll only use once takes no time at all and helps incredibly with debugging those annoying bugs. Blizzard's also contributed to the project so the author is able to dedicate even more time to the project. https://github.com/ocornut/imgui/issues/1607
May 12 2018
prev sibling parent reply Basile B. <b2.temp gmx.com> writes:
On Friday, 11 May 2018 at 21:43:24 UTC, aberba wrote:
 This two GUI libs written in C I just found are really good 
 looking and looks production ready.

 Embedded systems:
 LittlevGL is a free and open-source graphics library providing 
 everything you need to create embedded GUI with easy-to-use 
 graphical elements, beautiful visual effects and low memory 
 footprint.

 Powerful building blocks: buttons, charts, lists, sliders, 
 images etc
 Advanced graphics with animations, anti-aliasing, opacity, 
 smooth scrolling
 Various input devices: touch pad, mouse, keyboard, encoder etc
 Multi language support with UTF-8 decoding
 Fully customizable graphical elements

 https://littlevgl.com/
I didn't know this one and it looks nice, maybe not too adapted to big desktop apps. Based on the screenshots this looks more designed for skeuomorphic UIs or small UIs, e.g mobile dev.
May 12 2018
parent aberba <karabutaworld gmail.com> writes:
On Saturday, 12 May 2018 at 19:16:32 UTC, Basile B. wrote:
 On Friday, 11 May 2018 at 21:43:24 UTC, aberba wrote:
 [...]
I didn't know this one and it looks nice, maybe not too adapted to big desktop apps. Based on the screenshots this looks more designed for skeuomorphic UIs or small UIs, e.g mobile dev.
Its actually for embedded systems.
May 15 2018