Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Vladar4/sdl2_nim
Wrapper of the SDL 2 library for the Nim language.
https://github.com/Vladar4/sdl2_nim
nim sdl2 wrapper
Last synced: 3 months ago
JSON representation
Wrapper of the SDL 2 library for the Nim language.
- Host: GitHub
- URL: https://github.com/Vladar4/sdl2_nim
- Owner: Vladar4
- License: other
- Created: 2013-08-24T16:53:00.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2022-05-07T19:41:43.000Z (over 2 years ago)
- Last Synced: 2024-05-12T10:35:34.012Z (6 months ago)
- Topics: nim, sdl2, wrapper
- Language: Nim
- Homepage:
- Size: 8.33 MB
- Stars: 145
- Watchers: 10
- Forks: 24
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG-2.0.10.md
Awesome Lists containing this project
- awesome-electron-alternatives - SDL2
- awesome-nim - SDL2 - A wrapper for SDL 2. (User Interface / GUI)
README
sdl2_nim 2.0.14.2
=================***
ATTENTION!
==========
> Due to a name conflict with the `nim-lang/sdl2` wrapper, sdl2_nim will transition from `sdl2` to `sdl2_nim` directory. See [issue #35](https://github.com/Vladar4/sdl2_nim/issues/35) and [Nim issue #18476](https://github.com/nim-lang/Nim/issues/18476).
>
> To update your projects you'll just need to replace `import sdl2/...` statements with `import sdl2_nim/...`.
>
> To use legacy `import sdl2/...` statements, install `legacy` branch (`nimble install sdl2_nim@#legacy`).***
sdl2_nim is a wrapper of the SDL 2 library for the Nim language.
* sdl2_nim docs online: https://vladar4.github.io/sdl2_nim/
* SDL homepage: http://www.libsdl.org/
* Nim homepage: http://nim-lang.org/
* [Other useful links](LINKS.md)You need to have SDL 2 dynamic libraries installed on your system.
Includes:
---------
* SDL 2.0.14
* SDL_gfx 1.0.1 (fully 1.0.4 compatible)
* SDL_gpu 0.12.0
* SDL_image 2.0.5
* SDL_mixer 2.0.4
* SDL_net 2.0.1
* SDL_ttf 2.0.15
* SMPEG 2.0.0What is not implemented here:
-------------------------------* OpenGL headers (use [opengl](https://github.com/nim-lang/opengl) lib instead)
Versioning scheme:
------------------
```
a.b.c.da.b.c - underlying SDL2 version
d - sdl2_nim revision
```----------------------------------------
FAQ:
====
**Q**: Why does this exist if there's an official [nim-lang/sdl2](https://github.com/nim-lang/sdl2) repository?**A**: This wrapper actually was created before the official (Aug. 2013 vs. Mar. 2014). Maybe I wouldn't have made it if there already was a wrapper at the time.
**Q**: How is it different from the official wrapper?
**A**: Obviously, it can't be *much* different, as they both are wrappers for the same library, but what comes to mind:
* This one is fully documented, nim-style, with the generated documentation as a bonus;
* I personally created a series of highly commented examples for almost every aspect of the library and its "satelites" (gfx, ttf, etc.);
* Design decisions that I thought made more sense than official one's (like Event type through {.union.} vs. evConv template with casting; naming sceme closer to the original sdl2, etc.);
* Source files' structure is closely following the original library.**Q**: Why should I use this one vs. the official?
**A**: No reason. It's a question of preference.
**Q**: Where could I find smpeg2.dll?
**A**: It is distributed within SDL2_mixer 2.0.1 and older builds.
CHANGELOG:
==========
**v2.0.14.3**
* sdl_gpu update. (kudos to [Avahe Kellenberger](https://github.com/avahe-kellenberger))**v2.0.14.2**
* `sdl2nim` is renamed to `sdl2_nim`. See [Nim issue #18476](https://github.com/nim-lang/Nim/issues/18476).**v2.0.14.1**
* transition version from `sdl2` to `sdl2nim`. See [issue #35](https://github.com/Vladar4/sdl2_nim/issues/35).**v2.0.14.0**
* updated to SDL-2.0.14 (see [changelog](https://github.com/Vladar4/sdl2_nim/blob/master/CHANGELOG-2.0.14.md))
* updated documentation**v2.0.12.1**
* fixed rect templates
* fixed nimble warnings**v2.0.12.0**
* updated to SDL-2.0.12 (see [changelog](https://github.com/Vladar4/sdl2_nim/blob/master/CHANGELOG-2.0.12.md))
* updated documentation**v2.0.10.0**
* updated to SDL-2.0.10 (see [changelog](https://github.com/Vladar4/sdl2_nim/blob/master/CHANGELOG-2.0.10.md))
* updated documentation**v2.0.9.2**
* updated x11 includes (sdl_syswm)
* updated pragmas to a new style**v2.0.9.1**
* updated to SDL_ttf-2.0.15**v2.0.9.0**
* updated to SDL-2.0.9 (see [changelog](https://github.com/Vladar4/sdl2_nim/blob/master/CHANGELOG-2.0.9.md))
* updated examples to Nim v0.19.0
* minor bugfixes
* updated documentation**v2.0.8.0**
* updated to SDL-2.0.8 (see [changelog](https://github.com/Vladar4/sdl2_nim/blob/master/CHANGELOG-2.0.8.md))
* updated documentation**v2.0.7.1**
* added SMPEG 2.0.0
* updated examples, added smpeg example
* added some convenience templates
* bugfixes and documentation updates**v2.0.7.0**
* updated to SDL-2.0.7, SDL_image-2.0.2, and SDL_mixer-2.0.2 (see [changelog](https://github.com/Vladar4/sdl2_nim/blob/master/CHANGELOG-2.0.7.md))
* updated documentation**v2.0.6.1**
* events iterator and memory allocation procedures (by [krux02](https://github.com/krux02))
* tupleToColor converters
* various bugfixes and documentation updates**v2.0.6.0**
* updated to SDL2-2.0.6 (introduced no breaking changes for 2.0.5, see [changelog](https://github.com/Vladar4/sdl2_nim/blob/master/CHANGELOG-2.0.6.md))
* added SDL_GPU 0.11.0 (kudos to [Serenitor](https://github.com/Serenitor))
* minor bugfixes and documentation updates**v2.0.5.0**
* changed versioning system to reflect the underlying SDL2 version
* fixed uint8 emum bug
* fixed pixels.nim templates
* fixed windows threads
* various minor improvements
* documentation enhancement**v0.96 beta**
* added sdl_syswm.nim
* updated SDL2_ttf to v2.0.14
* added more SDL2 examples
* Nim 0.14.0 adaptation
* updated to SDL2-2.0.5**v0.95 beta**
* Nim 0.12.0 adaptation
* updated to SDL2-2.0.4
* added SDL2-gfx
* type-related fixes
* different fixes
* documentation fixes and formatting
* added html documentation
* added SDL2 examples**v0.9 alpha**
* added SDL2-mixer
* different fixes**v0.8 alpha**
* added haptic.nim
* added SDL2-image
* different fixes**v0.7 alpha**
* added SDL2-net
* added event convertion templates
* different fixes