summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* 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.
* Change version to 0.1.0.David Thompson2015-12-222-2/+2
|
* Add blank TODO file.David Thompson2015-12-221-0/+0
|
* Update README.David Thompson2015-12-221-16/+50
|
* Update Guix package recipe.David Thompson2015-12-221-2/+2
|
* surface: Fix convert-surface-format.David Thompson2015-12-221-1/+1
| | | | | | | Was trying to wrap the wrong thing. -_- * sdl2/surface.scm (convert-surface-format): Wrap the new pointer, not the old surface object. Oops.
* surface: Add binding for SDL_ConvertSurfaceFormat.David Thompson2015-12-222-1/+134
| | | | | | * sdl2/bindings.scm: Add a ton of pixel format constants. * sdl2/surface.scm: (symbol->sdl-pixel-format, convert-surface-format): New procedures.
* Update Guix package recipe.David Thompson2015-12-211-2/+2
|
* events: window: Change vector from pair to list.David Thompson2015-12-211-2/+2
| | | | | | | This is consistent with representing coordinate pairs as lists elsewhere in the library. * sdl2/events.scm (parse-window-event): Change vector from pair to list.
* events: window: Add additional predicates.David Thompson2015-12-211-0/+84
| | | | | | | | | * sdl2/events.scm (window-shown-event?, window-hidden-event?, window-exposed-event?, window-moved-event?, window-resized-event?, window-size-changed-event?, window-minimized-event?, window-maximized-event?, window-restored-event?, window-enter-event?, window-leave-event?, window-focus-gained-event?, window-focus-lost-event?, window-closed-event?): New procedures.
* events: Add quit event.David Thompson2015-12-211-1/+22
| | | | | | | * sdl2/events.scm (<quit-event>): New record type. (make-quit-event, quit-event?, quit-event-timestamp, parse-quit-event): New procedures. (poll-event): Add support for SDL_QUIT events.
* events: keyboard: Correct exported symbols.David Thompson2015-12-211-1/+3
| | | | | | | | | Exported the wrong symbol for the key symbol, and forgot to export symbols for selecting scancode and modifiers. * sdl2/events.scm: Remove export to nonexistent keyboard-event-keysym. Export keyboard-event-key, keyboard-event-scancode, and keyboard-event-modifiers.
* Update README.David Thompson2015-12-201-2/+21
|
* surface: Add useful selectors.David Thompson2015-12-201-1/+45
| | | | | | | * sdl2/surface.scm (pointer-int-ref, surface-width, surface-height) (surface-pitch, surface-pixels): New procedures. (%int-size, %pointer-size, %width-offset, %height-offset, %pitch-offset) (%pixels-offset): New variables.
* Update Guix package.David Thompson2015-12-201-4/+13
|
* Add SDL2_mixer bindings.David Thompson2015-12-204-0/+478
| | | | | | | * sdl2/bindings.scm: Add "AUDIO_*" constants. * sdl2/bindings/mixer.scm: New file. * sdl2/mixer.scm: New file. * Makefile.am (SOURCES): Add new files.
* build: Add SDL2_mixer detection.David Thompson2015-12-172-1/+43
|
* Add SDL2_ttf bindings.David Thompson2015-12-173-0/+177
| | | | | | * sdl2/bindings/ttf.scm: New file. * sdl2/ttf.scm: New file. * Makefile.am (SOURCES): Add them.
* surface: Fix argument name in record type printer.David Thompson2015-12-171-2/+2
| | | | | * sdl2/surface.scm (<surface>): s/context/surface/ in record type printer.
* Add color type.David Thompson2015-12-172-1/+28
| | | | | | | * sdl2/bindings.scm (sdl-color): New variable. * sdl2.scm (<color>): New record type. (make-color, color?, color-r, color-g, color-b, color-a, color->struct): New procedures.
* build: Add SDL2_ttf detection.David Thompson2015-12-162-1/+43
|
* Add SDL2_image bindings.David Thompson2015-12-163-0/+115
| | | | | | * sdl2/bindings/image.scm: New file. * sdl2/image.scm: New file. * Makefile.am (SOURCES): Add them.
* build: Add SDL2_image detection.David Thompson2015-12-162-1/+46
|
* events: joystick: Add button bindings.David Thompson2015-12-161-0/+45
| | | | | | | | | | * sdl2/events.scm (<joystick-button-event>): New record type. (make-joystick-button-event, joystick-button-event?, joystick-button-down-event?, joystick-button-up-event?, joystick-button-event-timestamp, joystick-button-event-which, joystick-button-event-button, joystick-button-event-pressed?, parse-joystick-button-event): New procedures. (poll-event): Add support for joystick button events.
* events: joystick: Add axis motion bindings.David Thompson2015-12-161-0/+38
| | | | | | | | | * sdl2/events.scm (<joystick-axis-event>): New record type. (make-joystick-axis-event, joystick-axis-event?, joystick-axis-event-timestamp, joystick-axis-event-which, joystick-axis-event-axis, joystick-axis-event-value, parse-joystick-axis-event): New procedures. (poll-event): Add support for joystick axis motion events.
* events: mouse: Add motion event bindings.David Thompson2015-12-162-0/+69
| | | | | | | | | | | | * sdl2/bindings.scm (button-mask): New procedure. (SDL_BUTTON_LMASK, SDL_BUTTON_RMASK, SDL_BUTTON_MMASK, SDL_BUTTON_X1MASK, SDL_BUTTON_X2MASK): New variables. * sdl2/events.scm (<mouse-motion-event>): New record type. (make-mouse-motion-event mouse-motion-event?, mouse-motion-event-timestamp, mouse-motion-event-window-id, mouse-motion-event-which, mouse-motion-event-buttons, mouse-motion-event-x, mouse-motion-event-y, mouse-motion-event-x-rel, mouse-motion-event-y-rel, parse-mouse-motion-event): New procedures.
* events: window: Fix parse-window-event.David Thompson2015-12-161-1/+1
| | | | | | Good ol' fencepost error strikes again. * sdl2/events.scm (parse-window-event): Fix off-by-1 error.
* events: keyboard: Add additional predicates.David Thompson2015-12-161-0/+12
| | | | * sdl2/events.scm (keyboard-down-event?, keyboard-up-event?): New procedures.
* events: Add mouse button event bindings.David Thompson2015-12-162-0/+81
| | | | | | | | | | | | | * sdl2/bindings.scm (SDL_BUTTON_LEFT, SDL_BUTTON_RIGHT, SDL_BUTTON_MIDDLE, SDL_BUTTON_X1, SDL_BUTTON_X2): New variables. * sdl2/events.scm (<mouse-button-event>): New record type. (make-mouse-button-event, mouse-button-event?, mouse-button-down-event?, mouse-button-up-event?, mouse-button-event-timestamp, mouse-button-event-window-id, mouse-button-event-which, mouse-button-event-button, mouse-button-event-pressed?, mouse-button-event-clicks, mouse-button-event-x, parse-mouse-button-event): New procedures. (poll-event): Add support for mouse button events.
* Add event bindings.David Thompson2015-12-163-1/+1259
| | | | | | | | | | | | So far, only window and keyboard events are handled. More to come in future patches. This patch adds a *ton* of constants that I'm not going to mention in this log because it would be too damn long. * sdl2/bindings.scm (sdl-poll-event): New procedure. * sdl2/events.scm: New file. * Makefile.am (SOURCES): Add it.
* Add Emacs directory local configuration.David Thompson2015-12-141-0/+4
|
* example: Use the "call-with-*" procedures to manage resources.David Thompson2015-12-141-10/+11
|
* window: Improve call-with-window.David Thompson2015-12-141-9/+7
| | | | | * sdl2/video.scm (call-with-window): Use a pre-existing window object instead of making a new one.
* Remove "sdl-" prefix from symbols in window module.David Thompson2015-12-143-72/+73
|
* Replace blank window example with hello example.David Thompson2015-12-133-10/+37
|
* Add a few surface bindings.David Thompson2015-12-133-0/+86
| | | | | | | * sdl2/bindings.scm (sdl-rw-from-file, sdl-free-surface, sdl-load-bmp-rw): New procedures. * sdl2/surface.scm: New file. * Makefile.am (SOURCES): Add it.
* Add renderer bindings.David Thompson2015-12-133-1/+163
| | | | | | | | | | * sdl2/bindings.scm (SDL_RENDERER_SOFTWARE, SDL_RENDERER_ACCELERATED, SDL_RENDERER_PRESENTVSYNC, SDL_RENDERER_TARGETTEXTURE): New variables. (sdl-create-renderer, sdl-destroy-renderer, sdl-render-clear, sdl-render-present, sdl-render-copy, sdl-create-texture-from-surface): New procedures. * sdl2/render.scm: New file. * Makefile.am (SOURCES): Add it.
* Add blank window example.David Thompson2015-12-121-0/+10
| | | | * examples/blank-window.scm: New file.
* Add SDL_GetTicks binding.David Thompson2015-12-122-1/+15
| | | | | * sdl2/bindings.scm (sdl-get-ticks): New procedure. * sdl2.scm (sdl-ticks): New procedure.
* Update Guix package.David Thompson2015-10-061-2/+13
|
* Initial commit.David Thompson2015-10-0612-0/+982
Let's do this!