summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* doc: Fill out some of the API documentation.Kei Kebreau2018-08-011-5/+1128
|
* Bump to version 0.3.0.David Thompson2018-07-101-1/+1
|
* Makfile: Fix publish task.David Thompson2018-07-101-1/+1
|
* Makefile: Fix compiled guile module installation location.David Thompson2018-07-101-1/+1
|
* input: mouse: Add mouse-button-released?David Thompson2017-11-101-1/+6
| | | | * sdl2/input/mouse.scm (mouse-button-released?): New procedure.
* Add mouse input module.David Thompson2017-11-102-0/+68
| | | | | * sdl2/input/mouse.scm: New file. * Makefile.am (SOURCES): Add it.
* render: Fix broken render-copy procedure.David Thompson2017-11-101-7/+7
| | | | | * sdl2/render.scm (render-copy): Make srcrect and dstrect optional and do not use nil? to check them.
* Add binding for SDL_GetMouseState.David Thompson2017-11-101-0/+2
| | | | | | No high-level wrapper yet, though. * sdl2/bindings.scm (sdl-get-mouse-state): New procedure.
* Add clipboard bindings.David Thompson2017-11-103-0/+63
| | | | | | | * sdl2/bindings.scm (sdl-get-clipboard-text, sdl-set-clipboard-text, sdl-has-clipboard-text): New procedures. * sdl2/clipboard.scm: New file. * Makefile.am (SOURCES): Add it.
* README: Update Guix build instructions.David Thompson2017-11-101-4/+4
|
* Add SDL_GameControllerAddMappingsFromRW binding.David Thompson2017-11-102-1/+22
| | | | | | | * sdl2/bindings.scm (sdl-game-controller-add-mappings-from-file): New procedure. * sdl2/input/game-controller.scm (load-game-controller-mappings!): New procedure.
* render: Add srcrect and dstrect arguments to render-copy.Jona2017-06-062-4/+10
| | | | | * sdl2/bindings.scm (sdl-rect): New variable. * sdl2/render.scm (render-copy): Add srcrect and dstrect arguments.
* input: Add keyboard module.David Thompson2017-04-013-0/+293
| | | | | | * sdl2/bindings.scm (sdl-get-keyboard-state): New procedure. * sdl2/input/keyboard.scm: New file. * Makefile.am (SOURCES): Add it.
* surface: Export pixel-format-name.David Thompson2017-03-291-0/+1
| | | | * sdl2/surface.scm: Export pixel-format-name.
* surface: Parse SDL_PixelFormat, SDL_Palette, and SDL_Color structs.David Thompson2017-03-282-3/+203
| | | | | | | | | | | | | * sdl2/surface.scm (color?, make-color, color-r, color-g, color-b, color-a, palette?, palette-length, palette-colors, pixel-format?, pixel-format-bits-per-pixel, pixel-format-bytes-per-pixel, pixel-format-red-mask, pixel-format-green-mask, pixel-format-blue-mask, pixel-format-alpha-mask, surface-pixel-format, wrap-palette, unwrap-palette, wrap-pixel-format, unwrap-pixel-format): New procedures. (<color>, <palette>, <pixel-format>): New types. (%palette-types, %pixel-format-types): New variables. (palette-parse-match, pixel-format-parse-match): New syntax. * .dir-locals.el: Add indent rules for new macros.
* guix: Default to Guile 2.2.David Thompson2017-03-281-1/+1
|
* Fix 'make publish'.David Thompson2017-01-201-2/+2
|
* Don't build dvi docs.David Thompson2017-01-201-0/+2
|
* Add game controller example.David Thompson2017-01-202-1/+58
|
* events: Parse the "repeat" field of a keyboard event as a boolean.David Thompson2017-01-011-4/+4
| | | | | | | | * sdl2/events.scm (<keyboard-event>): Rename "repeat" field to "repeat?" (keyboard-event-repeat): Replace with... (keyboard-event-repeat?): ... this. (parse-keyboard-event): Parse "repeat" field as a boolean.
* README: Mention the Texinfo dependency.David Thompson2017-01-011-0/+1
|
* events: Add predicates for different controller device events.David Thompson2017-01-011-0/+21
| | | | | * sdl2/events.scm (controller-added-event?, controller-removed-event?, controller-remapped-event?): New procedures.
* Add the beginning of a manual.David Thompson2016-12-316-2/+836
|
* Update docstring for sdl-ticks.David Thompson2016-12-311-2/+2
| | | | * sdl2.scm (sdl-ticks): Update docstring.
* events: Reduce allocation in poll-event.David Thompson2016-12-311-42/+47
| | | | | * sdl2/events.scm (poll-event): Reuse the same event structure for each call.
* Update README.v0.2.0David Thompson2016-12-311-3/+8
|
* Bump to version 0.2.0.David Thompson2016-12-311-1/+1
|
* Add bindings for game controller input.David Thompson2016-12-316-1/+684
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sdl2.scm (%default-init-flags): Add 'joystick' to default flags. (sdl-init): Translate to 'joystick' to SDL2 init bit flag. * sdl2/bindings.scm (SDL_INIT_JOYSTICK, SDL_JOYSTICK_POWER_UNKNOWN, SDL_JOYSTICK_POWER_EMPTY, SDL_JOYSTICK_POWER_LOW, SDL_JOYSTICK_POWER_MEDIUM, SDL_JOYSTICK_POWER_FULL, SDL_JOYSTICK_POWER_WIRED, SDL_JOYSTICK_POWER_MAX, SDL_CONTROLLER_AXIS_INVALID, SDL_CONTROLLER_AXIS_LEFTX, SDL_CONTROLLER_AXIS_LEFTY, SDL_CONTROLLER_AXIS_RIGHTX, SDL_CONTROLLER_AXIS_RIGHTY, SDL_CONTROLLER_AXIS_TRIGGERLEFT, SDL_CONTROLLER_AXIS_TRIGGERRIGHT, SDL_CONTROLLER_AXIS_MAX, SDL_CONTROLLER_BUTTON_INVALID, SDL_CONTROLLER_BUTTON_A, SDL_CONTROLLER_BUTTON_B, SDL_CONTROLLER_BUTTON_X, SDL_CONTROLLER_BUTTON_Y, SDL_CONTROLLER_BUTTON_BACK, SDL_CONTROLLER_BUTTON_GUIDE, SDL_CONTROLLER_BUTTON_START, SDL_CONTROLLER_BUTTON_LEFTSTICK, SDL_CONTROLLER_BUTTON_RIGHTSTICK, SDL_CONTROLLER_BUTTON_LEFTSHOULDER, SDL_CONTROLLER_BUTTON_RIGHTSHOULDER, SDL_CONTROLLER_BUTTON_DPAD_UP, SDL_CONTROLLER_BUTTON_DPAD_DOWN, SDL_CONTROLLER_BUTTON_DPAD_LEFT, SDL_CONTROLLER_BUTTON_DPAD_RIGHT, SDL_CONTROLLER_BUTTON_MAX): New variables. (sdl-joystick-open, sdl-joystick-close, sdl-joystick-current-power-level, sdl-joystick-event-state, sdl-joystick-from-instance-id, sdl-joystick-get-attached, sdl-joystick-get-axis, sdl-joystick-get-ball, sdl-joystick-get-button, sdl-joystick-get-device-guid, sdl-joystick-get-guide, sdl-joystick-get-guid-from-string, sdl-joystick-get-guid-string, sdl-joystick-get-hat, sdl-joystick-instance-id, sdl-joystick-name, sdl-joystick-name-for-index, sdl-joystick-num-axes, sdl-joystick-num-balls, sdl-joystick-num-buttons, sdl-joystick-num-hats, sdl-num-joysticks, sdl-joystick-update, sdl-game-controller-add-mapping, sdl-game-controller-open, sdl-game-controller-close, sdl-game-controller-event-state, sdl-game-controller-from-instance-id, sdl-game-controller-get-attached, sdl-game-controller-get-axis, sdl-game-controller-get-axis-from-string, sdl-game-controller-get-string-from-axis, sdl-game-controller-get-string-for-axis, sdl-game-controller-get-button, sdl-game-controller-get-button-from-string, sdl-game-controller-get-string-from-button, sdl-game-controller-get-joystick, sdl-game-controller-mapping, sdl-game-controller-mapping-for-guid, sdl-game-controller-name, sdl-game-controller-name-for-index, sdl-game-controller-update, sdl-is-game-controller): New procedures. * sdl2/events.scm (make-joystick-ball-event, joystick-ball-event?, joystick-ball-event-timestamp, joystick-ball-event-which, joystick-ball-event-ball, joystick-ball-event-x-rel, joystick-ball-event-y-rel, make-joystick-hat-event, joystick-hat-event?, joystick-hat-event-timestamp, joystick-hat-event-which, joystick-hat-event-hat, joystick-hat-event-value, make-joystick-device-event, joystick-device-event?, joystick-device-event-timestamp, joystick-device-event-which, joystick-device-event-action, make-controller-axis-event, controller-axis-event?, controller-axis-event-timestamp, controller-axis-event-which, controller-axis-event-axis, controller-axis-event-value, make-controller-button-event, controller-button-event?, controller-button-down-event?, controller-button-up-event?, controller-button-event-timestamp, controller-button-event-which, controller-button-event-button, controller-button-event-pressed?, make-controller-device-event, controller-device-event?, controller-device-event-timestamp, controller-device-event-which, controller-device-event-action, parse-joystick-ball-event, parse-joystick-hat-event, parse-joystick-device-event, parse-controller-axis-event, parse-controller-button-event, parse-controller-device-event): New procedures. (poll-event): Parse joystick/controller events. * sdl2/input/joystick.scm: New file. * sdl2/input/game-controller.scm: New file. * Makefile.am (SOURCES): Add them
* Add bindings for text input event handling.David Thompson2016-12-304-4/+92
| | | | | | | | | | | * sdl2/bindings.scm (sdl-start-text-input, sdl-stop-text-input, sdl-is-text-input-active): New procedures. * sdl2/events.scm (<text-input-event>): New record type. (make-text-input-event, text-input-event?, text-input-event-timestamp, text-input-event-window-id, text-input-event-text, parse-text-input-event): New procedures. * sdl2/input/text.scm: New file. * Makefile.am (SOURCES): Add it.
* surface: Add SDL_CreateRGBSurfaceFrom binding.David Thompson2016-12-162-0/+24
|
* surface: Add SDL_CreateRGBSurface binding.David Thompson2016-12-162-1/+22
|
* image: Add IMG_SavePNG binding.David Thompson2016-12-162-1/+11
|
* guix: Fix build.v0.1.2David Thompson2016-08-101-2/+27
| | | | Include only Git files in the build.
* guix: Use local-file for source field.David Thompson2016-08-091-43/+36
|
* README: Add more Guix-specific instructions.David Thompson2016-06-011-0/+9
|
* guix: Update development snapshot.David Thompson2016-06-011-41/+42
|
* Bump version to 0.1.2.David Thompson2016-06-011-1/+1
|
* Install modules to correct directory based on Guile version.David Thompson2016-02-101-2/+2
|
* Allow building with Guile 2.2.David Thompson2016-02-101-1/+2
|
* video: Add SDL_SetWindowFullscreen binding.David Thompson2016-01-092-0/+18
| | | | | * sdl2/bindings.scm (sdl-set-window-fullscreen): New procedure. * sdl2/video.scm (set-window-fullscreen!): New procedure.
* video: Fix typo in set-gl-attribute!David Thompson2016-01-091-1/+1
| | | | | * sdl2/video.scm (set-gl-attribute!): s/contet-minor-version/context-minor-version/
* video: Add SDL_GL_SetSwapInterval binding.David Thompson2016-01-082-1/+24
| | | | | * sdl2/bindings.scm (sdl-gl-set-swap-interval): New procedure. * sdl2/video.scm (set-gl-swap-interval!): New procedure.
* video: Add SDL_GL_SetAttribute binding.David Thompson2016-01-022-1/+83
| | | | | * sdl2/bindings.scm (sdl-get-set-attribute): New procedure. * sdl2/video.scm (set-gl-attribute!): New procedure.
* build: Add 'publish' make target.David Thompson2016-01-011-0/+7
| | | | No more remembering how I sign and upload things. ;)
* Bump to v0.1.1.v0.1.1David Thompson2016-01-011-1/+1
|
* surface: Fix SDL_Surface struct parsing.David Thompson2016-01-012-20/+24
| | | | | | | | | | | | | | | | The code worked fine on Guile 2.0.11, but Guile master revealed how bad it was to use 'sizeof' to calculate byte offsets into structs due to the padding calculations it does. On Guile master, the offset for surface height and pitch were the same, and that lead to bad news when trying to use that incorrectly parsed data to inspect the pixel buffer. * sdl2/surface.scm (%width-offset, %height-offset, %pitch-offset) (%pixels-offset): Delete. (%surface-types): New variable. (surface-parse-match): New syntax. (surface-width, surface-height, surface-pitch, surface-pixels): Use new struct parsing method. * .dirlocals.el: Add new indenting rule.
* Update Guix package recipe.v0.1.0David Thompson2015-12-221-2/+2
|
* build: Distribute example files.David Thompson2015-12-221-1/+3
|
* bindings: Use define-public instead of #:export.David Thompson2015-12-221-57/+27
|
* window: Allow unspecified and centered window positions.David Thompson2015-12-222-4/+19
| | | | | | | | * sdl2/bindings.scm (SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_UNDEFINED): New variables. * sdl2/video.scm (make-window): Accept #f and 'center' as valid coordinates for undefined and centered positioning, respectively. Use an undefined position by default.