Skip to main content

Python binding of HorizonGUI a graphical interface in c++ with OpenGl

Project description

HorizonGUI

Release Language Licence

HorizonGUI Logo

Introduction

HorizonGUI is a Graphic User Interface library made in C++ with OpenGL. There are also Python bindings available.

Installation Instructions

C++ library

You can also simply install a pre-built version here.

Get Source Code

You first need to clone the repository. Make sure to use git and don't forget to include --recurse-submodules when cloning.

git clone https://github.com/Horizon-NTH/HorizonGUI.git --recurse-submodules

You will now able to choose between script or manual installation

Script Installation

Use the install.sh script to compile the library. You can also erase build files by adding -e / --erase.

./install.sh -e

Manual Installation

Create Build Environment

Ensure you have CMake installed. Generate the build environment using CMake:

cd HorizonGUI
mkdir build && cd build
cmake ..
Build
CMake

Build directly using CMake:

cmake --build .

This command will create all the lib files you need in HorizonGUI/lib.

Microsoft Visual Studio

Alternatively, you can use Microsoft Visual Studio to launch the project and build it. Open the horizongui.sln file with Microsoft Visual Studio.

Python binding

To install the Python bindings, you can install it from PyPi using this command: Don't forget to install the scikit-build-core package.

pip install scikit-build-core hgui

Or you can build it from source using those commands:

git clone https://github.com/Horizon-NTH/HorizonGUI.git --recurse-submodules
cd HorizonGUI
pip install ./python

Note: Both methods can take some time due to the compilation of the underlying C++ library.

Once the installation is complete, you can import the module into your Python script using the following statement:

import hgui

Documentation

Please refer to the wiki.

Dependencies

  • OpenGL is used for all graphics in the application.
  • GLFW is used to create windows, contexts, and handle user input.
  • Glad is used to load OpenGL functions.
  • Freetype is used to load fonts and render text.
  • STB is used to load and save images.
  • GLM is used for 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hgui-4.0.2.tar.gz (12.6 MB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page