unigi (Universal Graphics & Input) is a collection of headers, that implement a cross-platform API for drawing to the screen (framebuffer or window), and taking inputs (keyboard, mouse, joypad).
This is achieved through platforms (See `src/platform`), which act as the translation layer for different targets. The idea is to minimize the amount of work it takes to port graphical applications.
The pixel format and screen coordinates are standardized, however, the HID inputs are not. It is best to make button layouts for each platform.
If the target is a Big Endian CPU, one must define `-D unigi_flag_endian_big`.
### No stdint.h
If no stdint.h is available, one must define `-D unigi_flag_nostdint` and also one of `-D unigi_flag_alu_*bit` (`*` = 8, 16, 32, 64), depending on how wide the ALU of the target CPU is.
### Fixed point numbers
If fixed point is wished instead of float, one can define `-D unigi_flag_fixedpoint`. This uses the external fptc-lib headers.