;;; ;;; sdl-image-lib.stub - glue functions for SDL_image ;;; ;;; Copyright(C) 2003 by Michael Vess (mvess@michaelvess.com) ;;; ;;; Permission to use, copy, modify, distribute this software and ;;; accompanying documentation for any purpose is hereby granted, ;;; provided that existing copyright notices are retained in all ;;; copies and that this notice is included verbatim in all ;;; distributions. ;;; This software is provided as is, without express or implied ;;; warranty. In no circumstances the author(s) shall be liable ;;; for any damages arising out of the use of this software. ;;; ;;; $Id: sdl-image-lib.stub,v 1.3 2003/02/25 02:20:52 mikiso Exp $ ;;; " #include \"gauche-sdl-image.h\" " ;;============================================================= ;; Miscellaneous ;; (define-type "ScmU8Vector*" "u8vector" "SCM_U8VECTORP" "SCM_U8VECTOR") ;;============================================================= ;; Surface ;; (define-type "SDL_Surface*" #f "SCM_SDL_SURFACE_P" "SCM_SDL_SURFACE") (define-type -or-null "SDL_Surface*" #f "SCM_SDL_SURFACE_OR_NULL_P" "SCM_SDL_SURFACE_OR_NULL") (define-cproc sdl-surface? (obj) (return "SCM_SDL_SURFACE_P")) ;;============================================================= ;; RWops ;; (define-type "SDL_RWops*" #f "SCM_SDL_RWOPS_P" "SCM_SDL_RWOPS") (define-type -or-null "SDL_RWops*" #f "SCM_SDL_RWOPS_OR_NULL_P" "SCM_SDL_RWOPS_OR_NULL") (define-cproc sdl-rwops? (obj) (return "SCM_SDL_RWOPS_P")) ;;============================================================= ;; Functions ;; (define-cproc img-load (file::) "ScmSdlSurface *s = SCM_NEW(ScmSdlSurface); SCM_SET_CLASS(s, SCM_CLASS_SDL_SURFACE); s->surface = IMG_Load((const char *)(SCM_STRING_START(file))); if (s->surface == NULL) SCM_RETURN(SCM_UNDEFINED); Scm_RegisterFinalizer(SCM_OBJ(s), sdl_surface_finalize, NULL); SCM_RETURN(SCM_OBJ(s));") (define-cproc img-load-rw (src::) "ScmSdlSurface *s = SCM_NEW(ScmSdlSurface); SCM_SET_CLASS(s, SCM_CLASS_SDL_SURFACE); s->surface = IMG_Load_RW(src, 0); if (s->surface == NULL) SCM_RETURN(SCM_UNDEFINED); Scm_RegisterFinalizer(SCM_OBJ(s), sdl_surface_finalize, NULL); SCM_RETURN(SCM_OBJ(s));") (define-cproc img-load-typed-rw (src:: type::) "ScmSdlSurface *s = SCM_NEW(ScmSdlSurface); SCM_SET_CLASS(s, SCM_CLASS_SDL_SURFACE); s->surface = IMG_LoadTyped_RW(src, 0, (char *)(SCM_STRING_START(type))); if (s->surface == NULL) SCM_RETURN(SCM_UNDEFINED); Scm_RegisterFinalizer(SCM_OBJ(s), sdl_surface_finalize, NULL); SCM_RETURN(SCM_OBJ(s));") (define-cproc img-load-bmp-rw (src::) "ScmSdlSurface *s = SCM_NEW(ScmSdlSurface); SCM_SET_CLASS(s, SCM_CLASS_SDL_SURFACE); s->surface = IMG_LoadBMP_RW(src); if (s->surface == NULL) SCM_RETURN(SCM_UNDEFINED); Scm_RegisterFinalizer(SCM_OBJ(s), sdl_surface_finalize, NULL); SCM_RETURN(SCM_OBJ(s));") (define-cproc img-load-pnm-rw (src::) "ScmSdlSurface *s = SCM_NEW(ScmSdlSurface); SCM_SET_CLASS(s, SCM_CLASS_SDL_SURFACE); s->surface = IMG_LoadPNM_RW(src); if (s->surface == NULL) SCM_RETURN(SCM_UNDEFINED); Scm_RegisterFinalizer(SCM_OBJ(s), sdl_surface_finalize, NULL); SCM_RETURN(SCM_OBJ(s));") (define-cproc img-load-xpm-rw (src::) "ScmSdlSurface *s = SCM_NEW(ScmSdlSurface); SCM_SET_CLASS(s, SCM_CLASS_SDL_SURFACE); s->surface = IMG_LoadXPM_RW(src); if (s->surface == NULL) SCM_RETURN(SCM_UNDEFINED); Scm_RegisterFinalizer(SCM_OBJ(s), sdl_surface_finalize, NULL); SCM_RETURN(SCM_OBJ(s));") (define-cproc img-load-xcf-rw (src::) "ScmSdlSurface *s = SCM_NEW(ScmSdlSurface); SCM_SET_CLASS(s, SCM_CLASS_SDL_SURFACE); s->surface = IMG_LoadXCF_RW(src); if (s->surface == NULL) SCM_RETURN(SCM_UNDEFINED); Scm_RegisterFinalizer(SCM_OBJ(s), sdl_surface_finalize, NULL); SCM_RETURN(SCM_OBJ(s));") (define-cproc img-load-pcx-rw (src::) "ScmSdlSurface *s = SCM_NEW(ScmSdlSurface); SCM_SET_CLASS(s, SCM_CLASS_SDL_SURFACE); s->surface = IMG_LoadPCX_RW(src); if (s->surface == NULL) SCM_RETURN(SCM_UNDEFINED); Scm_RegisterFinalizer(SCM_OBJ(s), sdl_surface_finalize, NULL); SCM_RETURN(SCM_OBJ(s));") (define-cproc img-load-gif-rw (src::) "ScmSdlSurface *s = SCM_NEW(ScmSdlSurface); SCM_SET_CLASS(s, SCM_CLASS_SDL_SURFACE); s->surface = IMG_LoadGIF_RW(src); if (s->surface == NULL) SCM_RETURN(SCM_UNDEFINED); Scm_RegisterFinalizer(SCM_OBJ(s), sdl_surface_finalize, NULL); SCM_RETURN(SCM_OBJ(s));") (define-cproc img-load-jpg-rw (src::) "ScmSdlSurface *s = SCM_NEW(ScmSdlSurface); SCM_SET_CLASS(s, SCM_CLASS_SDL_SURFACE); s->surface = IMG_LoadJPG_RW(src); if (s->surface == NULL) SCM_RETURN(SCM_UNDEFINED); Scm_RegisterFinalizer(SCM_OBJ(s), sdl_surface_finalize, NULL); SCM_RETURN(SCM_OBJ(s));") (define-cproc img-load-tif-rw (src::) "ScmSdlSurface *s = SCM_NEW(ScmSdlSurface); SCM_SET_CLASS(s, SCM_CLASS_SDL_SURFACE); s->surface = IMG_LoadTIF_RW(src); if (s->surface == NULL) SCM_RETURN(SCM_UNDEFINED); Scm_RegisterFinalizer(SCM_OBJ(s), sdl_surface_finalize, NULL); SCM_RETURN(SCM_OBJ(s));") (define-cproc img-load-png-rw (src::) "ScmSdlSurface *s = SCM_NEW(ScmSdlSurface); SCM_SET_CLASS(s, SCM_CLASS_SDL_SURFACE); s->surface = IMG_LoadPNG_RW(src); if (s->surface == NULL) SCM_RETURN(SCM_UNDEFINED); Scm_RegisterFinalizer(SCM_OBJ(s), sdl_surface_finalize, NULL); SCM_RETURN(SCM_OBJ(s));") (define-cproc img-load-tga-rw (src::) "ScmSdlSurface *s = SCM_NEW(ScmSdlSurface); SCM_SET_CLASS(s, SCM_CLASS_SDL_SURFACE); s->surface = IMG_LoadTGA_RW(src); if (s->surface == NULL) SCM_RETURN(SCM_UNDEFINED); Scm_RegisterFinalizer(SCM_OBJ(s), sdl_surface_finalize, NULL); SCM_RETURN(SCM_OBJ(s));") (define-cproc img-load-lbm-rw (src::) "ScmSdlSurface *s = SCM_NEW(ScmSdlSurface); SCM_SET_CLASS(s, SCM_CLASS_SDL_SURFACE); s->surface = IMG_LoadLBM_RW(src); if (s->surface == NULL) SCM_RETURN(SCM_UNDEFINED); Scm_RegisterFinalizer(SCM_OBJ(s), sdl_surface_finalize, NULL); SCM_RETURN(SCM_OBJ(s));") (define-cproc img-read-xpm-from-array (src::) "ScmSdlSurface *s = SCM_NEW(ScmSdlSurface); SCM_SET_CLASS(s, SCM_CLASS_SDL_SURFACE); s->surface = IMG_ReadXPMFromArray((char**)(&(SCM_U8VECTOR_ELEMENTS(src)))); if (s->surface == NULL) SCM_RETURN(SCM_UNDEFINED); Scm_RegisterFinalizer(SCM_OBJ(s), sdl_surface_finalize, NULL); SCM_RETURN(SCM_OBJ(s));") (define-cproc img-is-bmp (src::) (return "IMG_isBMP")) (define-cproc img-is-pnm (src::) (return "IMG_isPNM")) (define-cproc img-is-xpm (src::) (return "IMG_isXPM")) (define-cproc img-is-xcf (src::) (return "IMG_isXCF")) (define-cproc img-is-pcx (src::) (return "IMG_isPCX")) (define-cproc img-is-gif (src::) (return "IMG_isGIF")) (define-cproc img-is-jpg (src::) (return "IMG_isJPG")) (define-cproc img-is-tif (src::) (return "IMG_isTIF")) (define-cproc img-is-png (src::) (return "IMG_isPNG")) (define-cproc img-is-lbm (src::) (return "IMG_isLBM")) (define-cproc img-get-error () "SCM_RETURN(SCM_MAKE_STR(IMG_GetError()));") ;; Local variables: ;; mode: scheme ;; end: