1 #include "EXTERN.h" 2 #include "perl.h" 3 #include "XSUB.h" 4 #include "ppport.h" 5 6 #ifndef aTHX_ 7 #define aTHX_ 8 #endif 9 10 #include <SDL.h> 11 12 MODULE = SDL::RWOps PACKAGE = SDL::RWOps PREFIX = rwops_ 13 14 =for documentation 15 16 SDL_RWops -- Direct memory read write. 17 18 =cut 19 20 21 SDL_RWops* 22 rwops_alloc (CLASS) 23 char* CLASS 24 CODE: 25 RETVAL = SDL_AllocRW(); 26 OUTPUT: 27 RETVAL 28 29 30 SDL_RWops* 31 rwops_new_file ( CLASS, file, mode ) 32 char* CLASS 33 char* file 34 char * mode 35 CODE: 36 RETVAL = SDL_RWFromFile(file,mode); 37 OUTPUT: 38 RETVAL 39 40 SDL_RWops* 41 rwops_new_FP ( CLASS, fp, autoclose ) 42 char* CLASS 43 FILE* fp 44 int autoclose 45 CODE: 46 RETVAL = SDL_RWFromFP(fp,autoclose); 47 OUTPUT: 48 RETVAL 49 50 SDL_RWops* 51 rwops_new_mem ( CLASS, mem, size ) 52 char* CLASS 53 char* mem 54 int size 55 CODE: 56 RETVAL = SDL_RWFromMem((void*)mem,size); 57 OUTPUT: 58 RETVAL 59 60 SDL_RWops * 61 rwops_new_const_mem (CLASS, mem, ... ) 62 char* CLASS 63 SV* mem 64 CODE: 65 STRLEN len; 66 unsigned char *text = SvPV(mem, len); 67 if(items > 2 && SvIOK(ST(2))) 68 len = SvIV(ST(2)); 69 RETVAL = SDL_RWFromConstMem((const void*)text, len); 70 OUTPUT: 71 RETVAL 72 73 int 74 rwops_seek ( rw, off, whence ) 75 SDL_RWops* rw 76 int off 77 int whence 78 CODE: 79 RETVAL = SDL_RWseek(rw,off,whence); 80 OUTPUT: 81 RETVAL 82 83 int 84 rwops_tell ( rw ) 85 SDL_RWops* rw 86 CODE: 87 RETVAL = SDL_RWtell(rw); 88 OUTPUT: 89 RETVAL 90 91 int 92 rwops_read ( rw, mem, size, n ) 93 SDL_RWops* rw 94 char* mem 95 int size 96 int n 97 CODE: 98 RETVAL = SDL_RWread(rw,mem,size,n); 99 OUTPUT: 100 RETVAL 101 102 int 103 rwops_write ( rw, mem, size, n ) 104 SDL_RWops* rw 105 char* mem 106 int size 107 int n 108 CODE: 109 RETVAL = SDL_RWwrite(rw,mem,size,n); 110 OUTPUT: 111 RETVAL 112 113 int 114 rwops_close ( rw ) 115 SDL_RWops* rw 116 CODE: 117 RETVAL = SDL_RWclose(rw); 118 OUTPUT: 119 RETVAL 120 121 void 122 rwops_free ( rw ) 123 SDL_RWops* rw 124 CODE: 125 SDL_FreeRW(rw); 126 127 128