ViewDesign: A C++ GUI framework
(a personal project of mine)
ViewDesign: A C++ GUI framework
ViewDesign is a general-purpose, object-oriented, highly modular, minimal and flexible cross-platform C++ GUI framework with multi-backend support. It ships with an easily extensible component library for explicit and intuitive UI building, featuring compile-time layout compatibility check via C++ concepts, which is particularly helpful for designing complex UI components with minimal runtime overhead.
# Highlight
(https://github.com/hchenqi/ViewDesign#highlight)
(core library of ViewDesign)
a single static library in native C++, built with CMake (using standard C++23)
cross-platform, with multi-backend support
easy to setup and integrate, no boilerplate, no special tooling
minimal, clear and efficient logic for component management, layout calculation and rendering
intrinsically DPI-aware
fit for both 'immediate-mode' and 'retained-mode' GUI programming, supporting hot reload with ease (see example HotReload)
(standard component library of ViewDesign, bundled together with the core library)
object-oriented, modular and extensible
conceptual separation of components as control, frame and layout
explicit declaration of component layout with size traits
compile-time check of layout compatibility between components
Examples, build instructions and explanation of concepts/algorithms can be found in the repository. Suggestions or feedbacks are very welcome!
https://redd.it/1ts3vgs
@r_cpp
Post #25323
14