;;;; sdl.scm - Simple SDL binding for Chicken ; Copyright (C) 2002-2004 Tony Garnock-Jones ; ; This library is free software; you can redistribute it and/or modify ; it under the terms of the GNU Library General Public License as ; published by the Free Software Foundation; either version 2 of the ; License, or (at your option) any later version. ; ; This library is distributed in the hope that it will be useful, but ; WITHOUT ANY WARRANTY; without even the implied warranty of ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ; Library General Public License for more details. ; ; You should have received a copy of the GNU Library General Public ; License along with this library; if not, write to the Free ; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 ; USA ; --------------------------------------------------------------------------- (module sdl-img ( ; SDL image img-init img-quit img-load IMG_INIT_JPG IMG_INIT_PNG IMG_INIT_TIF ) ;--------------------------------------------------------------------------- (import chicken scheme foreign) (use lolevel) (use sdl-base) (foreign-declare #<symbol str)) (psym (string->symbol (string-append "-" str)))) `((,(r 'define-foreign-variable) ,psym unsigned-integer ,str) (,(r 'define) ,sym ,psym)))) (cdr e))))) (include "sdl-base-foreign-types-include.scm") (--sdl-flags "IMG_INIT_JPG" "IMG_INIT_PNG" "IMG_INIT_TIF") ;--------------------------------------------------------------------------- (define img-init (foreign-lambda unsigned-int "IMG_Init" unsigned-int)) (define img-quit (foreign-lambda void "IMG_Quit")) (define img-load (foreign-lambda SDL_Surface "IMG_Load" c-string)) )