{"id":50908267,"url":"https://github.com/unleashed/sdl2_ffi","last_synced_at":"2026-06-16T07:04:21.036Z","repository":{"id":63978731,"uuid":"13211070","full_name":"unleashed/sdl2_ffi","owner":"unleashed","description":"Foreign Function Interface to SDL2 in Ruby","archived":false,"fork":false,"pushed_at":"2013-09-30T09:26:36.000Z","size":2174,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-03-11T09:56:23.163Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/unleashed.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-09-30T09:20:32.000Z","updated_at":"2018-06-04T07:40:43.000Z","dependencies_parsed_at":"2022-11-30T07:34:35.967Z","dependency_job_id":null,"html_url":"https://github.com/unleashed/sdl2_ffi","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/unleashed/sdl2_ffi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unleashed%2Fsdl2_ffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unleashed%2Fsdl2_ffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unleashed%2Fsdl2_ffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unleashed%2Fsdl2_ffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/unleashed","download_url":"https://codeload.github.com/unleashed/sdl2_ffi/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unleashed%2Fsdl2_ffi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34393306,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-16T02:00:06.860Z","response_time":126,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-16T07:04:19.894Z","updated_at":"2026-06-16T07:04:21.035Z","avatar_url":"https://github.com/unleashed.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sdl2_ffi\n\n[![Gem Version](https://badge.fury.io/rb/sdl2_ffi.png)](http://badge.fury.io/rb/sdl2_ffi)\n\nThe sdl2_ffi makes SDL2 fun and easy, eventually. This is still a new project\nand I am still implementing major sections of it.  Check out the \n[approvals](https://github.com/BadQuanta/sdl2_ffi/tree/master/spec/fixtures/approvals)\nto get an idea of how much is working.  These are screen-shots of SDL generated\ncontent.  Approval testing is used to validate functionality.\n\n\nThe \"Object Oriented\" part of this interface has barely started.\n\n# Documentation/API Reference:\n\nFor the latest released gem, [rubydoc.info](http://rubydoc.info/) has the\n[automatically generated documentation](http://rubydoc.info/gems/sdl2_ffi/frames).\n\nOtherwise, you can use RDoc to generate current source documentation.\n \n# How to start:\n\n    \n## Testing\n\nMinitests are being written to validate functionality. Not SDL's functionality, but that the GEM has been linked properly and that the Object Oriented wrapper functions as intended.\n\nRun the tests with rake:\n\n    $ rake spec\n    \nOr:\n\n    $ ./bin/rspec ./spec -fd\n    \n### Approval Testing\n\nThis project now uses Approval testing.  At the moment, I'm using a custom\n'approvals' gem which is specified in the Gemfile, as opposed to the Gemspec.\nThis is only temporary.  The approved specifications are in the repository \nand can act as a repository of screen shots. :)\n\n   \n### Testing Under *nix \u0026 X11\n\nIf you are testing under some kind of unix system with X11 and have Xnest available,\nI'd recommend starting up Xnest and changing your testing terminal DISPLAY value\nso that the tests do not throw around a bunch of Windows on your screen.\n\n## Usage\n\nWhen you `require 'sdl2'`, it should give you the same things that\ninclude 'SDL.h' would have done.  See the specs for examples.  There are C/C++\ntutorials that have been translated as a means of validating functionality.\n\n\n## Contributing\n\nlibSDL 2.0 is licensed under the 'zlib license', listed as compatible with the GNU GPL by [the gnu foundation](http://www.gnu.org/licenses/license-list.html).  The 'sdl_ffi' GEM is licensed under the MIT License.  Both encourage distribution and modification.  Please let me know about your work and I'll link it where appropriate. \n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request\n\nI specifically need help writing the minitest code.  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funleashed%2Fsdl2_ffi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funleashed%2Fsdl2_ffi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funleashed%2Fsdl2_ffi/lists"}