libgui-maschell/README.md
2019-05-14 22:26:53 +02:00

59 lines
2.0 KiB
Markdown

# libgui
[![Build Status](https://travis-ci.org/Maschell/libgui.svg?branch=master)](https://travis-ci.org/Maschell/libgui)
## Usage
Following steps are required for initialization:
```C
InitOSFunctionPointers(); // Load OS functions
InitPadScoreFunctionPointers();
InitVPadFunctionPointers(); // Input functions for GUI control
InitFSFunctionPointers(); // To load file from the SD Card
InitGX2FunctionPointers(); // For rendering
InitAXFunctionPointers(); // For sound
mount_sd_fat("sd"); // Mounting the SD Card
memoryInitialize(); // Initialize memory management
//DO GUI STUFF HERE!
memoryRelease();
unmount_sd_fat("sd");
```
Link the application with:
```Makefile
-lgui -lutils -ldynamiclibs -lfreetype -lgd -lpng -ljpeg -lz -lmad -lvorbisidec -logg -lbz2
```
You also need to add the include path to your Makefile. Example:
```Makefile
export INCLUDE := [...] -I$(PORTLIBS)/include/freetype2 \
-I$(PORTLIBS)/include/libgui \
-I$(PORTLIBS)/include
```
TODO: provide more information
## Dependencies
To be able to use libgui, you need to install the following dependencies:
- Application needs to be loaded from the [homebrew_launcher](https://github.com/dimok789/homebrew_launcher)
- [libutils](https://github.com/Maschell/libutils) for common functions.
- [dynamic_libs](https://github.com/Maschell/dynamic_libs/tree/lib) for access to the functions.
- Install the required portlibs via `(dkp-)pacman -Syu ppc-zlib ppc-libmad ppc-libogg ppc-libgd ppc-freetype ppc-libjpeg-turbo ppc-libpng ppc-libvorbisidec ppc-glm ppc-bzip2`
# Use the prebuilt files from a Docker image.
The image `wiiulegacy/libgui` on [Docker Hub](https://hub.docker.com/r/wiiulegacy/libgui/) provides a prebuilt library in the `/artifacts` directory. Copy it into your DevkitPPC portlibs folder.
Example:
```
COPY --from=wiiulegacy/libgui:0.1 /artifacts $DEVKITPRO/portlibs
```
# Credits
- Orignally based on https://github.com/dborth/libwiigui
- Wii U port / modification / new functions / sound / much more by dimok.
- Minor changes by Maschell