xmario/README.md

30 lines
1.5 KiB
Markdown

## xSDL
```yaml
package: xSDL
language: c++
version: 0.1.0
author: xdrm-brackets
```
xSDL is a simple 2D wrapper around the SDL2 to make your life easier.
### Documentation
The API aims to be straightforward as possible and tries to take advantage of patterns and principles to achieve its goal.
> xSDL can be compiled as a dynamic library (_e.g. lib.so_). The include header is located in _include/xSDL.h_. It can also be compiled directly within your application.
The class `xApplication` is a singleton representing your application, its window, renderer, etc. An `xApplication` features a `xController` that manages user input.
The interface `xElement` represents any graphical feature to be drawn on the screen. Any number of `xElement` can be pushed to or pulled from the application at any time in order to show them or not.
The class `xSprite` represents a sprite that can is a rectangle that can draw either as a single color, an image, or a copy of another sprite. It can be moved over time. Also, it allows you to set a custom clip if this is an image sprite.
The class `xSpriteAnimation` derives from an image sprite, which clip can change over time. These clips are called _frames_ and have to be set beforehand, when ready you can start or stop the animation with a specified delay between frames. Every `xSpriteAnimation` is scheduled on the same dedicated animation thread.
The concurrency model is led simple :
- the main loop schedules rendering and user input
- the animation loop schedules animation frame shifts