hikogui
uni-algo
Our great sponsors
hikogui | uni-algo | |
---|---|---|
15 | 4 | |
729 | 237 | |
2.3% | 2.1% | |
8.6 | 8.9 | |
about 8 hours ago | 3 months ago | |
C++ | C++ | |
Boost Software License 1.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
hikogui
- uni-algo v1.0.0: Modern Unicode Library
-
Semaphore and Mutex favoring awake threads
See my own implementation: https://github.com/hikogui/hikogui/blob/main/src/hikogui/concurrency/unfair_mutex.hpp
-
What is the maximum number of texture2D's I can have in a single texture array uniform binding?
Look at all the pipeline_SDF source files at https://github.com/hikogui/hikogui/tree/main/src/hikogui/GFX
-
HikoGUI v0.7.0, A fast desktop application GUI library in C++20. (BSL license)
Here is the fragment shader: https://github.com/hikogui/hikogui/blob/main/shaders/pipeline_SDF.frag
Talking about styles; the color type now can both encode an RGBA (half float) value or a semantic color. A semantic color is a color that is used in a specific context and is specified in a theme. Just before rendering the semantic colors will be resolved to an RGBA value. This makes working with colors easier because there is only one type to worry about. I will be using the same technique for encoding semantic-text-style in a text-style in the future.
-
New Unicode library
Here is the tool to create de-duplicated table and index table from the unicode database: https://github.com/hikogui/hikogui/blob/main/tools/generate_unicode_data.py
-
Is there any MIT/BSD licensed UI framework for C++ ?
I haven't actually used either one, but there's HikoGUI (previously known as TTauri) under the Boost license and RmlUI under MIT. Not sure if they're very OS-integrated in the way you want or not.
Thank you for mentioning HikoGUI.
-
Creating a logging library
You may also want to look at: https://github.com/hikogui/hikogui/blob/main/src/hikogui/log.hpp
uni-algo
-
New Unicode library
GitHub link: https://github.com/uni-algo/uni-algo
Why call your files modules? "Modular programming" or "Modular architecture" is pretty standard term in programming I don't think there are a good synonym for "module" word so I plan to use "Modules" and "C++20 Modules" to avoid ambiguity. You have one cpp file in the project. Any reason for that? Including Unicode data files that may be pretty big into header files hurts compilation speed. C++20 Modules will help with that and I plan to support it. I'd also recommend supporting CMake I will support CMake it just I didn't need it in my development stage. Overall, looks very nice. Thank you. I made a post on GitHub with some of my plans: https://github.com/uni-algo/uni-algo/issues/3
What are some alternatives?
RmlUi - RmlUi - The HTML/CSS User Interface library evolved
lvgl - Embedded graphics library to create beautiful UIs for any MCU, MPU and display type.
GacUI - GPU Accelerated C++ User Interface, with WYSIWYG developing tools, XML supports, built-in data binding and MVVM features.
glog - C++ implementation of the Google logging module
Elements C++ GUI library - Elements C++ GUI library
imgui - Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies
ares - ares is a cross-platform, open source, multi-system emulator, focusing on accuracy and preservation.
ultimatepp - U++ is a C++ cross-platform rapid application development framework focused on programmer's productivity. It includes a set of libraries (GUI, SQL, Network etc.), and integrated development environment (TheIDE).
nappgui_src - SDK for building cross-platform desktop apps in ANSI-C
sg16-meetings - SG16 meeting plans and summaries
nanogui - Minimalistic C++/Python GUI library for OpenGL, GLES2/3, Metal, and WebAssembly/WebGL
quick-lint-js - quick-lint-js finds bugs in JavaScript programs