Home - Horizon-NTH/HorizonGUI GitHub Wiki
Introduction
HorizonGUI is a free, open-source, multi-platform GUI library made in OpenGL. It provides a simple and versatile API for creating windows, widgets, and managing binds.
Note: While the library is primarily maintained under Windows, it is also compatible with Linux and other platforms.
Documentation
C++ library
-
If you haven't already installed the library, please refer to the installation guide in the main repository.
-
Getting Started: This guide is perfect for users new to HGUI and takes you through creating a small but complete program.
-
Explore the Wiki for comprehensive information about using the library, its features, and advanced topics.
Python Binding
While the overall structure of the library is maintained, differences between Python and C++, combined with the goal of
making the Python version as user-friendly as possible, have led to some differences in functionality. Not all
functionalities are identical or even present in the Python version. Presently, the Python documentation is primarily
accessible through Python's built-in help
function. For further explanations, you can refer to the documentation of
the C++ library.
Examples
For practical demonstrations of projects utilizing the library, explore the following:
- FractalExplorer (Implemented using the C++ library)
- ShapeDrawer (Implemented using the C++ library)
- ChessMate (Implemented using the Python binding)
Dependencies
-
OpenGL: HorizonGUI utilizes OpenGL for all graphics within your applications.
-
GLFW: GLFW is used to create windows, contexts, and handle user input efficiently.
-
Glad: Glad is employed to load OpenGL functions seamlessly.
-
Freetype: For text rendering and font loading, Freetype is used.
-
STB: STB library is used for loading and saving images with ease.
-
GLM: GLM serves as the library for various mathematical operations.
-
OpenAL-Soft is used to play sound.
-
Libsndfile is used to load audio file.
-
Pybind11 is used to create Python binding.
License
HorizonGUI is licensed under the MIT license.