Include audio support:
- load audio files
- audio playback
- start
- pause
- stop
- control volume
- decide which file formats to support
Supplements:
- testing
- documentation with examples
Including:
Framebuffer manipulation
- manipulate a framebuffer with a specified size and window name with these functions:
put_pixel- place a pixel on given coordinatesput_rect- place a rectangle on given coordinates with a specified width and heightput_char- place a character from a defined font on the specified coordinates with a given scaleput_text- place a string of characters on given coordinates with some letter and line spacing, allow multi-line strings, allow foreground and background colorsclear_framebuffer- fill the entire framebuffer with a given color
Engine lifecycle management
engine_init- initialize the engine and specify the:- window dimensions
- window name
- event handling function
- framebuffer update function
engine_start- starts the engine lifecycleengine_stop- kills the engine and clean up
Packaging
- have a CI/CD pipeline
Supplements:
- testing
- documentation with examples
Implement interface layouts such as row and column similar to Jetpack Compose:
- row layout
- column layout
Supplements:
- testing
- documentation with examples
Add clickable elements such as buttons, sliders, selections, input fields, etc.
Use Gitea Wiki for hosting the documentation