Skip to content

Vladar4/sdl2_nim

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
December 27, 2020 18:47
October 1, 2021 14:05
March 8, 2021 14:59
November 20, 2021 14:44
December 27, 2020 18:52
October 1, 2021 14:05
February 10, 2015 16:26
January 1, 2018 17:44
December 6, 2017 10:42
October 1, 2021 14:05

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 and Nim issue #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.

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.0

What is not implemented here:

  • OpenGL headers (use opengl lib instead)

Versioning scheme:

a.b.c.d

a.b.c - underlying SDL2 version
d     - sdl2_nim revision

FAQ:

Q: Why does this exist if there's an official 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

v2.0.14.2

v2.0.14.1

  • transition version from sdl2 to sdl2nim. See issue #35.

v2.0.14.0

  • updated to SDL-2.0.14 (see changelog)
  • updated documentation

v2.0.12.1

  • fixed rect templates
  • fixed nimble warnings

v2.0.12.0

  • updated to SDL-2.0.12 (see changelog)
  • updated documentation

v2.0.10.0

  • updated to SDL-2.0.10 (see changelog)
  • 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)
  • updated examples to Nim v0.19.0
  • minor bugfixes
  • updated documentation

v2.0.8.0

  • updated to SDL-2.0.8 (see changelog)
  • 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)
  • updated documentation

v2.0.6.1

  • events iterator and memory allocation procedures (by 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)
  • added SDL_GPU 0.11.0 (kudos to 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