hikogui
uni-algo
Our great sponsors
hikogui | uni-algo | |
---|---|---|
15 | 4 | |
739 | 244 | |
3.0% | 4.1% | |
8.6 | 8.9 | |
3 days ago | 4 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
- Compile-time type registration
-
Semaphore and Mutex favoring awake threads
See my own implementation: https://github.com/hikogui/hikogui/blob/main/src/hikogui/concurrency/unfair_mutex.hpp
-
Issues with reporting bugs with msvc static analyser.
Yes, it is an open source project for a cross platform retained GUI library with a modern c++20 API. https://github.com/hikogui/hikogui
-
Visual Studio 2022 version 17.5 Preview 2
With some growing pains on configuring CMake, I was able to converted a single header file in my project github.com/hikogui/hikogui/ to a module interface file, but it hit an ICE immediately. Of course I reported it, including a crash dump, and a project-branch.
-
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
-
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++ ?
Thank you for mentioning HikoGUI.
-
What's your favorite way to crash your application?
On windows, you can even use just-in-time-debugging (enabled with registry key), which brings up a dialogue when the application crashes to select a debugger to attach to the "crashed" application. But for this to work correctly you need to do some fanzy things. See: https://github.com/hikogui/hikogui/blob/main/src/hikogui/debugger.hpp and https://github.com/hikogui/hikogui/blob/main/src/hikogui/debugger_win32.cpp
uni-algo
- uni-algo: Unicode Algorithms Implementation for C/C++
-
uni-algo v0.7.0: constexpr Unicode library and some talk about C++ safety
Safe layer is just bounds checks that work in all cases that I need, before that I was coping with -D_GLIBCXX_DEBUG (doesn't have safe iterators for std::string and std::string_view and that I need the most) and MSVC debug iterators (better but slow as hell in debug). You can read more about the implementation here: https://github.com/uni-algo/uni-algo/blob/main/doc/SAFE_LAYER.md Nothing interesting it's possible to implement all of this even in C++98 but no one cared back then and it's a shame that it's not in C++ standard so we cannot choose to use safe or unsafe std::string for example and must rely on implementations in compilers that are simply incomplete in many cases or implement it from scratch.
-
New Unicode library
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
quick-lint-js - quick-lint-js finds bugs in JavaScript programs
lvgl - Embedded graphics library to create beautiful UIs for any MCU, MPU and display type.
simdutf - Unicode routines (UTF8, UTF16, UTF32) and Base64: billions of characters per second using SSE2, AVX2, NEON, AVX-512, RISC-V Vector Extension. Part of Node.js and Bun.
GacUI - GPU Accelerated C++ User Interface, with WYSIWYG developing tools, XML supports, built-in data binding and MVVM features.
utf8 - UTF-8 support for Nix
glog - C++ implementation of the Google logging module
tiny-utf8 - Unicode (UTF-8) capable std::string
nappgui_src - SDK for building cross-platform desktop apps in ANSI-C
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.