Update of /project/corman-sdl/cvsroot/corman-sdl/ffi In directory common-lisp.net:/tmp/cvs-serv13057/ffi
Modified Files: Tag: lush sdl_h.lisp Log Message:
Date: Mon May 3 16:25:28 2004 Author: lcrook
Index: corman-sdl/ffi/sdl_h.lisp diff -u corman-sdl/ffi/sdl_h.lisp:1.1 corman-sdl/ffi/sdl_h.lisp:1.1.2.1 --- corman-sdl/ffi/sdl_h.lisp:1.1 Tue Apr 13 13:09:40 2004 +++ corman-sdl/ffi/sdl_h.lisp Mon May 3 16:25:28 2004 @@ -1,5 +1,5 @@ ;;;;; SDL bindings for Corman Lisp -;;;;; Version 0.6 +;;;;; Version 0.6.1 ;;;;; Author: Luke Crook ( luke@balooga.com ) ;;;;; SDL Version 1.2.6.0 ;;;;; Corman Lisp Version 2.5 @@ -16,11 +16,11 @@ ;;;;; #define SDL_NAME(X) SDL_##X ;;;;; ;;;;; "sdl_copying.h" -;;;;; "@(#) $Id: sdl_h.lisp,v 1.1 2004/04/13 17:09:40 lcrook Exp $" +;;;;; "@(#) $Id: sdl_h.lisp,v 1.1.2.1 2004/05/03 20:25:28 lcrook Exp $" ;;;;; Nothing to do. Complete. ;;;;; ;;;;; "sdl_types.h" -;;;;; "@(#) $Id: sdl_h.lisp,v 1.1 2004/04/13 17:09:40 lcrook Exp $" +;;;;; "@(#) $Id: sdl_h.lisp,v 1.1.2.1 2004/05/03 20:25:28 lcrook Exp $" ;;;;; NOTE: ;;;;; Unsure if the 64 bit type is correctly supported. ;;;;; No compile time assertions. (Not required). @@ -28,21 +28,18 @@ ;;;;; SDL_TABLESIZE(table) ;;;;; ;;;;; "sdl_version.h" -;;;;; "@(#) $Id: sdl_h.lisp,v 1.1 2004/04/13 17:09:40 lcrook Exp $" +;;;;; "@(#) $Id: sdl_h.lisp,v 1.1.2.1 2004/05/03 20:25:28 lcrook Exp $" ;;;;; Modifications: ;;;;; #define SDL_VERSION(X) changed to +SDL_VERSION+ because of possible ;;;;; name clash with the SDL_Version struct ;;;;; Complete. ;;;;; ;;;;; "sdl_syswm.h" -;;;;; "@(#) $Id: sdl_h.lisp,v 1.1 2004/04/13 17:09:40 lcrook Exp $" -;;;;; NOTE: -;;;;; Commented out in SDL_h.lisp as the FFI definitions cause (ct:TRANSCRIBE_FILE) -;;;;; to fail. Manually copied into SDL.lisp +;;;;; "@(#) $Id: sdl_h.lisp,v 1.1.2.1 2004/05/03 20:25:28 lcrook Exp $" ;;;;; Complete. ;;;;; ;;;;; "sdl_rwops.h" -;;;;; "@(#) $Id: sdl_h.lisp,v 1.1 2004/04/13 17:09:40 lcrook Exp $" +;;;;; "@(#) $Id: sdl_h.lisp,v 1.1.2.1 2004/05/03 20:25:28 lcrook Exp $" ;;;;; TODO: ;;;;; //extern DECLSPEC SDL_RWops * SDL_RWFromFP(FILE *fp, int autoclose); ;;;;; //#define SDL_RWseek(ctx, offset, whence) (ctx)->seek(ctx, offset, whence) @@ -79,15 +76,15 @@ ;;;;; Uint32 buffer[4]; ;;;;; ;;;;; "sdl.h" -;;;;; "@(#) $Id: sdl_h.lisp,v 1.1 2004/04/13 17:09:40 lcrook Exp $"; +;;;;; "@(#) $Id: sdl_h.lisp,v 1.1.2.1 2004/05/03 20:25:28 lcrook Exp $"; ;;;;; Complete ;;;;; ;;;;; "sdl_main.h" -;;;;; "@(#) $Id: sdl_h.lisp,v 1.1 2004/04/13 17:09:40 lcrook Exp $"; +;;;;; "@(#) $Id: sdl_h.lisp,v 1.1.2.1 2004/05/03 20:25:28 lcrook Exp $"; ;;;;; Complete ;;;;; ;;;;; "sdl_error.h" -;;;;; "@(#) $Id: sdl_h.lisp,v 1.1 2004/04/13 17:09:40 lcrook Exp $"; +;;;;; "@(#) $Id: sdl_h.lisp,v 1.1.2.1 2004/05/03 20:25:28 lcrook Exp $"; ;;;;; NOTE: ;;;;; The Corman Lisp FFI does not easily support variable arguments. ;;;;; Therefore expect SDL_SetError to be supported around the '1st of Never @@ -95,11 +92,11 @@ ;;;;; SDLCALL SDL_SetError(const char *fmt, ...) ;;;;; ;;;;; "sdl_mutex.h" -;;;;; "@(#) $Id: sdl_h.lisp,v 1.1 2004/04/13 17:09:40 lcrook Exp $"; +;;;;; "@(#) $Id: sdl_h.lisp,v 1.1.2.1 2004/05/03 20:25:28 lcrook Exp $"; ;;;;; Complete. ;;;;; ;;;;; "sdl_thread.h" -;;;;; "@(#) $Id: sdl_h.lisp,v 1.1 2004/04/13 17:09:40 lcrook Exp $"; +;;;;; "@(#) $Id: sdl_h.lisp,v 1.1.2.1 2004/05/03 20:25:28 lcrook Exp $"; ;;;;; Use the threads package provided by Chris Double, or raw OS threads ;;;;; provided by Corman Lisp. Easier to use than SDL threads. ;;;;; NOTE: @@ -117,7 +114,7 @@ ;;;;; Use Corman / Chris Double's threads instead. ;;;;; ;;;;; "sdl_video.h" -;;;;; "@(#) $Id: sdl_h.lisp,v 1.1 2004/04/13 17:09:40 lcrook Exp $" +;;;;; "@(#) $Id: sdl_h.lisp,v 1.1.2.1 2004/05/03 20:25:28 lcrook Exp $" ;;;;; NOTE: ;;;;; SDL_SoftStretch - not yet in public API ;;;;; MODIFICATIONS: @@ -151,31 +148,31 @@ ;;;;; (added Uint32 TEMP;) ;;;;; ;;;;; "SDL_active.h" -;;;;; "@(#) $Id: sdl_h.lisp,v 1.1 2004/04/13 17:09:40 lcrook Exp $"; +;;;;; "@(#) $Id: sdl_h.lisp,v 1.1.2.1 2004/05/03 20:25:28 lcrook Exp $"; ;;;;; Complete ;;;;; ;;;;; "SDL_keysym.h" -;;;;; "@(#) $Id: sdl_h.lisp,v 1.1 2004/04/13 17:09:40 lcrook Exp $"; +;;;;; "@(#) $Id: sdl_h.lisp,v 1.1.2.1 2004/05/03 20:25:28 lcrook Exp $"; ;;;;; Complete ;;;;; ;;;;; "SDL_keyboard.h" -;;;;; "@(#) $Id: sdl_h.lisp,v 1.1 2004/04/13 17:09:40 lcrook Exp $"; +;;;;; "@(#) $Id: sdl_h.lisp,v 1.1.2.1 2004/05/03 20:25:28 lcrook Exp $"; ;;;;; Complete ;;;;; ;;;;; "SDL_mouse.h" -;;;;; "@(#) $Id: sdl_h.lisp,v 1.1 2004/04/13 17:09:40 lcrook Exp $"; +;;;;; "@(#) $Id: sdl_h.lisp,v 1.1.2.1 2004/05/03 20:25:28 lcrook Exp $"; ;;;;; Complete ;;;;; ;;;;; "SDL_joystick.h" -;;;;; "@(#) $Id: sdl_h.lisp,v 1.1 2004/04/13 17:09:40 lcrook Exp $"; +;;;;; "@(#) $Id: sdl_h.lisp,v 1.1.2.1 2004/05/03 20:25:28 lcrook Exp $"; ;;;;; Complete ;;;;; ;;;;; "SDL_quit.h" -;;;;; "@(#) $Id: sdl_h.lisp,v 1.1 2004/04/13 17:09:40 lcrook Exp $"; +;;;;; "@(#) $Id: sdl_h.lisp,v 1.1.2.1 2004/05/03 20:25:28 lcrook Exp $"; ;;;;; Complete ;;;;; ;;;;; "SDL_events.h" -;;;;; "@(#) $Id: sdl_h.lisp,v 1.1 2004/04/13 17:09:40 lcrook Exp $" +;;;;; "@(#) $Id: sdl_h.lisp,v 1.1.2.1 2004/05/03 20:25:28 lcrook Exp $" ;;;;; NOTE: ;;;;; The C to Lisp translator does not support unions. And as I am too ;;;;; lazy to determine the exact largest size for the SDL_Event struct, @@ -185,7 +182,7 @@ ;;;;; Complete. ;;;;; ;;;;; "SDL_timer.h" -;;;;; "@(#) $Id: sdl_h.lisp,v 1.1 2004/04/13 17:09:40 lcrook Exp $"; +;;;;; "@(#) $Id: sdl_h.lisp,v 1.1.2.1 2004/05/03 20:25:28 lcrook Exp $"; ;;;;; TODO: ;;;;; AddTimer callback does not yet work. ;;;;; extern DECLSPEC SDL_TimerID SDL_AddTimer(Uint32 interval, SDL_NewTimerCallback callback, void *param); @@ -199,28 +196,28 @@ ;;;;; #define getenv(X) SDL_getenv(X)Nothing to do. Complete. ;;;;; ;;;;; "SDL_endian.h" -;;;;; "@(#) $Id: sdl_h.lisp,v 1.1 2004/04/13 17:09:40 lcrook Exp $"; +;;;;; "@(#) $Id: sdl_h.lisp,v 1.1.2.1 2004/05/03 20:25:28 lcrook Exp $"; ;;;;; Not yet implemented. ;;;;; ;;;;; "SDL_byteorder.h" -;;;;; "@(#) $Id: sdl_h.lisp,v 1.1 2004/04/13 17:09:40 lcrook Exp $" +;;;;; "@(#) $Id: sdl_h.lisp,v 1.1.2.1 2004/05/03 20:25:28 lcrook Exp $" ;;;;; NOTE: Hardwired Little endianess (Intel) ;;;;; Complete. ;;;;; ;;;;; "SDL_cdrom.h" -;;;;; "@(#) $Id: sdl_h.lisp,v 1.1 2004/04/13 17:09:40 lcrook Exp $"; +;;;;; "@(#) $Id: sdl_h.lisp,v 1.1.2.1 2004/05/03 20:25:28 lcrook Exp $"; ;;;;; MODIFICATIONS: ;;;;; Changed SDL_CDtrack track[SDL_MAX_TRACKS+1] to SDL_CDtrack track[100]; ;;;;; Complete. ;;;;; ;;;;; "SDL_audio.h" -;;;;; "@(#) $Id: sdl_h.lisp,v 1.1 2004/04/13 17:09:40 lcrook Exp $"; +;;;;; "@(#) $Id: sdl_h.lisp,v 1.1.2.1 2004/05/03 20:25:28 lcrook Exp $"; ;;;;; TODO: ;;;;; typedef struct SDL_AudioCVT ;;;;; specifically: void (*filters[10])(struct SDL_AudioCVT *cvt, Uint16 format); ;;;;; ;;;;; "SDL_loadso.h" -;;;;; "@(#) $Id: sdl_h.lisp,v 1.1 2004/04/13 17:09:40 lcrook Exp $" +;;;;; "@(#) $Id: sdl_h.lisp,v 1.1.2.1 2004/05/03 20:25:28 lcrook Exp $" ;;;;; Complete. ;;;;; ;;;;; @@ -371,29 +368,27 @@ ;; "sdl_syswm.h" ;;
-#! (:export t :library "SDL" :ignore "DECLSPEC" :pack 4 ) -//typedef unsigned int UINT; -//typedef UINT WPARAM; -//typedef LONG LPARAM; -//typedef HANDLE HGLRC;
-//;;#LISP (ct:defctype HANDLE :handle) -//;;#LISP (ct:defctype HWND handle) -//;;#LISP (ct:defctype UINT :unsigned-long) -//;;#LISP (ct:defctype WPARAM UINT) -//;;#LISP (ct:defctype LPARAM :long) -//;;#LISP (ct:defctype HGLRC handle) +#! (:export t :library "KERNEL32") +typedef unsigned int UINT; !#
+#! (:export t :library "KERNEL32") +typedef HANDLE HWND; +typedef UINT WPARAM; +//typedef LONG LPARAM; +typedef unsigned int LPARAM; +typedef HANDLE HGLRC; +!#
-#| +#! (:export t :library "SDL") struct SDL_SysWMinfo; -typedef struct SDL_SysWMinfo SDL_SysWMinfo; -|# +//typedef struct SDL_SysWMinfo SDL_SysWMinfo; +!#
;; For some reason, (ct:transcribe-file) chokes on the following ;; two structs. -#| + #! (:export t :library "SDL" :ignore "DECLSPEC" :pack 4 ) struct SDL_SysWMmsg { SDL_version version; @@ -402,18 +397,21 @@ WPARAM wParam; /* WORD message parameter */ LPARAM lParam; /* LONG message parameter */ }; +!#
-typedef struct { +#! (:export t :library "SDL" :ignore "DECLSPEC" :pack 4 ) +typedef struct SDL_SysWMinfo { SDL_version version; HWND window; /* The Win32 display window */ HGLRC hglrc; /* The OpenGL context, if any */ } SDL_SysWMinfo; !#
+ #! (:export t :library "SDL" :ignore "DECLSPEC" :pack 4 ) extern DECLSPEC int SDL_GetWMInfo(SDL_SysWMinfo *info); !# -|# +
;; "sdl_rwops.h" ;; @@ -821,7 +819,7 @@ (ct:cref SDL_Surface surface flags) (logior SDL_HWSURFACE SDL_ASYNCBLIT SDL_RLEACCEL)))) (values 1) - (values 0)))) + (values 0))))) !#
#! (:library "SDL" :export t :ignore "DECLSPEC") @@ -2131,3 +2129,11 @@ !#
(provide :sdl) + + +;;(ccl:set-current-directory "C:/Documents and Settings/00u4440/My Documents/dev/corman-sdl/ffi") +;;(ccl:set-current-directory "F:/Documents and Settings/Crook/My Documents/dev/corman-sdl/ffi") + +;;(require :MEM-C-FUNCS) +;;(ct:transcribe-file "sdl_h.lisp" "sdl.lisp" :common-lisp-user nil) +;;(ct:transcribe-file "sdl_h.lisp" "sdl.lisp" :rm nil)