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:

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.