1.3.1. SDL felix wrapper

Start felix section to lib/SDL/SDL_opengl.flx[1 /1 ]
     1: #line 169 "./lpsrc/flx_sdl.pak"
     2: 
     3: header '#include "SDL_opengl.h"';
     4: 
     5: include "GL/gl_lib";
     6: include "GL/glu_lib";
     7: 
     8: module SDL_opengl_h
     9: {
    10:   inherit GL_gl_h;
    11:   inherit GL_glu_h;
    12: }
End felix section to lib/SDL/SDL_opengl.flx[1]
Start felix section to lib/SDL/SDL.flx[1 /1 ]
     1: #line 183 "./lpsrc/flx_sdl.pak"
     2: //Module        : SDL_h
     3: //Timestamp     : 2006/1/6 2:5:23 UTC
     4: //Timestamp     : 2006/1/6 13:5:23 (local)
     5: //Raw Header    : SDL.h
     6: //Preprocessor  : gcc -E
     7: //Input file: sdl.flxcc.i
     8: //Flxcc Control : sdl.flxcc
     9: //Felix Version : 1.1.2_rc1
    10: include 'std';
    11: 
    12: //#define SDL_INIT_EVERYTHING   0x0000FFFF
    13: //#define SDL_INIT_EVENTTHREAD  0x01000000      /* Not supported on all OS's */
    14: //#define SDL_INIT_NOPARACHUTE  0x00100000      /* Don't catch fatal signals */
    15: //#define SDL_INIT_JOYSTICK     0x00000200
    16: //#define SDL_INIT_CDROM                0x00000100
    17: //#define SDL_INIT_VIDEO                0x00000020
    18: //#define SDL_INIT_AUDIO                0x00000010
    19: //#define       SDL_INIT_TIMER          0x00000001
    20: //#define _SDL_H
    21: 
    22: module SDL_h
    23: {
    24:   requires package "sdl";
    25:   header '#include "SDL.h"';
    26:   open C_hack;
    27: 
    28:   const SDL_INIT_EVERYTHING: uint32;
    29:   const SDL_INIT_EVENTTHREAD: uint32;
    30:   const SDL_INIT_NOPARACHUTE: uint32;
    31:   const SDL_INIT_JOYSTICK: uint32;
    32:   const SDL_INIT_CDROM : uint32;
    33:   const SDL_INIT_VIDEO: uint32;
    34:   const SDL_INIT_AUDIO: uint32;
    35:   const SDL_INIT_TIMER: uint32;
    36: 
    37:   //PROCEDURES
    38:   proc SDL_Quit: 1;
    39:   proc SDL_QuitSubSystem: uint32;
    40: 
    41:   //FUNCTIONS
    42:   fun SDL_Init: uint32 -> int;
    43:   fun SDL_InitSubSystem: uint32 -> int;
    44:   fun SDL_WasInit: uint32 -> uint32;
    45: }
End felix section to lib/SDL/SDL.flx[1]
Start felix section to lib/SDL/SDL_active.flx[1 /1 ]
     1: #line 230 "./lpsrc/flx_sdl.pak"
     2: //Module        : SDL_active_h
     3: //Timestamp     : 2006/1/6 2:18:42 UTC
     4: //Timestamp     : 2006/1/6 13:18:42 (local)
     5: //Raw Header    : SDL_active.h
     6: //Preprocessor  : gcc -E
     7: //Input file: sdl.flxcc.i
     8: //Flxcc Control : sdl.flxcc
     9: //Felix Version : 1.1.2_rc1
    10: include 'std';
    11: 
    12: //#define SDL_APPACTIVE         0x04            /* The application is active */
    13: //#define SDL_APPINPUTFOCUS     0x02            /* The app has input focus */
    14: //#define SDL_APPMOUSEFOCUS     0x01            /* The app has mouse coverage */
    15: //#define _SDL_active_h
    16: 
    17: module SDL_active_h
    18: {
    19:   requires package "sdl";
    20:   header '#include "SDL_active.h"';
    21:   open C_hack;
    22: 
    23:   //FUNCTIONS
    24:   fun SDL_GetAppState: 1 -> uint8;
    25: }
End felix section to lib/SDL/SDL_active.flx[1]
Start felix section to lib/SDL/SDL_audio.flx[1 /1 ]
     1: #line 257 "./lpsrc/flx_sdl.pak"
     2: //Module        : SDL_audio_h
     3: //Timestamp     : 2006/1/6 2:18:42 UTC
     4: //Timestamp     : 2006/1/6 13:18:42 (local)
     5: //Raw Header    : SDL_audio.h
     6: //Preprocessor  : gcc -E
     7: //Input file: sdl.flxcc.i
     8: //Flxcc Control : sdl.flxcc
     9: //Felix Version : 1.1.2_rc1
    10: include 'std';
    11: 
    12: 
    13: //INCLUDES
    14: include"SDL/SDL_rwops";
    15: 
    16: module SDL_audio_h
    17: {
    18:   requires package "sdl";
    19:   header '#include "SDL_audio.h"';
    20:   open C_hack;
    21:   open SDL_rwops_h;
    22: 
    23:   const SDL_MIX_MAXVOLUME : int;
    24:   const AUDIO_S16MSB : uint16;
    25:   const AUDIO_U16MSB : uint16;
    26:   const AUDIO_S16LSB : uint16;
    27:   const AUDIO_U16LSB : uint16;
    28:   const AUDIO_S16SYS : uint16;
    29:   const AUDIO_U16SYS : uint16;
    30:   const AUDIO_S16 : uint16;
    31:   const AUDIO_U16 : uint16;
    32:   const AUDIO_S8 : uint16;
    33:   const AUDIO_U8 : uint16;
    34: 
    35:   //ABSTRACT TYPES
    36:   type SDL_audiostatus = 'SDL_audiostatus';
    37:   fun eq:SDL_audiostatus * SDL_audiostatus -> bool = "$1==$2";
    38: 
    39:   //CSTRUCTS
    40:   cstruct SDL_AudioCVT {
    41:     needed: int;
    42:     src_format: uint16;
    43:     dst_format: uint16;
    44:     rate_incr: double;
    45:     buf: ptr[uint8];
    46:     len: int;
    47:     len_cvt: int;
    48:     len_mult: int;
    49:     len_ratio: double;
    50:     filters: ptr[SDL_audio_h_cft_2];
    51:     filter_index: int;
    52:   }
    53:   cstruct SDL_AudioSpec {
    54:     freq: int;
    55:     format: uint16;
    56:     channels: uint8;
    57:     silence: uint8;
    58:     samples: uint16;
    59:     padding: uint16;
    60:     size: uint32;
    61:     callback_: SDL_audio_h_cft_1;
    62:     userdata: address;
    63:   }
    64: 
    65:   fun get_callback: SDL_AudioSpec -> SDL_audio_h_cft_1 = "$1.callback";
    66:   fun get_callback: lvalue[SDL_AudioSpec] -> lvalue[SDL_audio_h_cft_1] = "$1.callback";
    67: 
    68:   //C FUNCTION POINTER TYPES
    69:   header '''typedef void (*SDL_audio_h_cft_2)(struct SDL_AudioCVT *,  Uint16);''';
    70:   type SDL_audio_h_cft_2 = 'SDL_audio_h_cft_2';
    71: 
    72:   header '''typedef void (*SDL_audio_h_cft_1)(void *,  Uint8 *, int);''';
    73:   type SDL_audio_h_cft_1 = 'SDL_audio_h_cft_1';
    74: 
    75:   typedef flx_audio_callback_arg_t = ptr[uint8] * int;
    76:   typedef flx_audio_callback_t = flx_audio_callback_arg_t -> void;
    77:   export type (flx_audio_callback_t) as "flx_audio_callback_t";
    78:   export type (flx_audio_callback_arg_t) as "flx_audio_callback_arg_t";
    79: 
    80:   header """
    81:     void SDL_audio_callback(void *obj, Uint8 *stream, int len);
    82:   """;
    83: 
    84:   body """
    85:     // audio callback thunk
    86:     void SDL_audio_callback(void *obj, Uint8 *stream, int len) {
    87:       flx_audio_callback_t callback = (flx_audio_callback_t)obj;
    88:       flx::rtl::con_t *p =
    89:         callback->
    90:         clone()->
    91:         call(0,flx_audio_callback_arg_t(stream,len))
    92:       ;
    93:       while(p) p = p->resume();
    94:     }
    95:   """;
    96: 
    97: // not working yet
    98: //  callback proc SDL_audio_callback: SDL_audio_callback * ptr[uint8] * int;
    99: 
   100:   //STRUCT or UNION TAG ALIASES
   101: 
   102:   /*
   103:   //TYPE ALIASES
   104:   typedef _struct_SDL_AudioSpec = SDL_AudioSpec;
   105:   typedef _struct_SDL_AudioCVT = SDL_AudioCVT;
   106:   */
   107: 
   108:   //ENUMERATION CONSTANTS
   109:   const SDL_AUDIO_PAUSED: SDL_audiostatus = 'SDL_AUDIO_PAUSED';
   110:   const SDL_AUDIO_STOPPED: SDL_audiostatus = 'SDL_AUDIO_STOPPED';
   111:   const SDL_AUDIO_PLAYING: SDL_audiostatus = 'SDL_AUDIO_PLAYING';
   112: 
   113:   //PROCEDURES
   114:   proc SDL_AudioQuit: 1;
   115:   proc SDL_CloseAudio: 1;
   116:   proc SDL_FreeWAV: ptr[uint8];
   117:   proc SDL_LockAudio: 1;
   118:   proc SDL_MixAudio: ptr[uint8] * cptr[uint8] * uint32 * int;
   119:   proc SDL_PauseAudio: int;
   120:   proc SDL_UnlockAudio: 1;
   121: 
   122:   //FUNCTIONS
   123:   fun SDL_AudioDriverName: ptr[char] * int -> ptr[char];
   124:   fun SDL_AudioInit: cptr[char] -> int;
   125:   fun SDL_BuildAudioCVT: ptr[SDL_AudioCVT] * uint16 * uint8 * int * uint16 * uint8 * int -> int;
   126:   fun SDL_ConvertAudio: ptr[SDL_AudioCVT] -> int;
   127:   fun SDL_GetAudioStatus: 1 -> SDL_audiostatus;
   128:   fun SDL_LoadWAV_RW: ptr[SDL_RWops] * int * ptr[SDL_AudioSpec] * ptr[ptr[uint8]] * ptr[uint32] -> ptr[SDL_AudioSpec];
   129:   fun SDL_OpenAudio: ptr[SDL_AudioSpec] * ptr[SDL_AudioSpec] -> int;
   130:   fun SDL_LoadWAV: cptr[char] * ptr[SDL_AudioSpec] * ptr[ptr[uint8]] * ptr[uint32] -> ptr[SDL_AudioSpec];
   131: }
End felix section to lib/SDL/SDL_audio.flx[1]
Start felix section to lib/SDL/SDL_cdrom.flx[1 /1 ]
     1: #line 390 "./lpsrc/flx_sdl.pak"
     2: //Module        : SDL_cdrom_h
     3: //Timestamp     : 2006/1/6 2:18:42 UTC
     4: //Timestamp     : 2006/1/6 13:18:42 (local)
     5: //Raw Header    : SDL_cdrom.h
     6: //Preprocessor  : gcc -E
     7: //Input file: sdl.flxcc.i
     8: //Flxcc Control : sdl.flxcc
     9: //Felix Version : 1.1.2_rc1
    10: include 'std';
    11: 
    12: //#define MSF_TO_FRAMES(M, S, F)        ((M)*60*CD_FPS+(S)*CD_FPS+(F))
    13: //#define FRAMES_TO_MSF(f, M,S,F)       {                                       \
    14: //#define CD_FPS        75
    15: //#define CD_INDRIVE(status)    ((int)status > 0)
    16: //#define SDL_DATA_TRACK        0x04
    17: //#define SDL_AUDIO_TRACK       0x00
    18: //#define SDL_MAX_TRACKS        99
    19: //#define _SDL_cdrom_h
    20: 
    21: module SDL_cdrom_h
    22: {
    23:   requires package "sdl";
    24:   header '#include "SDL_cdrom.h"';
    25:   open C_hack;
    26: 
    27:   //ABSTRACT TYPES
    28:   type CDstatus = 'CDstatus';
    29: 
    30:   //CSTRUCTS
    31:   cstruct SDL_CD {
    32:     id: int;
    33:     status: CDstatus;
    34:     numtracks: int;
    35:     cur_track: int;
    36:     cur_frame: int;
    37:     track: ptr[SDL_CDtrack];
    38:   }
    39:   cstruct SDL_CDtrack {
    40:     id: uint8;
    41:     type_: uint8;
    42:     unused: uint16;
    43:     length: uint32;
    44:     offset: uint32;
    45:   }
    46: 
    47:   //STRUCT or UNION TAG ALIASES
    48: 
    49:   /*
    50:   //TYPE ALIASES
    51:   typedef _struct_SDL_CD = SDL_CD;
    52:   typedef _struct_SDL_CDtrack = SDL_CDtrack;
    53:   */
    54: 
    55:   //ENUMERATION CONSTANTS
    56:   const CD_TRAYEMPTY: int = 'CD_TRAYEMPTY';
    57:   const CD_PLAYING: int = 'CD_PLAYING';
    58:   const CD_ERROR: int = 'CD_ERROR';
    59:   const CD_PAUSED: int = 'CD_PAUSED';
    60:   const CD_STOPPED: int = 'CD_STOPPED';
    61: 
    62:   //PROCEDURES
    63:   proc SDL_CDClose: ptr[SDL_CD];
    64: 
    65:   //FUNCTIONS
    66:   fun SDL_CDEject: ptr[SDL_CD] -> int;
    67:   fun SDL_CDName: int -> cptr[char];
    68:   fun SDL_CDNumDrives: 1 -> int;
    69:   fun SDL_CDOpen: int -> ptr[SDL_CD];
    70:   fun SDL_CDPause: ptr[SDL_CD] -> int;
    71:   fun SDL_CDPlay: ptr[SDL_CD] * int * int -> int;
    72:   fun SDL_CDPlayTracks: ptr[SDL_CD] * int * int * int * int -> int;
    73:   fun SDL_CDResume: ptr[SDL_CD] -> int;
    74:   fun SDL_CDStatus: ptr[SDL_CD] -> CDstatus;
    75:   fun SDL_CDStop: ptr[SDL_CD] -> int;
    76: }
End felix section to lib/SDL/SDL_cdrom.flx[1]
Start felix section to lib/SDL/SDL_error.flx[1 /1 ]
     1: #line 468 "./lpsrc/flx_sdl.pak"
     2: //Module        : SDL_error_h
     3: //Timestamp     : 2006/1/6 2:1:27 UTC
     4: //Timestamp     : 2006/1/6 13:1:27 (local)
     5: //Raw Header    : SDL_error.h
     6: //Preprocessor  : gcc -E
     7: //Input file: sdl.flxcc.i
     8: //Flxcc Control : sdl.flxcc
     9: //Felix Version : 1.1.2_rc1
    10: include 'std';
    11: 
    12: //#define SDL_OutOfMemory()     SDL_Error(SDL_ENOMEM)
    13: //#define _SDL_error_h
    14: 
    15: module SDL_error_h
    16: {
    17:   requires package "sdl";
    18:   header '#include "SDL_error.h"';
    19:   open C_hack;
    20: 
    21:   //ABSTRACT TYPES
    22:   type SDL_errorcode = 'SDL_errorcode';
    23: 
    24:   //ENUMERATION CONSTANTS
    25:   const SDL_EFSEEK: int = 'SDL_EFSEEK';
    26:   const SDL_ENOMEM: int = 'SDL_ENOMEM';
    27:   const SDL_LASTERROR: int = 'SDL_LASTERROR';
    28:   const SDL_EFREAD: int = 'SDL_EFREAD';
    29:   const SDL_EFWRITE: int = 'SDL_EFWRITE';
    30: 
    31:   //PROCEDURES
    32:   proc SDL_ClearError: 1;
    33:   proc SDL_Error: SDL_errorcode;
    34:   proc SDL_SetError[t]: t;
    35: 
    36:   //FUNCTIONS
    37:   fun SDL_GetError: 1 -> ptr[char];
    38: }
End felix section to lib/SDL/SDL_error.flx[1]
Start felix section to lib/SDL/SDL_events.flx[1 /1 ]
     1: #line 508 "./lpsrc/flx_sdl.pak"
     2: //Module        : SDL_events_h
     3: //Timestamp     : 2006/1/6 2:18:42 UTC
     4: //Timestamp     : 2006/1/6 13:18:42 (local)
     5: //Raw Header    : SDL_events.h
     6: //Preprocessor  : gcc -E
     7: //Input file: sdl.flxcc.i
     8: //Flxcc Control : sdl.flxcc
     9: //Felix Version : 1.1.2_rc1
    10: include 'std';
    11: 
    12: //#define SDL_ENABLE     1
    13: //#define SDL_DISABLE    0
    14: //#define SDL_IGNORE     0
    15: //#define SDL_QUERY     -1
    16: //#define SDL_ALLEVENTS         0xFFFFFFFF
    17: //#define SDL_EVENTMASK(X)      (1<<(X))
    18: //#define _SDL_events_h
    19: 
    20: //INCLUDES
    21: include"SDL/SDL_keyboard";
    22: 
    23: module SDL_events_h
    24: {
    25:   requires package "sdl";
    26:   header '#include "SDL_events.h"';
    27:   open C_hack;
    28:   open SDL_keyboard_h;
    29: 
    30:   //ABSTRACT TYPES
    31:   type SDL_eventaction = 'SDL_eventaction';
    32: 
    33:   //CSTRUCTS
    34:   cstruct SDL_SysWMEvent {
    35:     type_: uint8;
    36:     msg: ptr[SDL_SysWMmsg];
    37:   }
    38:   cstruct SDL_ResizeEvent {
    39:     type_: uint8;
    40:     w: int;
    41:     h: int;
    42:   }
    43:   cstruct SDL_KeyboardEvent {
    44:     type_: uint8;
    45:     which: uint8;
    46:     state: uint8;
    47:     keysym: SDL_keysym;
    48:   }
    49:   cstruct SDL_JoyBallEvent {
    50:     type_: uint8;
    51:     which: uint8;
    52:     ball: uint8;
    53:     xrel: int16;
    54:     yrel: int16;
    55:   }
    56:   cstruct SDL_JoyHatEvent {
    57:     type_: uint8;
    58:     which: uint8;
    59:     hat: uint8;
    60:     value: uint8;
    61:   }
    62:   cstruct SDL_ExposeEvent {
    63:     type_: uint8;
    64:   }
    65:   cstruct SDL_MouseButtonEvent {
    66:     type_: uint8;
    67:     which: uint8;
    68:     button: uint8;
    69:     state: uint8;
    70:     x: uint16;
    71:     y: uint16;
    72:   }
    73:   cstruct SDL_MouseMotionEvent {
    74:     type_: uint8;
    75:     which: uint8;
    76:     state: uint8;
    77:     x: uint16;
    78:     y: uint16;
    79:     xrel: int16;
    80:     yrel: int16;
    81:   }
    82:   cstruct SDL_JoyButtonEvent {
    83:     type_: uint8;
    84:     which: uint8;
    85:     button: uint8;
    86:     state: uint8;
    87:   }
    88:   cstruct SDL_QuitEvent {
    89:     type_: uint8;
    90:   }
    91:   cstruct SDL_JoyAxisEvent {
    92:     type_: uint8;
    93:     which: uint8;
    94:     axis: uint8;
    95:     value: int16;
    96:   }
    97:   cstruct SDL_UserEvent {
    98:     type_: uint8;
    99:     code_: int;
   100:     data1: address;
   101:     data2: address;
   102:   }
   103:   cstruct SDL_ActiveEvent {
   104:     type_: uint8;
   105:     gain: uint8;
   106:     state: uint8;
   107:   }
   108: 
   109:   // This is ACTUALLY a C union .. but the syntax is the same
   110:   // as for a struct .. so we can model it with a struct
   111:   cstruct SDL_Event = {
   112:     //type_ : uint8; // type is a keyword ..
   113:     active : SDL_ActiveEvent;
   114:     key : SDL_KeyboardEvent;
   115:     motion: SDL_MouseMotionEvent;
   116:     button: SDL_MouseButtonEvent;
   117:     jaxis : SDL_JoyAxisEvent;
   118:     jball : SDL_JoyBallEvent;
   119:     jhat : SDL_JoyHatEvent;
   120:     jbutton : SDL_JoyButtonEvent;
   121:     resize : SDL_ResizeEvent;
   122:     expose : SDL_ExposeEvent;
   123:     quit: SDL_QuitEvent;
   124:     user : SDL_UserEvent;
   125:     syswm : SDL_SysWMEvent;
   126:   }
   127: 
   128:   // use name type_ instead of type ..
   129:   fun get_type_:SDL_Event -> uint8 = "$1.type";
   130: 
   131:   //C FUNCTION POINTER TYPES
   132:   header '''typedef int (*SDL_events_h_cft_1)(SDL_Event const *);''';
   133:   type SDL_events_h_cft_1 = 'SDL_events_h_cft_1';
   134: 
   135:   //PURE INCOMPLETE TYPES
   136:   type _struct_SDL_SysWMmsg = 'struct SDL_SysWMmsg'; //local
   137: 
   138:   //STRUCT or UNION TAG ALIASES
   139:   typedef SDL_SysWMmsg = _struct_SDL_SysWMmsg;
   140: 
   141:   typedef SDL_EventMasks = int;
   142:   typedef SDL_EventFilter = SDL_events_h_cft_1;
   143:   typedef SDL_Events = int;
   144: 
   145:   // Weird
   146:   const SDL_PEEKEVENT: uint8 = 'SDL_PEEKEVENT';
   147:   const SDL_GETEVENT: uint8 = 'SDL_GETEVENT';
   148:   const SDL_ADDEVENT: uint8 = 'SDL_ADDEVENT';
   149:   const SDL_NUMEVENTS: uint8 = 'SDL_NUMEVENTS';
   150: 
   151:   //EVENTS
   152:   const SDL_MOUSEBUTTONUP: uint8 = 'SDL_MOUSEBUTTONUP';
   153:   const SDL_MOUSEBUTTONDOWN: uint8 = 'SDL_MOUSEBUTTONDOWN';
   154:   const SDL_KEYUP: uint8 = 'SDL_KEYUP';
   155:   const SDL_JOYBALLMOTION: uint8 = 'SDL_JOYBALLMOTION';
   156:   const SDL_NOEVENT: uint8 = 'SDL_NOEVENT';
   157:   const SDL_JOYAXISMOTION: uint8 = 'SDL_JOYAXISMOTION';
   158:   const SDL_QUIT: uint8 = 'SDL_QUIT';
   159:   const SDL_VIDEORESIZE: uint8 = 'SDL_VIDEORESIZE';
   160:   const SDL_JOYBUTTONDOWN: uint8 = 'SDL_JOYBUTTONDOWN';
   161:   const SDL_KEYDOWN: uint8 = 'SDL_KEYDOWN';
   162:   const SDL_JOYBUTTONUP: uint8 = 'SDL_JOYBUTTONUP';
   163:   const SDL_SYSWMEVENT: uint8 = 'SDL_SYSWMEVENT';
   164:   const SDL_USEREVENT: uint8 = 'SDL_USEREVENT';
   165:   const SDL_JOYHATMOTION: uint8 = 'SDL_JOYHATMOTION';
   166:   const SDL_ACTIVEEVENT: uint8 = 'SDL_ACTIVEEVENT';
   167:   const SDL_VIDEOEXPOSE: uint8 = 'SDL_VIDEOEXPOSE';
   168:   const SDL_MOUSEMOTION: uint8 = 'SDL_MOUSEMOTION';
   169: 
   170:   // reserved
   171:   const SDL_EVENT_RESERVED2: uint8 = 'SDL_EVENT_RESERVED2';
   172:   const SDL_EVENT_RESERVED3: uint8 = 'SDL_EVENT_RESERVED3';
   173:   const SDL_EVENT_RESERVED4: uint8 = 'SDL_EVENT_RESERVED4';
   174:   const SDL_EVENT_RESERVED5: uint8 = 'SDL_EVENT_RESERVED5';
   175:   const SDL_EVENT_RESERVED6: uint8 = 'SDL_EVENT_RESERVED6';
   176:   const SDL_EVENT_RESERVED7: uint8 = 'SDL_EVENT_RESERVED7';
   177:   const SDL_EVENT_RESERVEDA: uint8 = 'SDL_EVENT_RESERVEDA';
   178:   const SDL_EVENT_RESERVEDB: uint8 = 'SDL_EVENT_RESERVEDB';
   179: 
   180:   // MASKS
   181:   // Joystick
   182:   const SDL_JOYBUTTONDOWNMASK: uint8 = 'SDL_JOYBUTTONDOWNMASK';
   183:   const SDL_JOYBUTTONUPMASK: uint8 = 'SDL_JOYBUTTONUPMASK';
   184:   const SDL_JOYHATMOTIONMASK: uint8 = 'SDL_JOYHATMOTIONMASK';
   185:   const SDL_JOYAXISMOTIONMASK: uint8 = 'SDL_JOYAXISMOTIONMASK';
   186:   const SDL_JOYBALLMOTIONMASK: uint8 = 'SDL_JOYBALLMOTIONMASK';
   187:   const SDL_JOYEVENTMASK: uint8 = 'SDL_JOYEVENTMASK';
   188: 
   189:   // mouse
   190:   const SDL_MOUSEMOTIONMASK: uint8 = 'SDL_MOUSEMOTIONMASK';
   191:   const SDL_MOUSEEVENTMASK: uint8 = 'SDL_MOUSEEVENTMASK';
   192:   const SDL_MOUSEBUTTONUPMASK: uint8 = 'SDL_MOUSEBUTTONUPMASK';
   193:   const SDL_MOUSEBUTTONDOWNMASK: uint8 = 'SDL_MOUSEBUTTONDOWNMASK';
   194: 
   195:   // video
   196:   const SDL_VIDEORESIZEMASK: uint8 = 'SDL_VIDEORESIZEMASK';
   197:   const SDL_ACTIVEEVENTMASK: uint8 = 'SDL_ACTIVEEVENTMASK';
   198:   const SDL_SYSWMEVENTMASK: uint8 = 'SDL_SYSWMEVENTMASK';
   199:   const SDL_VIDEOEXPOSEMASK: uint8 = 'SDL_VIDEOEXPOSEMASK';
   200: 
   201:   // keyboard
   202:   const SDL_KEYDOWNMASK: uint8 = 'SDL_KEYDOWNMASK';
   203:   const SDL_KEYUPMASK: uint8 = 'SDL_KEYUPMASK';
   204:   const SDL_QUITMASK: uint8 = 'SDL_QUITMASK';
   205: 
   206:   //PROCEDURES
   207:   proc SDL_PumpEvents: 1;
   208:   proc SDL_SetEventFilter: SDL_events_h_cft_1;
   209: 
   210:   //FUNCTIONS
   211:   fun SDL_EventState: uint8 * int -> uint8;
   212:   fun SDL_GetEventFilter: 1 -> SDL_EventFilter;
   213:   fun SDL_PeepEvents: ptr[SDL_Event] * int * SDL_eventaction * uint32 -> int;
   214:   fun SDL_PollEvent: ptr[SDL_Event] -> int;
   215:   fun SDL_PushEvent: ptr[SDL_Event] -> int;
   216:   fun SDL_WaitEvent: ptr[SDL_Event] -> int;
   217: }
End felix section to lib/SDL/SDL_events.flx[1]
Start felix section to lib/SDL/SDL_joystick.flx[1 /1 ]
     1: #line 727 "./lpsrc/flx_sdl.pak"
     2: //Module        : SDL_joystick_h
     3: //Timestamp     : 2006/1/6 2:18:42 UTC
     4: //Timestamp     : 2006/1/6 13:18:42 (local)
     5: //Raw Header    : SDL_joystick.h
     6: //Preprocessor  : gcc -E
     7: //Input file: sdl.flxcc.i
     8: //Flxcc Control : sdl.flxcc
     9: //Felix Version : 1.1.2_rc1
    10: include 'std';
    11: 
    12: //#define SDL_HAT_LEFTDOWN      (SDL_HAT_LEFT|SDL_HAT_DOWN)
    13: //#define SDL_HAT_LEFTUP                (SDL_HAT_LEFT|SDL_HAT_UP)
    14: //#define SDL_HAT_RIGHTDOWN     (SDL_HAT_RIGHT|SDL_HAT_DOWN)
    15: //#define SDL_HAT_RIGHTUP               (SDL_HAT_RIGHT|SDL_HAT_UP)
    16: //#define SDL_HAT_LEFT          0x08
    17: //#define SDL_HAT_DOWN          0x04
    18: //#define SDL_HAT_RIGHT         0x02
    19: //#define SDL_HAT_UP            0x01
    20: //#define SDL_HAT_CENTERED      0x00
    21: //#define _SDL_joystick_h
    22: 
    23: module SDL_joystick_h
    24: {
    25:   requires package "sdl";
    26:   header '#include "SDL_joystick.h"';
    27:   open C_hack;
    28: 
    29:   //PURE INCOMPLETE TYPES
    30:   type _struct__SDL_Joystick = 'struct _SDL_Joystick'; //local
    31: 
    32:   //STRUCT or UNION TAG ALIASES
    33:   typedef SDL_Joystick = _struct__SDL_Joystick;
    34: 
    35:   //PROCEDURES
    36:   proc SDL_JoystickClose: ptr[SDL_Joystick];
    37:   proc SDL_JoystickUpdate: 1;
    38: 
    39:   //FUNCTIONS
    40:   fun SDL_JoystickEventState: int -> int;
    41:   fun SDL_JoystickGetAxis: ptr[SDL_Joystick] * int -> int16;
    42:   fun SDL_JoystickGetBall: ptr[SDL_Joystick] * int * ptr[int] * ptr[int] -> int;
    43:   fun SDL_JoystickGetButton: ptr[SDL_Joystick] * int -> uint8;
    44:   fun SDL_JoystickGetHat: ptr[SDL_Joystick] * int -> uint8;
    45:   fun SDL_JoystickIndex: ptr[SDL_Joystick] -> int;
    46:   fun SDL_JoystickName: int -> cptr[char];
    47:   fun SDL_JoystickNumAxes: ptr[SDL_Joystick] -> int;
    48:   fun SDL_JoystickNumBalls: ptr[SDL_Joystick] -> int;
    49:   fun SDL_JoystickNumButtons: ptr[SDL_Joystick] -> int;
    50:   fun SDL_JoystickNumHats: ptr[SDL_Joystick] -> int;
    51:   fun SDL_JoystickOpen: int -> ptr[SDL_Joystick];
    52:   fun SDL_JoystickOpened: int -> int;
    53:   fun SDL_NumJoysticks: 1 -> int;
    54: }
End felix section to lib/SDL/SDL_joystick.flx[1]
Start felix section to lib/SDL/SDL_keyboard.flx[1 /1 ]
     1: #line 783 "./lpsrc/flx_sdl.pak"
     2: //Module        : SDL_keyboard_h
     3: //Timestamp     : 2006/1/6 2:18:42 UTC
     4: //Timestamp     : 2006/1/6 13:18:42 (local)
     5: //Raw Header    : SDL_keyboard.h
     6: //Preprocessor  : gcc -E
     7: //Input file: sdl.flxcc.i
     8: //Flxcc Control : sdl.flxcc
     9: //Felix Version : 1.1.2_rc1
    10: include 'std';
    11: 
    12: //#define SDL_DEFAULT_REPEAT_INTERVAL   30
    13: //#define SDL_DEFAULT_REPEAT_DELAY      500
    14: //#define SDL_ALL_HOTKEYS               0xFFFFFFFF
    15: //#define _SDL_keyboard_h
    16: 
    17: //INCLUDES
    18: include"SDL/SDL_keysym";
    19: 
    20: module SDL_keyboard_h
    21: {
    22:   requires package "sdl";
    23:   header '#include "SDL_keyboard.h"';
    24:   open C_hack;
    25:   open SDL_keysym_h;
    26: 
    27:   //CSTRUCTS
    28:   cstruct SDL_keysym {
    29:     scancode: uint8;
    30:     sym: SDLKey;
    31:     mod: SDLMod;
    32:     unicode: uint16;
    33:   }
    34: 
    35:   //STRUCT or UNION TAG ALIASES
    36: 
    37:   /*
    38:   //TYPE ALIASES
    39:   typedef _struct_SDL_keysym = SDL_keysym;
    40:   */
    41: 
    42:   //PROCEDURES
    43:   proc SDL_SetModState: SDLMod;
    44: 
    45:   //FUNCTIONS
    46:   fun SDL_EnableKeyRepeat: int * int -> int;
    47:   fun SDL_EnableUNICODE: int -> int;
    48:   fun SDL_GetKeyName: SDLKey -> ptr[char];
    49:   fun SDL_GetKeyState: ptr[int] -> ptr[uint8];
    50:   fun SDL_GetModState: 1 -> SDLMod;
    51: }
End felix section to lib/SDL/SDL_keyboard.flx[1]
Start felix section to lib/SDL/SDL_keysym.flx[1 /1 ]
     1: #line 836 "./lpsrc/flx_sdl.pak"
     2: //Module        : SDL_keysym_h
     3: //Timestamp     : 2006/1/6 2:1:27 UTC
     4: //Timestamp     : 2006/1/6 13:1:27 (local)
     5: //Raw Header    : SDL_keysym.h
     6: //Preprocessor  : gcc -E
     7: //Input file: sdl.flxcc.i
     8: //Flxcc Control : sdl.flxcc
     9: //Felix Version : 1.1.2_rc1
    10: include 'std';
    11: 
    12: //#define KMOD_META     (KMOD_LMETA|KMOD_RMETA)
    13: //#define KMOD_ALT      (KMOD_LALT|KMOD_RALT)
    14: //#define KMOD_SHIFT    (KMOD_LSHIFT|KMOD_RSHIFT)
    15: //#define KMOD_CTRL     (KMOD_LCTRL|KMOD_RCTRL)
    16: //#define _SDL_keysym_h
    17: 
    18: module SDL_keysym_h
    19: {
    20:   requires package "sdl";
    21:   header '#include "SDL_keysym.h"';
    22:   open C_hack;
    23: 
    24:   //ABSTRACT TYPES
    25:   type SDLKey = 'SDLKey';
    26:   type SDLMod = 'SDLMod';
    27: 
    28:   //ENUMERATION CONSTANTS
    29:   const SDLK_WORLD_1: SDLKey = 'SDLK_WORLD_1';
    30:   const SDLK_POWER: SDLKey = 'SDLK_POWER';
    31:   const SDLK_SLASH: SDLKey = 'SDLK_SLASH';
    32:   const SDLK_WORLD_2: SDLKey = 'SDLK_WORLD_2';
    33:   const SDLK_WORLD_3: SDLKey = 'SDLK_WORLD_3';
    34:   const SDLK_F1: SDLKey = 'SDLK_F1';
    35:   const SDLK_WORLD_4: SDLKey = 'SDLK_WORLD_4';
    36:   const SDLK_WORLD_20: SDLKey = 'SDLK_WORLD_20';
    37:   const SDLK_F2: SDLKey = 'SDLK_F2';
    38:   const SDLK_WORLD_5: SDLKey = 'SDLK_WORLD_5';
    39:   const SDLK_WORLD_21: SDLKey = 'SDLK_WORLD_21';
    40:   const SDLK_F3: SDLKey = 'SDLK_F3';
    41:   const SDLK_KP_EQUALS: SDLKey = 'SDLK_KP_EQUALS';
    42:   const SDLK_WORLD_6: SDLKey = 'SDLK_WORLD_6';
    43:   const SDLK_LEFT: SDLKey = 'SDLK_LEFT';
    44:   const SDLK_WORLD_22: SDLKey = 'SDLK_WORLD_22';
    45:   const SDLK_F4: SDLKey = 'SDLK_F4';
    46:   const SDLK_WORLD_7: SDLKey = 'SDLK_WORLD_7';
    47:   const SDLK_WORLD_23: SDLKey = 'SDLK_WORLD_23';
    48:   const SDLK_UNDO: SDLKey = 'SDLK_UNDO';
    49:   const SDLK_F5: SDLKey = 'SDLK_F5';
    50:   const SDLK_WORLD_8: SDLKey = 'SDLK_WORLD_8';
    51:   const SDLK_WORLD_24: SDLKey = 'SDLK_WORLD_24';
    52:   const SDLK_F6: SDLKey = 'SDLK_F6';
    53:   const SDLK_WORLD_9: SDLKey = 'SDLK_WORLD_9';
    54:   const SDLK_WORLD_25: SDLKey = 'SDLK_WORLD_25';
    55:   const SDLK_F7: SDLKey = 'SDLK_F7';
    56:   const SDLK_WORLD_26: SDLKey = 'SDLK_WORLD_26';
    57:   const SDLK_F8: SDLKey = 'SDLK_F8';
    58:   const SDLK_WORLD_27: SDLKey = 'SDLK_WORLD_27';
    59:   const SDLK_F9: SDLKey = 'SDLK_F9';
    60:   const SDLK_LEFTPAREN: SDLKey = 'SDLK_LEFTPAREN';
    61:   const SDLK_WORLD_28: SDLKey = 'SDLK_WORLD_28';
    62:   const SDLK_WORLD_29: SDLKey = 'SDLK_WORLD_29';
    63:   const SDLK_KP_ENTER: SDLKey = 'SDLK_KP_ENTER';
    64:   const SDLK_CAPSLOCK: SDLKey = 'SDLK_CAPSLOCK';
    65:   const SDLK_WORLD_30: SDLKey = 'SDLK_WORLD_30';
    66:   const SDLK_WORLD_31: SDLKey = 'SDLK_WORLD_31';
    67:   const SDLK_COMMA: SDLKey = 'SDLK_COMMA';
    68:   const SDLK_WORLD_32: SDLKey = 'SDLK_WORLD_32';
    69:   const SDLK_HASH: SDLKey = 'SDLK_HASH';
    70:   const SDLK_SPACE: SDLKey = 'SDLK_SPACE';
    71:   const SDLK_WORLD_33: SDLKey = 'SDLK_WORLD_33';
    72:   const SDLK_WORLD_34: SDLKey = 'SDLK_WORLD_34';
    73:   const SDLK_WORLD_35: SDLKey = 'SDLK_WORLD_35';
    74:   const SDLK_PLUS: SDLKey = 'SDLK_PLUS';
    75:   const SDLK_WORLD_36: SDLKey = 'SDLK_WORLD_36';
    76:   const SDLK_WORLD_37: SDLKey = 'SDLK_WORLD_37';
    77:   const SDLK_WORLD_38: SDLKey = 'SDLK_WORLD_38';
    78:   const SDLK_KP_PERIOD: SDLKey = 'SDLK_KP_PERIOD';
    79:   const SDLK_PAUSE: SDLKey = 'SDLK_PAUSE';
    80:   const SDLK_WORLD_39: SDLKey = 'SDLK_WORLD_39';
    81:   const SDLK_KP_MINUS: SDLKey = 'SDLK_KP_MINUS';
    82:   const KMOD_LALT: SDLKey = 'KMOD_LALT';
    83:   const SDLK_TAB: SDLKey = 'SDLK_TAB';
    84:   const SDLK_0: SDLKey = 'SDLK_0';
    85:   const SDLK_COMPOSE: SDLKey = 'SDLK_COMPOSE';
    86:   const SDLK_1: SDLKey = 'SDLK_1';
    87:   const SDLK_2: SDLKey = 'SDLK_2';
    88:   const SDLK_LALT: SDLKey = 'SDLK_LALT';
    89:   const SDLK_3: SDLKey = 'SDLK_3';
    90:   const SDLK_WORLD_40: SDLKey = 'SDLK_WORLD_40';
    91:   const SDLK_4: SDLKey = 'SDLK_4';
    92:   const SDLK_WORLD_41: SDLKey = 'SDLK_WORLD_41';
    93:   const SDLK_5: SDLKey = 'SDLK_5';
    94:   const SDLK_RCTRL: SDLKey = 'SDLK_RCTRL';
    95:   const SDLK_WORLD_42: SDLKey = 'SDLK_WORLD_42';
    96:   const SDLK_6: SDLKey = 'SDLK_6';
    97:   const KMOD_RALT: SDLKey = 'KMOD_RALT';
    98:   const SDLK_WORLD_43: SDLKey = 'SDLK_WORLD_43';
    99:   const SDLK_7: SDLKey = 'SDLK_7';
   100:   const SDLK_WORLD_44: SDLKey = 'SDLK_WORLD_44';
   101:   const SDLK_8: SDLKey = 'SDLK_8';
   102:   const SDLK_WORLD_45: SDLKey = 'SDLK_WORLD_45';
   103:   const SDLK_9: SDLKey = 'SDLK_9';
   104:   const SDLK_ESCAPE: SDLKey = 'SDLK_ESCAPE';
   105:   const SDLK_WORLD_46: SDLKey = 'SDLK_WORLD_46';
   106:   const SDLK_WORLD_47: SDLKey = 'SDLK_WORLD_47';
   107:   const SDLK_BACKQUOTE: SDLKey = 'SDLK_BACKQUOTE';
   108:   const SDLK_RALT: SDLKey = 'SDLK_RALT';
   109:   const SDLK_WORLD_48: SDLKey = 'SDLK_WORLD_48';
   110:   const SDLK_CARET: SDLKey = 'SDLK_CARET';
   111:   const SDLK_WORLD_49: SDLKey = 'SDLK_WORLD_49';
   112:   const SDLK_RIGHT: SDLKey = 'SDLK_RIGHT';
   113:   const SDLK_DELETE: SDLKey = 'SDLK_DELETE';
   114:   const SDLK_RSHIFT: SDLKey = 'SDLK_RSHIFT';
   115:   const SDLK_LESS: SDLKey = 'SDLK_LESS';
   116:   const SDLK_AMPERSAND: SDLKey = 'SDLK_AMPERSAND';
   117:   const SDLK_BACKSLASH: SDLKey = 'SDLK_BACKSLASH';
   118:   const SDLK_WORLD_50: SDLKey = 'SDLK_WORLD_50';
   119:   const SDLK_WORLD_51: SDLKey = 'SDLK_WORLD_51';
   120:   const KMOD_LSHIFT: SDLKey = 'KMOD_LSHIFT';
   121:   const SDLK_WORLD_52: SDLKey = 'SDLK_WORLD_52';
   122:   const SDLK_WORLD_53: SDLKey = 'SDLK_WORLD_53';
   123:   const SDLK_WORLD_54: SDLKey = 'SDLK_WORLD_54';
   124:   const SDLK_RMETA: SDLKey = 'SDLK_RMETA';
   125:   const SDLK_WORLD_55: SDLKey = 'SDLK_WORLD_55';
   126:   const SDLK_WORLD_56: SDLKey = 'SDLK_WORLD_56';
   127:   const SDLK_LCTRL: SDLKey = 'SDLK_LCTRL';
   128:   const SDLK_WORLD_57: SDLKey = 'SDLK_WORLD_57';
   129:   const SDLK_WORLD_58: SDLKey = 'SDLK_WORLD_58';
   130:   const SDLK_WORLD_59: SDLKey = 'SDLK_WORLD_59';
   131:   const SDLK_RETURN: SDLKey = 'SDLK_RETURN';
   132:   const SDLK_QUESTION: SDLKey = 'SDLK_QUESTION';
   133:   const SDLK_BREAK: SDLKey = 'SDLK_BREAK';
   134:   const SDLK_RSUPER: SDLKey = 'SDLK_RSUPER';
   135:   const SDLK_WORLD_60: SDLKey = 'SDLK_WORLD_60';
   136:   const SDLK_WORLD_61: SDLKey = 'SDLK_WORLD_61';
   137:   const KMOD_MODE: SDLKey = 'KMOD_MODE';
   138:   const SDLK_WORLD_62: SDLKey = 'SDLK_WORLD_62';
   139:   const SDLK_UNDERSCORE: SDLKey = 'SDLK_UNDERSCORE';
   140:   const SDLK_WORLD_63: SDLKey = 'SDLK_WORLD_63';
   141:   const SDLK_UNKNOWN: SDLKey = 'SDLK_UNKNOWN';
   142:   const SDLK_WORLD_64: SDLKey = 'SDLK_WORLD_64';
   143:   const SDLK_BACKSPACE: SDLKey = 'SDLK_BACKSPACE';
   144:   const SDLK_WORLD_65: SDLKey = 'SDLK_WORLD_65';
   145:   const SDLK_EQUALS: SDLKey = 'SDLK_EQUALS';
   146:   const SDLK_WORLD_66: SDLKey = 'SDLK_WORLD_66';
   147:   const SDLK_PAGEDOWN: SDLKey = 'SDLK_PAGEDOWN';
   148:   const SDLK_MODE: SDLKey = 'SDLK_MODE';
   149:   const SDLK_WORLD_67: SDLKey = 'SDLK_WORLD_67';
   150:   const SDLK_a: SDLKey = 'SDLK_a';
   151:   const SDLK_WORLD_68: SDLKey = 'SDLK_WORLD_68';
   152:   const SDLK_HOME: SDLKey = 'SDLK_HOME';
   153:   const SDLK_b: SDLKey = 'SDLK_b';
   154:   const SDLK_WORLD_69: SDLKey = 'SDLK_WORLD_69';
   155:   const SDLK_c: SDLKey = 'SDLK_c';
   156:   const SDLK_LMETA: SDLKey = 'SDLK_LMETA';
   157:   const SDLK_d: SDLKey = 'SDLK_d';
   158:   const SDLK_e: SDLKey = 'SDLK_e';
   159:   const SDLK_RIGHTBRACKET: SDLKey = 'SDLK_RIGHTBRACKET';
   160:   const SDLK_f: SDLKey = 'SDLK_f';
   161:   const SDLK_g: SDLKey = 'SDLK_g';
   162:   const SDLK_h: SDLKey = 'SDLK_h';
   163:   const SDLK_i: SDLKey = 'SDLK_i';
   164:   const SDLK_j: SDLKey = 'SDLK_j';
   165:   const SDLK_k: SDLKey = 'SDLK_k';
   166:   const SDLK_PRINT: SDLKey = 'SDLK_PRINT';
   167:   const SDLK_l: SDLKey = 'SDLK_l';
   168:   const SDLK_m: SDLKey = 'SDLK_m';
   169:   const SDLK_WORLD_70: SDLKey = 'SDLK_WORLD_70';
   170:   const SDLK_n: SDLKey = 'SDLK_n';
   171:   const SDLK_WORLD_71: SDLKey = 'SDLK_WORLD_71';
   172:   const SDLK_o: SDLKey = 'SDLK_o';
   173:   const SDLK_WORLD_72: SDLKey = 'SDLK_WORLD_72';
   174:   const SDLK_p: SDLKey = 'SDLK_p';
   175:   const SDLK_WORLD_73: SDLKey = 'SDLK_WORLD_73';
   176:   const SDLK_q: SDLKey = 'SDLK_q';
   177:   const SDLK_WORLD_74: SDLKey = 'SDLK_WORLD_74';
   178:   const SDLK_r: SDLKey = 'SDLK_r';
   179:   const SDLK_COLON: SDLKey = 'SDLK_COLON';
   180:   const SDLK_WORLD_75: SDLKey = 'SDLK_WORLD_75';
   181:   const SDLK_s: SDLKey = 'SDLK_s';
   182:   const SDLK_WORLD_76: SDLKey = 'SDLK_WORLD_76';
   183:   const SDLK_t: SDLKey = 'SDLK_t';
   184:   const SDLK_WORLD_77: SDLKey = 'SDLK_WORLD_77';
   185:   const SDLK_u: SDLKey = 'SDLK_u';
   186:   const SDLK_WORLD_78: SDLKey = 'SDLK_WORLD_78';
   187:   const SDLK_v: SDLKey = 'SDLK_v';
   188:   const SDLK_WORLD_79: SDLKey = 'SDLK_WORLD_79';
   189:   const SDLK_w: SDLKey = 'SDLK_w';
   190:   const SDLK_x: SDLKey = 'SDLK_x';
   191:   const SDLK_PERIOD: SDLKey = 'SDLK_PERIOD';
   192:   const SDLK_SEMICOLON: SDLKey = 'SDLK_SEMICOLON';
   193:   const KMOD_NONE: SDLKey = 'KMOD_NONE';
   194:   const SDLK_y: SDLKey = 'SDLK_y';
   195:   const SDLK_EURO: SDLKey = 'SDLK_EURO';
   196:   const SDLK_z: SDLKey = 'SDLK_z';
   197:   const SDLK_SYSREQ: SDLKey = 'SDLK_SYSREQ';
   198:   const SDLK_GREATER: SDLKey = 'SDLK_GREATER';
   199:   const SDLK_DOLLAR: SDLKey = 'SDLK_DOLLAR';
   200:   const SDLK_WORLD_80: SDLKey = 'SDLK_WORLD_80';
   201:   const SDLK_WORLD_81: SDLKey = 'SDLK_WORLD_81';
   202:   const SDLK_WORLD_82: SDLKey = 'SDLK_WORLD_82';
   203:   const SDLK_F10: SDLKey = 'SDLK_F10';
   204:   const SDLK_WORLD_83: SDLKey = 'SDLK_WORLD_83';
   205:   const SDLK_F11: SDLKey = 'SDLK_F11';
   206:   const SDLK_WORLD_84: SDLKey = 'SDLK_WORLD_84';
   207:   const SDLK_LSHIFT: SDLKey = 'SDLK_LSHIFT';
   208:   const SDLK_F12: SDLKey = 'SDLK_F12';
   209:   const SDLK_WORLD_85: SDLKey = 'SDLK_WORLD_85';
   210:   const SDLK_F13: SDLKey = 'SDLK_F13';
   211:   const SDLK_PAGEUP: SDLKey = 'SDLK_PAGEUP';
   212:   const SDLK_WORLD_86: SDLKey = 'SDLK_WORLD_86';
   213:   const SDLK_F14: SDLKey = 'SDLK_F14';
   214:   const SDLK_UP: SDLKey = 'SDLK_UP';
   215:   const SDLK_WORLD_87: SDLKey = 'SDLK_WORLD_87';
   216:   const KMOD_RCTRL: SDLKey = 'KMOD_RCTRL';
   217:   const SDLK_F15: SDLKey = 'SDLK_F15';
   218:   const SDLK_WORLD_88: SDLKey = 'SDLK_WORLD_88';
   219:   const SDLK_WORLD_89: SDLKey = 'SDLK_WORLD_89';
   220:   const SDLK_KP_MULTIPLY: SDLKey = 'SDLK_KP_MULTIPLY';
   221:   const SDLK_END: SDLKey = 'SDLK_END';
   222:   const SDLK_WORLD_90: SDLKey = 'SDLK_WORLD_90';
   223:   const SDLK_CLEAR: SDLKey = 'SDLK_CLEAR';
   224:   const SDLK_WORLD_91: SDLKey = 'SDLK_WORLD_91';
   225:   const SDLK_AT: SDLKey = 'SDLK_AT';
   226:   const SDLK_WORLD_92: SDLKey = 'SDLK_WORLD_92';
   227:   const SDLK_WORLD_93: SDLKey = 'SDLK_WORLD_93';
   228:   const SDLK_KP_DIVIDE: SDLKey = 'SDLK_KP_DIVIDE';
   229:   const SDLK_WORLD_94: SDLKey = 'SDLK_WORLD_94';
   230:   const SDLK_WORLD_95: SDLKey = 'SDLK_WORLD_95';
   231:   const SDLK_ASTERISK: SDLKey = 'SDLK_ASTERISK';
   232:   const SDLK_LSUPER: SDLKey = 'SDLK_LSUPER';
   233:   const KMOD_RESERVED: SDLKey = 'KMOD_RESERVED';
   234:   const KMOD_RMETA: SDLKey = 'KMOD_RMETA';
   235:   const KMOD_LCTRL: SDLKey = 'KMOD_LCTRL';
   236:   const SDLK_DOWN: SDLKey = 'SDLK_DOWN';
   237:   const SDLK_NUMLOCK: SDLKey = 'SDLK_NUMLOCK';
   238:   const SDLK_EXCLAIM: SDLKey = 'SDLK_EXCLAIM';
   239:   const KMOD_LMETA: SDLKey = 'KMOD_LMETA';
   240:   const SDLK_LAST: SDLKey = 'SDLK_LAST';
   241:   const SDLK_HELP: SDLKey = 'SDLK_HELP';
   242:   const SDLK_KP0: SDLKey = 'SDLK_KP0';
   243:   const SDLK_KP1: SDLKey = 'SDLK_KP1';
   244:   const SDLK_KP2: SDLKey = 'SDLK_KP2';
   245:   const SDLK_SCROLLOCK: SDLKey = 'SDLK_SCROLLOCK';
   246:   const SDLK_KP3: SDLKey = 'SDLK_KP3';
   247:   const SDLK_KP_PLUS: SDLKey = 'SDLK_KP_PLUS';
   248:   const SDLK_INSERT: SDLKey = 'SDLK_INSERT';
   249:   const SDLK_KP4: SDLKey = 'SDLK_KP4';
   250:   const SDLK_WORLD_10: SDLKey = 'SDLK_WORLD_10';
   251:   const SDLK_KP5: SDLKey = 'SDLK_KP5';
   252:   const SDLK_WORLD_11: SDLKey = 'SDLK_WORLD_11';
   253:   const SDLK_MINUS: SDLKey = 'SDLK_MINUS';
   254:   const SDLK_KP6: SDLKey = 'SDLK_KP6';
   255:   const SDLK_WORLD_12: SDLKey = 'SDLK_WORLD_12';
   256:   const SDLK_LEFTBRACKET: SDLKey = 'SDLK_LEFTBRACKET';
   257:   const SDLK_KP7: SDLKey = 'SDLK_KP7';
   258:   const SDLK_WORLD_13: SDLKey = 'SDLK_WORLD_13';
   259:   const SDLK_KP8: SDLKey = 'SDLK_KP8';
   260:   const SDLK_WORLD_14: SDLKey = 'SDLK_WORLD_14';
   261:   const SDLK_KP9: SDLKey = 'SDLK_KP9';
   262:   const SDLK_RIGHTPAREN: SDLKey = 'SDLK_RIGHTPAREN';
   263:   const SDLK_WORLD_15: SDLKey = 'SDLK_WORLD_15';
   264:   const SDLK_WORLD_16: SDLKey = 'SDLK_WORLD_16';
   265:   const SDLK_QUOTE: SDLKey = 'SDLK_QUOTE';
   266:   const SDLK_FIRST: SDLKey = 'SDLK_FIRST';
   267:   const SDLK_WORLD_17: SDLKey = 'SDLK_WORLD_17';
   268:   const KMOD_NUM: SDLKey = 'KMOD_NUM';
   269:   const SDLK_WORLD_18: SDLKey = 'SDLK_WORLD_18';
   270:   const SDLK_WORLD_19: SDLKey = 'SDLK_WORLD_19';
   271:   const SDLK_QUOTEDBL: SDLKey = 'SDLK_QUOTEDBL';
   272:   const KMOD_RSHIFT: SDLKey = 'KMOD_RSHIFT';
   273:   const SDLK_MENU: SDLKey = 'SDLK_MENU';
   274:   const KMOD_CAPS: SDLKey = 'KMOD_CAPS';
   275:   const SDLK_WORLD_0: SDLKey = 'SDLK_WORLD_0';
   276: 
   277:   fun eq: SDLKey * SDLKey -> bool = "$1==$2";
   278:   fun ne: SDLKey * SDLKey -> bool = "$1!=$2";
   279: }
End felix section to lib/SDL/SDL_keysym.flx[1]
Start felix section to lib/SDL/SDL_mouse.flx[1 /1 ]
     1: #line 1117 "./lpsrc/flx_sdl.pak"
     2: //Module        : SDL_mouse_h
     3: //Timestamp     : 2006/1/6 2:18:42 UTC
     4: //Timestamp     : 2006/1/6 13:18:42 (local)
     5: //Raw Header    : SDL_mouse.h
     6: //Preprocessor  : gcc -E
     7: //Input file: sdl.flxcc.i
     8: //Flxcc Control : sdl.flxcc
     9: //Felix Version : 1.1.2_rc1
    10: include 'std';
    11: 
    12: //#define SDL_BUTTON_RMASK      SDL_BUTTON(SDL_BUTTON_RIGHT)
    13: //#define SDL_BUTTON_MMASK      SDL_BUTTON(SDL_BUTTON_MIDDLE)
    14: //#define SDL_BUTTON_LMASK      SDL_BUTTON(SDL_BUTTON_LEFT)
    15: //#define SDL_BUTTON_WHEELDOWN  5
    16: //#define SDL_BUTTON_WHEELUP    4
    17: //#define SDL_BUTTON_RIGHT      3
    18: //#define SDL_BUTTON_MIDDLE     2
    19: //#define SDL_BUTTON_LEFT               1
    20: //#define SDL_BUTTON(X)         (SDL_PRESSED<<(X-1))
    21: //#define _SDL_mouse_h
    22: 
    23: //INCLUDES
    24: include"SDL/SDL_video";
    25: 
    26: module SDL_mouse_h
    27: {
    28:   requires package "sdl";
    29:   header '#include "SDL_mouse.h"';
    30:   open C_hack;
    31:   open SDL_video_h;
    32: 
    33:   //CSTRUCTS
    34:   cstruct SDL_Cursor {
    35:     area: SDL_Rect;
    36:     hot_x: int16;
    37:     hot_y: int16;
    38:     data: ptr[uint8];
    39:     mask: ptr[uint8];
    40:     save: ptr[ptr[uint8]];
    41:     wm_cursor: ptr[WMcursor];
    42:   }
    43: 
    44:   //PURE INCOMPLETE TYPES
    45:   type _struct_WMcursor = 'struct WMcursor'; //local
    46: 
    47:   //STRUCT or UNION TAG ALIASES
    48:   typedef WMcursor = _struct_WMcursor;
    49: 
    50:   /*
    51:   //TYPE ALIASES
    52:   typedef _struct_SDL_Cursor = SDL_Cursor;
    53:   */
    54: 
    55:   //PROCEDURES
    56:   proc SDL_FreeCursor: ptr[SDL_Cursor];
    57:   proc SDL_SetCursor: ptr[SDL_Cursor];
    58:   proc SDL_WarpMouse: uint16 * uint16;
    59: 
    60:   //FUNCTIONS
    61:   fun SDL_CreateCursor: ptr[uint8] * ptr[uint8] * int * int * int * int -> ptr[SDL_Cursor];
    62:   fun SDL_GetCursor: 1 -> ptr[SDL_Cursor];
    63:   fun SDL_GetMouseState: ptr[int] * ptr[int] -> uint8;
    64:   fun SDL_GetRelativeMouseState: ptr[int] * ptr[int] -> uint8;
    65:   fun SDL_ShowCursor: int -> int;
    66: }
End felix section to lib/SDL/SDL_mouse.flx[1]
Start felix section to lib/SDL/SDL_mutex.flx[1 /1 ]
     1: #line 1185 "./lpsrc/flx_sdl.pak"
     2: //Module        : SDL_mutex_h
     3: //Timestamp     : 2006/1/6 2:5:23 UTC
     4: //Timestamp     : 2006/1/6 13:5:23 (local)
     5: //Raw Header    : SDL_mutex.h
     6: //Preprocessor  : gcc -E
     7: //Input file: sdl.flxcc.i
     8: //Flxcc Control : sdl.flxcc
     9: //Felix Version : 1.1.2_rc1
    10: include 'std';
    11: 
    12: //#define SDL_MUTEX_MAXWAIT     (~(Uint32)0)
    13: //#define SDL_MUTEX_TIMEDOUT    1
    14: //#define _SDL_mutex_h
    15: 
    16: // DO NOT USE THIS MODULE
    17: // FELIX HAS ITS OWN THREAD HANDLING
    18: 
    19: module SDL_mutex_h
    20: {
    21:   requires package "sdl";
    22:   header '#include "SDL_mutex.h"';
    23:   open C_hack;
    24: 
    25:   incomplete ctypes SDL_mutex, SDL_cond, SDL_sem;
    26: 
    27:   //PROCEDURES
    28:   proc SDL_DestroyCond: ptr[SDL_cond];
    29:   proc SDL_DestroyMutex: ptr[SDL_mutex];
    30:   proc SDL_DestroySemaphore: ptr[SDL_sem];
    31: 
    32:   //FUNCTIONS
    33:   fun SDL_CondBroadcast: ptr[SDL_cond] -> int;
    34:   fun SDL_CondSignal: ptr[SDL_cond] -> int;
    35:   fun SDL_CondWait: ptr[SDL_cond] * ptr[SDL_mutex] -> int;
    36:   fun SDL_CondWaitTimeout: ptr[SDL_cond] * ptr[SDL_mutex] * uint32 -> int;
    37:   fun SDL_CreateCond: 1 -> ptr[SDL_cond];
    38:   fun SDL_CreateMutex: 1 -> ptr[SDL_mutex];
    39:   fun SDL_CreateSemaphore: uint32 -> ptr[SDL_sem];
    40:   fun SDL_SemPost: ptr[SDL_sem] -> int;
    41:   fun SDL_SemTryWait: ptr[SDL_sem] -> int;
    42:   fun SDL_SemValue: ptr[SDL_sem] -> uint32;
    43:   fun SDL_SemWait: ptr[SDL_sem] -> int;
    44:   fun SDL_SemWaitTimeout: ptr[SDL_sem] * uint32 -> int;
    45:   fun SDL_mutexP: ptr[SDL_mutex] -> int;
    46:   fun SDL_mutexV: ptr[SDL_mutex] -> int;
    47:   fun SDL_LockMutex: ptr[SDL_mutex] -> int;
    48:   fun SDL_UnlockMutex: ptr[SDL_mutex] -> int;
    49: }
End felix section to lib/SDL/SDL_mutex.flx[1]
Start felix section to lib/SDL/SDL_rwops.flx[1 /1 ]
     1: #line 1236 "./lpsrc/flx_sdl.pak"
     2: //Module        : SDL_rwops_h
     3: //Timestamp     : 2006/1/6 2:5:23 UTC
     4: //Timestamp     : 2006/1/6 13:5:23 (local)
     5: //Raw Header    : SDL_rwops.h
     6: //Preprocessor  : gcc -E
     7: //Input file: sdl.flxcc.i
     8: //Flxcc Control : sdl.flxcc
     9: //Felix Version : 1.1.2_rc1
    10: include 'std';
    11: 
    12: //#define SDL_RWclose(ctx)              (ctx)->close(ctx)
    13: //#define SDL_RWwrite(ctx, ptr, size, n)        (ctx)->write(ctx, ptr, size, n)
    14: //#define SDL_RWread(ctx, ptr, size, n) (ctx)->read(ctx, ptr, size, n)
    15: //#define SDL_RWtell(ctx)                       (ctx)->seek(ctx, 0, SEEK_CUR)
    16: //#define SDL_RWseek(ctx, offset, whence)       (ctx)->seek(ctx, offset, whence)
    17: //#define _SDL_RWops_h
    18: 
    19: //INCLUDES
    20: 
    21: module SDL_rwops_h
    22: {
    23:   open C_hack;
    24: 
    25:   //ABSTRACT TYPES
    26:   type _struct_SDL_RWops = 'struct SDL_RWops';
    27: 
    28:   //C FUNCTION POINTER TYPES
    29:   header '''typedef int (*SDL_rwops_h_cft_1)(struct SDL_RWops *,  int, int);''';
    30:   type SDL_rwops_h_cft_1 = 'SDL_rwops_h_cft_1';
    31:   header '''typedef int (*SDL_rwops_h_cft_3)(struct SDL_RWops *,  void const *,  int, int);''';
    32:   type SDL_rwops_h_cft_3 = 'SDL_rwops_h_cft_3';
    33:   header '''typedef int (*SDL_rwops_h_cft_2)(struct SDL_RWops *,  void *, int,  int);''';
    34:   type SDL_rwops_h_cft_2 = 'SDL_rwops_h_cft_2';
    35:   header '''typedef int (*SDL_rwops_h_cft_4)(struct SDL_RWops *);''';
    36:   type SDL_rwops_h_cft_4 = 'SDL_rwops_h_cft_4';
    37: 
    38:   //STRUCT or UNION TAG ALIASES
    39:   typedef SDL_RWops = _struct_SDL_RWops;
    40: 
    41:   //PROCEDURES
    42:   proc SDL_FreeRW: ptr[SDL_RWops];
    43: 
    44:   //FUNCTIONS
    45:   fun SDL_AllocRW: 1 -> ptr[SDL_RWops];
    46:   fun SDL_RWFromConstMem: caddress * int -> ptr[SDL_RWops];
    47:   fun SDL_RWFromFP: ptr[FILE] * int -> ptr[SDL_RWops];
    48:   fun SDL_RWFromFile: cptr[char] * cptr[char] -> ptr[SDL_RWops];
    49:   fun SDL_RWFromMem: address * int -> ptr[SDL_RWops];
    50: 
    51:   //STRUCT and UNION FIELDS
    52:   fun get_read: _struct_SDL_RWops -> SDL_rwops_h_cft_2 = '$1->read';
    53:   fun get_write: _struct_SDL_RWops -> SDL_rwops_h_cft_3 = '$1->write';
    54:   fun get_seek: _struct_SDL_RWops -> SDL_rwops_h_cft_1 = '$1->seek';
    55:   fun get_close: _struct_SDL_RWops -> SDL_rwops_h_cft_4 = '$1->close';
    56:   fun get_type: _struct_SDL_RWops -> uint32 = '$1->type';
    57: }
End felix section to lib/SDL/SDL_rwops.flx[1]
Start felix section to lib/SDL/SDL_timer.flx[1 /1 ]
     1: #line 1295 "./lpsrc/flx_sdl.pak"
     2: //Module        : SDL_timer_h
     3: //Timestamp     : 2006/1/6 2:5:23 UTC
     4: //Timestamp     : 2006/1/6 13:5:23 (local)
     5: //Raw Header    : SDL_timer.h
     6: //Preprocessor  : gcc -E
     7: //Input file: sdl.flxcc.i
     8: //Flxcc Control : sdl.flxcc
     9: //Felix Version : 1.1.2_rc1
    10: include 'std';
    11: 
    12: //#define TIMER_RESOLUTION      10      /* Experimentally determined */
    13: //#define SDL_TIMESLICE         10
    14: //#define _SDL_timer_h
    15: 
    16: //INCLUDES
    17: include"SDL/SDL_types";
    18: 
    19: module SDL_timer_h
    20: {
    21:   requires package "sdl";
    22:   header '#include "SDL_timer.h"';
    23:   open C_hack;
    24:   open SDL_types_h;
    25: 
    26:   //C FUNCTION POINTER TYPES
    27:   header '''typedef Uint32 (*SDL_timer_h_cft_2)(Uint32,  void *);''';
    28:   type SDL_timer_h_cft_2 = 'SDL_timer_h_cft_2';
    29:   header '''typedef Uint32 (*SDL_timer_h_cft_1)(Uint32);''';
    30:   type SDL_timer_h_cft_1 = 'SDL_timer_h_cft_1';
    31: 
    32:   //PURE INCOMPLETE TYPES
    33:   type _struct__SDL_TimerID = 'struct _SDL_TimerID'; //local
    34: 
    35:   //TYPE ALIASES
    36:   typedef SDL_NewTimerCallback = SDL_timer_h_cft_2;
    37:   typedef SDL_TimerID = ptr[_struct__SDL_TimerID];
    38:   typedef SDL_TimerCallback = SDL_timer_h_cft_1;
    39: 
    40:   //PROCEDURES
    41:   proc SDL_Delay: uint32;
    42: 
    43:   //FUNCTIONS
    44:   fun SDL_AddTimer: uint32 * SDL_timer_h_cft_2 * address -> SDL_TimerID;
    45:   fun SDL_GetTicks: 1 -> uint32;
    46:   fun SDL_RemoveTimer: SDL_TimerID -> SDL_bool;
    47:   fun SDL_SetTimer: uint32 * SDL_timer_h_cft_1 -> int;
    48: 
    49:   //CALLBACK TYPE WRAPPERS
    50:   //callback type SDL_timer_h_cft_2, client data at 1
    51:   typedef _fcbat_SDL_timer_h_cft_2 = uint32;
    52:   export type (_fcbat_SDL_timer_h_cft_2) as "_fcbat_SDL_timer_h_cft_2";
    53:   typedef _fcbt_SDL_timer_h_cft_2 = uint32 -> uint32;
    54:   export type (_fcbt_SDL_timer_h_cft_2) as "_fcbt_SDL_timer_h_cft_2";
    55:   header '''Uint32 _fcbw_SDL_timer_h_cft_2(Uint32 a1,  void *a2);''';
    56: 
    57:   const _fcbw_SDL_timer_h_cft_2: SDL_timer_h_cft_2 = "_fcbw_SDL_timer_h_cft_2";
    58:   body '''
    59:   Uint32 _fcbw_SDL_timer_h_cft_2(Uint32 a1,  void *a2){
    60:     return ((_fcbt_SDL_timer_h_cft_2)a2)->apply(a1);
    61:   }''';
    62: 
    63: 
    64:   //CALLBACK CLIENT WRAPPERS
    65:   //callback client SDL_AddTimer, client data at 1, callback at 2
    66:   fun wrapper_SDL_AddTimer(a1: uint32, a2: _fcbt_SDL_timer_h_cft_2): SDL_TimerID= {
    67:     return SDL_AddTimer(a1, _fcbw_SDL_timer_h_cft_2, C_hack::cast[address]a2);
    68:   }
    69: }
End felix section to lib/SDL/SDL_timer.flx[1]
Start felix section to lib/SDL/SDL_types.flx[1 /1 ]
     1: #line 1366 "./lpsrc/flx_sdl.pak"
     2: //Module        : SDL_types_h
     3: //Timestamp     : 2006/1/6 2:18:42 UTC
     4: //Timestamp     : 2006/1/6 13:18:42 (local)
     5: //Raw Header    : SDL_types.h
     6: //Preprocessor  : gcc -E
     7: //Input file: sdl.flxcc.i
     8: //Flxcc Control : sdl.flxcc
     9: //Felix Version : 1.1.2_rc1
    10: include 'std';
    11: 
    12: //#define SDL_COMPILE_TIME_ASSERT(name, x)               \
    13: //#define SDL_HAS_64BIT_TYPE    __int64
    14: //#define SDL_HAS_64BIT_TYPE    long long
    15: //#define SDL_HAS_64BIT_TYPE    long
    16: //#define SDL_TABLESIZE(table)  (sizeof(table)/sizeof(table[0]))
    17: //#define _SDL_types_h
    18: 
    19: module SDL_types_h
    20: {
    21:   requires package "sdl";
    22:   header '#include "SDL_types.h"';
    23:   open C_hack;
    24: 
    25:   //ABSTRACT TYPES
    26:   type SDL_bool = 'SDL_bool';
    27:   type SDL_DUMMY_ENUM = 'SDL_DUMMY_ENUM';
    28: 
    29:   //TYPE ALIASES
    30:   typedef Sint64 = vlong;
    31:   typedef SDL_dummy_uint32 = ptr[int];
    32:   typedef SDL_dummy_sint64 = ptr[int];
    33:   typedef SDL_dummy_sint16 = ptr[int];
    34:   typedef SDL_dummy_sint8 = ptr[int];
    35:   typedef SDL_dummy_sint32 = ptr[int];
    36:   typedef SDL_dummy_uint8 = ptr[int];
    37:   typedef Uint64 = uvlong;
    38:   typedef SDL_dummy_uint64 = ptr[int];
    39:   typedef SDL_dummy_uint16 = ptr[int];
    40:   typedef SDL_dummy_enum = ptr[int];
    41: 
    42:   //ENUMERATION CONSTANTS
    43:   const SDL_PRESSED: int = 'SDL_PRESSED';
    44:   const DUMMY_ENUM_VALUE: int = 'DUMMY_ENUM_VALUE';
    45:   const SDL_RELEASED: int = 'SDL_RELEASED';
    46:   const SDL_TRUE: int = 'SDL_TRUE';
    47:   const SDL_FALSE: int = 'SDL_FALSE';
    48: }
End felix section to lib/SDL/SDL_types.flx[1]
Start felix section to lib/SDL/SDL_version.flx[1 /1 ]
     1: #line 1416 "./lpsrc/flx_sdl.pak"
     2: //Module        : SDL_version_h
     3: //Timestamp     : 2006/1/6 2:18:42 UTC
     4: //Timestamp     : 2006/1/6 13:18:42 (local)
     5: //Raw Header    : SDL_version.h
     6: //Preprocessor  : gcc -E
     7: //Input file: sdl.flxcc.i
     8: //Flxcc Control : sdl.flxcc
     9: //Felix Version : 1.1.2_rc1
    10: include 'std';
    11: 
    12: //#define SDL_VERSION_ATLEAST(X, Y, Z) \
    13: //#define SDL_COMPILEDVERSION \
    14: //#define SDL_VERSIONNUM(X, Y, Z)                                               \
    15: //#define SDL_VERSION(X)                                                        \
    16: //#define SDL_PATCHLEVEL                8
    17: //#define SDL_MINOR_VERSION     2
    18: //#define SDL_MAJOR_VERSION     1
    19: //#define _SDL_version_h
    20: 
    21: module SDL_version_h
    22: {
    23:   requires package "sdl";
    24:   header '#include "SDL_version.h"';
    25:   open C_hack;
    26: 
    27:   //CSTRUCTS
    28:   cstruct SDL_version {
    29:     major: uint8;
    30:     minor: uint8;
    31:     patch: uint8;
    32:   }
    33: 
    34:   //STRUCT or UNION TAG ALIASES
    35: 
    36:   //TYPE ALIASES
    37:   typedef _struct_SDL_version = SDL_version;
    38: 
    39:   //FUNCTIONS
    40:   fun SDL_Linked_Version: 1 -> cptr[SDL_version];
    41: }
End felix section to lib/SDL/SDL_version.flx[1]
Start felix section to lib/SDL/SDL_video.flx[1 /1 ]
     1: #line 1459 "./lpsrc/flx_sdl.pak"
     2: //Module        : SDL_video_h
     3: //Timestamp     : 2006/1/6 2:18:42 UTC
     4: //Timestamp     : 2006/1/6 13:18:42 (local)
     5: //Raw Header    : SDL_video.h
     6: //Preprocessor  : gcc -E
     7: //Input file: sdl.flxcc.i
     8: //Flxcc Control : sdl.flxcc
     9: //Felix Version : 1.1.2_rc1
    10: include 'std';
    11: 
    12: //#define SDL_BlitSurface SDL_UpperBlit
    13: //#define SDL_SaveBMP(surface, file) \
    14: //#define SDL_AllocSurface    SDL_CreateRGBSurface
    15: //#define SDL_PHYSPAL 0x02
    16: //#define SDL_LOGPAL 0x01
    17: //#define SDL_YVYU_OVERLAY  0x55595659  /* Packed mode: Y0+V0+Y1+U0 (1 plane) */
    18: //#define SDL_UYVY_OVERLAY  0x59565955  /* Packed mode: U0+Y0+V0+Y1 (1 plane) */
    19: //#define SDL_YUY2_OVERLAY  0x32595559  /* Packed mode: Y0+U0+Y1+V0 (1 plane) */
    20: //#define SDL_IYUV_OVERLAY  0x56555949  /* Planar mode: Y + U + V  (3 planes) */
    21: //#define SDL_YV12_OVERLAY  0x32315659  /* Planar mode: Y + V + U  (3 planes) */
    22: //#define SDL_PREALLOC  0x01000000      /* Surface uses preallocated memory */
    23: //#define SDL_SRCALPHA  0x00010000      /* Blit uses source alpha blending */
    24: //#define SDL_RLEACCEL  0x00004000      /* Surface is RLE encoded */
    25: //#define SDL_RLEACCELOK        0x00002000      /* Private flag */
    26: //#define SDL_SRCCOLORKEY       0x00001000      /* Blit uses a source color key */
    27: //#define SDL_HWACCEL   0x00000100      /* Blit uses hardware acceleration */
    28: //#define SDL_NOFRAME   0x00000020      /* No window caption or edge frame */
    29: //#define SDL_RESIZABLE 0x00000010      /* This video mode may be resized */
    30: //#define SDL_OPENGLBLIT        0x0000000A      /* Create an OpenGL rendering context and use it for blitting */
    31: //#define SDL_OPENGL      0x00000002      /* Create an OpenGL rendering context */
    32: //#define SDL_FULLSCREEN        0x80000000      /* Surface is a full screen display */
    33: //#define SDL_DOUBLEBUF 0x40000000      /* Set up double-buffered video mode */
    34: //#define SDL_HWPALETTE 0x20000000      /* Surface has exclusive palette */
    35: //#define SDL_ANYFORMAT 0x10000000      /* Allow any video depth/pixel-format */
    36: //#define SDL_ASYNCBLIT 0x00000004      /* Use asynchronous blits if possible */
    37: //#define SDL_HWSURFACE 0x00000001      /* Surface is in video memory */
    38: //#define SDL_SWSURFACE 0x00000000      /* Surface is in system memory */
    39: //#define SDL_Colour SDL_Color
    40: //#define SDL_ALPHA_TRANSPARENT 0
    41: //#define SDL_ALPHA_OPAQUE 255
    42: //#define _SDL_video_h
    43: 
    44: //INCLUDES
    45: include"SDL/SDL_rwops";
    46: include"SDL/SDL_types";
    47: 
    48: module SDL_video_h
    49: {
    50:   requires package "sdl";
    51:   header '#include "SDL_video.h"';
    52:   open C_hack;
    53:   open SDL_rwops_h;
    54:   open SDL_types_h;
    55: 
    56:   fun SDL_MUSTLOCK: ptr[SDL_Surface] -> bool;
    57:   const SDL_PHYSPAL : uint32;
    58:   const SDL_LOGPAL : uint32;
    59:   const SDL_YVYU_OVERLAY  : uint32;
    60:   const SDL_UYVY_OVERLAY  : uint32;
    61:   const SDL_YUY2_OVERLAY  : uint32;
    62:   const SDL_IYUV_OVERLAY  : uint32;
    63:   const SDL_YV12_OVERLAY  : uint32;
    64:   const SDL_PREALLOC  : uint32;
    65:   const SDL_SRCALPHA  : uint32;
    66:   const SDL_RLEACCEL  : uint32;
    67:   const SDL_RLEACCELOK        : uint32;
    68:   const SDL_SRCCOLORKEY       : uint32;
    69:   const SDL_HWACCEL   : uint32;
    70:   const SDL_NOFRAME   : uint32;
    71:   const SDL_RESIZABLE : uint32;
    72:   const SDL_OPENGLBLIT        : uint32;
    73:   const SDL_OPENGL      : uint32;
    74:   const SDL_FULLSCREEN        : uint32;
    75:   const SDL_DOUBLEBUF : uint32;
    76:   const SDL_HWPALETTE : uint32;
    77:   const SDL_ANYFORMAT : uint32;
    78:   const SDL_ASYNCBLIT : uint32;
    79:   const SDL_HWSURFACE : uint32;
    80:   const SDL_SWSURFACE : uint32;
    81: 
    82:   //ABSTRACT TYPES
    83:   type SDL_GrabMode = 'SDL_GrabMode';
    84:   type SDL_GLattr = 'SDL_GLattr';
    85: 
    86:   //CSTRUCTS
    87:   cstruct SDL_Color {
    88:     r: uint8;
    89:     g: uint8;
    90:     b: uint8;
    91:     unused: uint8;
    92:   }
    93:   cstruct SDL_Surface {
    94:     flags: uint32;
    95:     format: ptr[SDL_PixelFormat];
    96:     w: int;
    97:     h: int;
    98:     pitch: uint16;
    99:     pixels: address;
   100:     offset: int;
   101:     hwdata: ptr[_struct_private_hwdata];
   102:     clip_rect: SDL_Rect;
   103:     unused1: uint32;
   104:     locked: uint32;
   105:     map: ptr[_struct_SDL_BlitMap];
   106:     format_version: uint;
   107:     refcount: int;
   108:   }
   109:   cstruct SDL_Overlay {
   110:     format: uint32;
   111:     w: int;
   112:     h: int;
   113:     planes: int;
   114:     pitches: ptr[uint16];
   115:     pixels: ptr[ptr[uint8]];
   116:     hwfuncs: ptr[_struct_private_yuvhwfuncs];
   117:     hwdata: ptr[_struct_private_yuvhwdata];
   118:     hw_overlay: uint32;
   119:     UnusedBits: uint32;
   120:   }
   121:   cstruct SDL_Palette {
   122:     ncolors: int;
   123:     colors: ptr[SDL_Color];
   124:   }
   125:   cstruct SDL_Rect {
   126:     x: int16;
   127:     y: int16;
   128:     w: uint16;
   129:     h: uint16;
   130:   }
   131:   cstruct SDL_VideoInfo {
   132:     hw_available: uint32;
   133:     wm_available: uint32;
   134:     UnusedBits1: uint32;
   135:     UnusedBits2: uint32;
   136:     blit_hw: uint32;
   137:     blit_hw_CC: uint32;
   138:     blit_hw_A: uint32;
   139:     blit_sw: uint32;
   140:     blit_sw_CC: uint32;
   141:     blit_sw_A: uint32;
   142:     blit_fill: uint32;
   143:     UnusedBits3: uint32;
   144:     video_mem: uint32;
   145:     vfmt: ptr[SDL_PixelFormat];
   146:   }
   147:   cstruct SDL_PixelFormat {
   148:     palette: ptr[SDL_Palette];
   149:     BitsPerPixel: uint8;
   150:     BytesPerPixel: uint8;
   151:     Rloss: uint8;
   152:     Gloss: uint8;
   153:     Bloss: uint8;
   154:     Aloss: uint8;
   155:     Rshift: uint8;
   156:     Gshift: uint8;
   157:     Bshift: uint8;
   158:     Ashift: uint8;
   159:     Rmask: uint32;
   160:     Gmask: uint32;
   161:     Bmask: uint32;
   162:     Amask: uint32;
   163:     colorkey: uint32;
   164:     alpha: uint8;
   165:   }
   166: 
   167:   //C FUNCTION POINTER TYPES
   168:   header '''typedef int (*SDL_video_h_cft_1)(struct SDL_Surface *,  SDL_Rect *,  struct SDL_Surface *,  SDL_Rect *);''';
   169:   type SDL_video_h_cft_1 = 'SDL_video_h_cft_1';
   170: 
   171:   //EXTERNALLY COMPLETED TYPES
   172:   //type _struct_SDL_Surface defined in SDL_video_h='SDL_video.h';
   173: 
   174:   //PURE INCOMPLETE TYPES
   175:   type _struct_SDL_BlitMap = 'struct SDL_BlitMap'; //local
   176:   type _struct_private_yuvhwfuncs = 'struct private_yuvhwfuncs'; //local
   177:   type _struct_private_hwdata = 'struct private_hwdata'; //local
   178:   type _struct_private_yuvhwdata = 'struct private_yuvhwdata'; //local
   179: 
   180:   //STRUCT or UNION TAG ALIASES
   181: 
   182:   //TYPE ALIASES
   183:   typedef _struct_SDL_Surface = SDL_Surface;
   184:   typedef _struct_SDL_Overlay = SDL_Overlay;
   185:   typedef _struct_SDL_Palette = SDL_Palette;
   186:   typedef _struct_SDL_PixelFormat = SDL_PixelFormat;
   187:   typedef _struct_SDL_Rect = SDL_Rect;
   188:   typedef _struct_SDL_Color = SDL_Color;
   189:   typedef _struct_SDL_VideoInfo = SDL_VideoInfo;
   190:   typedef SDL_blit = SDL_video_h_cft_1;
   191: 
   192:   //ENUMERATION CONSTANTS
   193:   const SDL_GL_STENCIL_SIZE: int = 'SDL_GL_STENCIL_SIZE';
   194:   const SDL_GL_MULTISAMPLEBUFFERS: int = 'SDL_GL_MULTISAMPLEBUFFERS';
   195:   const SDL_GL_STEREO: int = 'SDL_GL_STEREO';
   196:   const SDL_GL_ACCUM_RED_SIZE: int = 'SDL_GL_ACCUM_RED_SIZE';
   197:   const SDL_GRAB_OFF: int = 'SDL_GRAB_OFF';
   198:   const SDL_GL_ACCUM_GREEN_SIZE: int = 'SDL_GL_ACCUM_GREEN_SIZE';
   199:   const SDL_GL_ACCUM_ALPHA_SIZE: int = 'SDL_GL_ACCUM_ALPHA_SIZE';
   200:   const SDL_GL_DEPTH_SIZE: int = 'SDL_GL_DEPTH_SIZE';
   201:   const SDL_GRAB_FULLSCREEN: int = 'SDL_GRAB_FULLSCREEN';
   202:   const SDL_GL_RED_SIZE: int = 'SDL_GL_RED_SIZE';
   203:   const SDL_GL_BLUE_SIZE: int = 'SDL_GL_BLUE_SIZE';
   204:   const SDL_GL_ACCUM_BLUE_SIZE: int = 'SDL_GL_ACCUM_BLUE_SIZE';
   205:   const SDL_GL_GREEN_SIZE: int = 'SDL_GL_GREEN_SIZE';
   206:   const SDL_GRAB_QUERY: int = 'SDL_GRAB_QUERY';
   207:   const SDL_GL_ALPHA_SIZE: int = 'SDL_GL_ALPHA_SIZE';
   208:   const SDL_GL_MULTISAMPLESAMPLES: int = 'SDL_GL_MULTISAMPLESAMPLES';
   209:   const SDL_GL_DOUBLEBUFFER: int = 'SDL_GL_DOUBLEBUFFER';
   210:   const SDL_GL_BUFFER_SIZE: int = 'SDL_GL_BUFFER_SIZE';
   211:   const SDL_GRAB_ON: int = 'SDL_GRAB_ON';
   212: 
   213:   //PROCEDURES
   214:   proc SDL_FreeSurface: ptr[SDL_Surface];
   215:   proc SDL_FreeYUVOverlay: ptr[SDL_Overlay];
   216:   proc SDL_GL_Lock: 1;
   217:   proc SDL_GL_SwapBuffers: 1;
   218:   proc SDL_GL_Unlock: 1;
   219:   proc SDL_GL_UpdateRects: int * ptr[SDL_Rect];
   220:   proc SDL_GetClipRect: ptr[SDL_Surface] * ptr[SDL_Rect];
   221:   proc SDL_GetRGB: uint32 * ptr[SDL_PixelFormat] * ptr[uint8] * ptr[uint8] * ptr[uint8];
   222:   proc SDL_GetRGBA: uint32 * ptr[SDL_PixelFormat] * ptr[uint8] * ptr[uint8] * ptr[uint8] * ptr[uint8];
   223:   proc SDL_UnlockSurface: ptr[SDL_Surface];
   224:   proc SDL_UnlockYUVOverlay: ptr[SDL_Overlay];
   225:   proc SDL_UpdateRect: ptr[SDL_Surface] * int32 * int32 * uint32 * uint32;
   226:   proc SDL_UpdateRects: ptr[SDL_Surface] * int * ptr[SDL_Rect];
   227:   proc SDL_VideoQuit: 1;
   228:   proc SDL_WM_GetCaption: ptr[ptr[char]] * ptr[ptr[char]];
   229:   proc SDL_WM_SetCaption: cptr[char] * cptr[char];
   230:   proc SDL_WM_SetIcon: ptr[SDL_Surface] * ptr[uint8];
   231: 
   232:   //FUNCTIONS
   233:   fun SDL_BlitSurface : ptr[SDL_Surface] * ptr[SDL_Rect] * ptr[SDL_Surface] * ptr[SDL_Rect] -> int;
   234:   fun SDL_ConvertSurface: ptr[SDL_Surface] * ptr[SDL_PixelFormat] * uint32 -> ptr[SDL_Surface];
   235:   fun SDL_CreateRGBSurface: uint32 * int * int * int * uint32 * uint32 * uint32 * uint32 -> ptr[SDL_Surface];
   236:   fun SDL_CreateRGBSurfaceFrom: address * int * int * int * int * uint32 * uint32 * uint32 * uint32 -> ptr[SDL_Surface];
   237:   fun SDL_CreateYUVOverlay: int * int * uint32 * ptr[SDL_Surface] -> ptr[SDL_Overlay];
   238:   fun SDL_DisplayFormat: ptr[SDL_Surface] -> ptr[SDL_Surface];
   239:   fun SDL_DisplayFormatAlpha: ptr[SDL_Surface] -> ptr[SDL_Surface];
   240:   fun SDL_DisplayYUVOverlay: ptr[SDL_Overlay] * ptr[SDL_Rect] -> int;
   241:   fun SDL_FillRect: ptr[SDL_Surface] * ptr[SDL_Rect] * uint32 -> int;
   242:   fun SDL_Flip: ptr[SDL_Surface] -> int;
   243:   fun SDL_GL_GetAttribute: SDL_GLattr * ptr[int] -> int;
   244:   fun SDL_GL_GetProcAddress: cptr[char] -> address;
   245:   fun SDL_GL_LoadLibrary: cptr[char] -> int;
   246:   fun SDL_GL_SetAttribute: SDL_GLattr * int -> int;
   247:   fun SDL_GetGammaRamp: ptr[uint16] * ptr[uint16] * ptr[uint16] -> int;
   248:   fun SDL_GetVideoInfo: 1 -> cptr[SDL_VideoInfo];
   249:   fun SDL_GetVideoSurface: 1 -> ptr[SDL_Surface];
   250:   fun SDL_ListModes: ptr[SDL_PixelFormat] * uint32 -> ptr[ptr[SDL_Rect]];
   251:   fun SDL_LoadBMP_RW: ptr[SDL_RWops] * int -> ptr[SDL_Surface];
   252:   fun SDL_LoadBMP:cptr[char]->ptr[SDL_Surface];
   253:   fun SDL_LockSurface: ptr[SDL_Surface] -> int;
   254:   fun SDL_LockYUVOverlay: ptr[SDL_Overlay] -> int;
   255:   fun SDL_LowerBlit: ptr[SDL_Surface] * ptr[SDL_Rect] * ptr[SDL_Surface] * ptr[SDL_Rect] -> int;
   256:   fun SDL_MapRGB: ptr[SDL_PixelFormat] * uint8 * uint8 * uint8 -> uint32;
   257:   fun SDL_MapRGBA: ptr[SDL_PixelFormat] * uint8 * uint8 * uint8 * uint8 -> uint32;
   258:   fun SDL_SaveBMP_RW: ptr[SDL_Surface] * ptr[SDL_RWops] * int -> int;
   259:   fun SDL_SetAlpha: ptr[SDL_Surface] * uint32 * uint8 -> int;
   260:   fun SDL_SetClipRect: ptr[SDL_Surface] * cptr[SDL_Rect] -> SDL_bool;
   261:   fun SDL_SetColorKey: ptr[SDL_Surface] * uint32 * uint32 -> int;
   262:   fun SDL_SetColors: ptr[SDL_Surface] * ptr[SDL_Color] * int * int -> int;
   263:   fun SDL_SetGamma: float * float * float -> int;
   264:   fun SDL_SetGammaRamp: cptr[uint16] * cptr[uint16] * cptr[uint16] -> int;
   265:   fun SDL_SetPalette: ptr[SDL_Surface] * int * ptr[SDL_Color] * int * int -> int;
   266:   fun SDL_SetVideoMode: int * int * int * uint32 -> ptr[SDL_Surface];
   267:   fun SDL_SoftStretch: ptr[SDL_Surface] * ptr[SDL_Rect] * ptr[SDL_Surface] * ptr[SDL_Rect] -> int;
   268:   fun SDL_UpperBlit: ptr[SDL_Surface] * ptr[SDL_Rect] * ptr[SDL_Surface] * ptr[SDL_Rect] -> int;
   269:   fun SDL_VideoDriverName: ptr[char] * int -> ptr[char];
   270:   fun SDL_VideoInit: cptr[char] * uint32 -> int;
   271:   fun SDL_VideoModeOK: int * int * int * uint32 -> int;
   272:   fun SDL_WM_GrabInput: SDL_GrabMode -> SDL_GrabMode;
   273:   fun SDL_WM_IconifyWindow: 1 -> int;
   274:   fun SDL_WM_ToggleFullScreen: ptr[SDL_Surface] -> int;
   275: }
   276: 
End felix section to lib/SDL/SDL_video.flx[1]
Start felix section to lib/SDL/SDL_endian.flx[1 /1 ]
     1: #line 1735 "./lpsrc/flx_sdl.pak"
     2: //Module        : SDL_endian_h
     3: //Timestamp     : 2006/1/8 3:36:0 UTC
     4: //Timestamp     : 2006/1/8 14:36:0 (local)
     5: //Raw Header    : /usr/include/SDL/SDL_endian.h
     6: //Preprocessor  : gcc -E
     7: //Input file: sdl.flxcc.i
     8: //Flxcc Control : sdl.flxcc
     9: //Felix Version : 1.1.2_rc1
    10: include 'std';
    11: 
    12: //#define SDL_SwapBE64(X)       (X)
    13: //#define SDL_SwapBE32(X)       (X)
    14: //#define SDL_SwapBE16(X)       (X)
    15: //#define SDL_SwapLE64(X)       SDL_Swap64(X)
    16: //#define SDL_SwapLE32(X)       SDL_Swap32(X)
    17: //#define SDL_SwapLE16(X)       SDL_Swap16(X)
    18: //#define SDL_SwapBE64(X)       SDL_Swap64(X)
    19: //#define SDL_SwapBE32(X)       SDL_Swap32(X)
    20: //#define SDL_SwapBE16(X)       SDL_Swap16(X)
    21: //#define SDL_SwapLE64(X)       (X)
    22: //#define SDL_SwapLE32(X)       (X)
    23: //#define SDL_SwapLE16(X)       (X)
    24: //#define SDL_Swap64(X) (X)
    25: //#define _SDL_endian_h
    26: 
    27: //INCLUDES
    28: include "SDL/SDL_rwops";
    29: include "SDL/SDL_types";
    30: 
    31: module SDL_endian_h
    32: {
    33:   requires package "sdl";
    34:   header '#include "SDL_endian.h"';
    35:   open C_hack;
    36:   open SDL_rwops_h;
    37:   open SDL_types_h;
    38: 
    39:   //FUNCTIONS
    40:   fun SDL_ReadBE16: ptr[SDL_RWops] -> uint16;
    41:   fun SDL_ReadBE32: ptr[SDL_RWops] -> uint32;
    42:   fun SDL_ReadBE64: ptr[SDL_RWops] -> Uint64;
    43:   fun SDL_ReadLE16: ptr[SDL_RWops] -> uint16;
    44:   fun SDL_ReadLE32: ptr[SDL_RWops] -> uint32;
    45:   fun SDL_ReadLE64: ptr[SDL_RWops] -> Uint64;
    46:   fun SDL_Swap16: uint16 -> uint16;
    47:   fun SDL_Swap32: uint32 -> uint32;
    48:   fun SDL_Swap64: Uint64 -> Uint64;
    49:   fun SDL_WriteBE16: ptr[SDL_RWops] * uint16 -> int;
    50:   fun SDL_WriteBE32: ptr[SDL_RWops] * uint32 -> int;
    51:   fun SDL_WriteBE64: ptr[SDL_RWops] * Uint64 -> int;
    52:   fun SDL_WriteLE16: ptr[SDL_RWops] * uint16 -> int;
    53:   fun SDL_WriteLE32: ptr[SDL_RWops] * uint32 -> int;
    54:   fun SDL_WriteLE64: ptr[SDL_RWops] * Uint64 -> int;
    55: }
    56: 
End felix section to lib/SDL/SDL_endian.flx[1]
Start felix section to lib/SDL/SDL_framerate.flx[1 /1 ]
     1: #line 1791 "./lpsrc/flx_sdl.pak"
     2: //Module        : SDL_framerate_h
     3: //Timestamp     : 2006/1/8 3:36:0 UTC
     4: //Timestamp     : 2006/1/8 14:36:0 (local)
     5: //Raw Header    : /usr/include/SDL/SDL_framerate.h
     6: //Preprocessor  : gcc -E
     7: //Input file: sdl.flxcc.i
     8: //Flxcc Control : sdl.flxcc
     9: //Felix Version : 1.1.2_rc1
    10: include 'std';
    11: 
    12: //#define DLLINTERFACE
    13: //#define DLLINTERFACE __declspec(dllimport)
    14: //#define DLLINTERFACE __declspec(dllexport)
    15: //#define FPS_DEFAULT           30
    16: //#define FPS_LOWER_LIMIT               1
    17: //#define FPS_UPPER_LIMIT               200
    18: //#define _SDL_framerate_h
    19: 
    20: //INCLUDES
    21: include "SDL/SDL";
    22: 
    23: module SDL_framerate_h
    24: {
    25:   requires package "sdl";
    26:   header '#include "SDL_framerate.h"';
    27:   open C_hack;
    28:   open SDL_h;
    29: 
    30:   //ABSTRACT TYPES
    31:   type FPSmanager = 'FPSmanager';
    32: 
    33:   //PROCEDURES
    34:   proc SDL_framerateDelay: ptr[FPSmanager];
    35:   proc SDL_initFramerate: ptr[FPSmanager];
    36: 
    37:   //FUNCTIONS
    38:   fun SDL_getFramerate: ptr[FPSmanager] -> int;
    39:   fun SDL_setFramerate: ptr[FPSmanager] * int -> int;
    40: }
End felix section to lib/SDL/SDL_framerate.flx[1]
Start felix section to lib/SDL/SDL_gfxPrimitives.flx[1 /1 ]
     1: #line 1833 "./lpsrc/flx_sdl.pak"
     2: //Module        : SDL_gfxPrimitives_h
     3: //Timestamp     : 2006/1/8 3:36:0 UTC
     4: //Timestamp     : 2006/1/8 14:36:0 (local)
     5: //Raw Header    : /usr/include/SDL/SDL_gfxPrimitives.h
     6: //Preprocessor  : gcc -E
     7: //Input file: sdl.flxcc.i
     8: //Flxcc Control : sdl.flxcc
     9: //Felix Version : 1.1.2_rc1
    10: include 'std';
    11: 
    12: //#define DLLINTERFACE
    13: //#define DLLINTERFACE __declspec(dllimport)
    14: //#define DLLINTERFACE __declspec(dllexport)
    15: //#define SDL_GFXPRIMITIVES_MINOR       0
    16: //#define SDL_GFXPRIMITIVES_MAJOR       2
    17: //#define M_PI  3.141592654
    18: //#define _SDL_gfxPrimitives_h
    19: 
    20: //INCLUDES
    21: include "SDL/SDL";
    22: include "SDL/SDL_video";
    23: 
    24: module SDL_gfxPrimitives_h
    25: {
    26:   requires package "sdl";
    27:   header '#include "SDL_gfxPrimitives.h"';
    28:   open C_hack;
    29:   open SDL_h;
    30:   open SDL_video_h;
    31:   open math_h;
    32: 
    33:   //FUNCTIONS
    34:   fun aacircleColor: ptr[SDL_Surface] * int16 * int16 * int16 * uint32 -> int;
    35:   fun aacircleRGBA: ptr[SDL_Surface] * int16 * int16 * int16 * uint8 * uint8 * uint8 * uint8 -> int;
    36:   fun aaellipseColor: ptr[SDL_Surface] * int16 * int16 * int16 * int16 * uint32 -> int;
    37:   fun aaellipseRGBA: ptr[SDL_Surface] * int16 * int16 * int16 * int16 * uint8 * uint8 * uint8 * uint8 -> int;
    38:   fun aalineColor: ptr[SDL_Surface] * int16 * int16 * int16 * int16 * uint32 -> int;
    39:   fun aalineRGBA: ptr[SDL_Surface] * int16 * int16 * int16 * int16 * uint8 * uint8 * uint8 * uint8 -> int;
    40:   fun aapolygonColor: ptr[SDL_Surface] * ptr[int16] * ptr[int16] * int * uint32 -> int;
    41:   fun aapolygonRGBA: ptr[SDL_Surface] * ptr[int16] * ptr[int16] * int * uint8 * uint8 * uint8 * uint8 -> int;
    42:   fun aatrigonColor: ptr[SDL_Surface] * int16 * int16 * int16 * int16 * int16 * int16 * uint32 -> int;
    43:   fun aatrigonRGBA: ptr[SDL_Surface] * int16 * int16 * int16 * int16 * int16 * int16 * uint8 * uint8 * uint8 * uint8 -> int;
    44:   fun bezierColor: ptr[SDL_Surface] * ptr[int16] * ptr[int16] * int * int * uint32 -> int;
    45:   fun bezierRGBA: ptr[SDL_Surface] * ptr[int16] * ptr[int16] * int * int * uint8 * uint8 * uint8 * uint8 -> int;
    46:   fun boxColor: ptr[SDL_Surface] * int16 * int16 * int16 * int16 * uint32 -> int;
    47:   fun boxRGBA: ptr[SDL_Surface] * int16 * int16 * int16 * int16 * uint8 * uint8 * uint8 * uint8 -> int;
    48:   fun characterColor: ptr[SDL_Surface] * int16 * int16 * char * uint32 -> int;
    49:   fun characterRGBA: ptr[SDL_Surface] * int16 * int16 * char * uint8 * uint8 * uint8 * uint8 -> int;
    50:   fun circleColor: ptr[SDL_Surface] * int16 * int16 * int16 * uint32 -> int;
    51:   fun circleRGBA: ptr[SDL_Surface] * int16 * int16 * int16 * uint8 * uint8 * uint8 * uint8 -> int;
    52:   fun ellipseColor: ptr[SDL_Surface] * int16 * int16 * int16 * int16 * uint32 -> int;
    53:   fun ellipseRGBA: ptr[SDL_Surface] * int16 * int16 * int16 * int16 * uint8 * uint8 * uint8 * uint8 -> int;
    54:   fun filledCircleColor: ptr[SDL_Surface] * int16 * int16 * int16 * uint32 -> int;
    55:   fun filledCircleRGBA: ptr[SDL_Surface] * int16 * int16 * int16 * uint8 * uint8 * uint8 * uint8 -> int;
    56:   fun filledEllipseColor: ptr[SDL_Surface] * int16 * int16 * int16 * int16 * uint32 -> int;
    57:   fun filledEllipseRGBA: ptr[SDL_Surface] * int16 * int16 * int16 * int16 * uint8 * uint8 * uint8 * uint8 -> int;
    58:   fun filledPolygonColor: ptr[SDL_Surface] * ptr[int16] * ptr[int16] * int * int -> int;
    59:   fun filledPolygonRGBA: ptr[SDL_Surface] * ptr[int16] * ptr[int16] * int * uint8 * uint8 * uint8 * uint8 -> int;
    60:   fun filledTrigonColor: ptr[SDL_Surface] * int16 * int16 * int16 * int16 * int16 * int16 * int -> int;
    61:   fun filledTrigonRGBA: ptr[SDL_Surface] * int16 * int16 * int16 * int16 * int16 * int16 * uint8 * uint8 * uint8 * uint8 -> int;
    62:   fun filledpieColor: ptr[SDL_Surface] * int16 * int16 * int16 * int16 * int16 * uint32 -> int;
    63:   fun filledpieRGBA: ptr[SDL_Surface] * int16 * int16 * int16 * int16 * int16 * uint8 * uint8 * uint8 * uint8 -> int;
    64:   fun hlineColor: ptr[SDL_Surface] * int16 * int16 * int16 * uint32 -> int;
    65:   fun hlineRGBA: ptr[SDL_Surface] * int16 * int16 * int16 * uint8 * uint8 * uint8 * uint8 -> int;
    66:   fun lineColor: ptr[SDL_Surface] * int16 * int16 * int16 * int16 * uint32 -> int;
    67:   fun lineRGBA: ptr[SDL_Surface] * int16 * int16 * int16 * int16 * uint8 * uint8 * uint8 * uint8 -> int;
    68:   fun pixelColor: ptr[SDL_Surface] * int16 * int16 * uint32 -> int;
    69:   fun pixelRGBA: ptr[SDL_Surface] * int16 * int16 * uint8 * uint8 * uint8 * uint8 -> int;
    70:   fun polygonColor: ptr[SDL_Surface] * ptr[int16] * ptr[int16] * int * uint32 -> int;
    71:   fun polygonRGBA: ptr[SDL_Surface] * ptr[int16] * ptr[int16] * int * uint8 * uint8 * uint8 * uint8 -> int;
    72:   fun rectangleColor: ptr[SDL_Surface] * int16 * int16 * int16 * int16 * uint32 -> int;
    73:   fun rectangleRGBA: ptr[SDL_Surface] * int16 * int16 * int16 * int16 * uint8 * uint8 * uint8 * uint8 -> int;
    74:   fun stringColor: ptr[SDL_Surface] * int16 * int16 * ptr[char] * uint32 -> int;
    75:   fun stringRGBA: ptr[SDL_Surface] * int16 * int16 * ptr[char] * uint8 * uint8 * uint8 * uint8 -> int;
    76:   fun trigonColor: ptr[SDL_Surface] * int16 * int16 * int16 * int16 * int16 * int16 * uint32 -> int;
    77:   fun trigonRGBA: ptr[SDL_Surface] * int16 * int16 * int16 * int16 * int16 * int16 * uint8 * uint8 * uint8 * uint8 -> int;
    78:   fun vlineColor: ptr[SDL_Surface] * int16 * int16 * int16 * uint32 -> int;
    79:   fun vlineRGBA: ptr[SDL_Surface] * int16 * int16 * int16 * uint8 * uint8 * uint8 * uint8 -> int;
    80: }
End felix section to lib/SDL/SDL_gfxPrimitives.flx[1]
Start felix section to lib/SDL/SDL_gfxPrimitives_font.flx[1 /1 ]
     1: #line 1915 "./lpsrc/flx_sdl.pak"
     2: //Module        : SDL_gfxPrimitives_font_h
     3: //Timestamp     : 2006/1/8 3:36:0 UTC
     4: //Timestamp     : 2006/1/8 14:36:0 (local)
     5: //Raw Header    : /usr/include/SDL/SDL_gfxPrimitives_font.h
     6: //Preprocessor  : gcc -E
     7: //Input file: sdl.flxcc.i
     8: //Flxcc Control : sdl.flxcc
     9: //Felix Version : 1.1.2_rc1
    10: include 'std';
    11: 
    12: //#define GFX_FONTDATAMAX (8*256)
    13: 
    14: module SDL_gfxPrimitives_font_h
    15: {
    16:   requires package "sdl";
    17:   header '#include "SDL_gfxPrimitives_font.h"';
    18:   open C_hack;
    19: 
    20:   //VARIABLES
    21:   const gfxPrimitivesFontdata: ptr[utiny] = 'gfxPrimitivesFontdata';
    22: }
End felix section to lib/SDL/SDL_gfxPrimitives_font.flx[1]
Start felix section to lib/SDL/SDL_image.flx[1 /1 ]
     1: #line 1939 "./lpsrc/flx_sdl.pak"
     2: //Module        : SDL_image_h
     3: //Timestamp     : 2006/1/8 3:36:0 UTC
     4: //Timestamp     : 2006/1/8 14:36:0 (local)
     5: //Raw Header    : /usr/include/SDL/SDL_image.h
     6: //Preprocessor  : gcc -E
     7: //Input file: sdl.flxcc.i
     8: //Flxcc Control : sdl.flxcc
     9: //Felix Version : 1.1.2_rc1
    10: include 'std';
    11: 
    12: //#define IMG_GetError  SDL_GetError
    13: //#define IMG_SetError  SDL_SetError
    14: //#define SDL_IMAGE_VERSION(X)                                          \
    15: //#define SDL_IMAGE_PATCHLEVEL  4
    16: //#define SDL_IMAGE_MINOR_VERSION       2
    17: //#define SDL_IMAGE_MAJOR_VERSION       1
    18: //#define _SDL_IMAGE_H
    19: 
    20: //INCLUDES
    21: include "SDL/SDL_rwops";
    22: include "SDL/SDL_version";
    23: include "SDL/SDL_video";
    24: 
    25: module SDL_image_h
    26: {
    27:   requires package "sdl";
    28:   header '#include "SDL_image.h"';
    29:   open C_hack;
    30:   open SDL_rwops_h;
    31:   open SDL_version_h;
    32:   open SDL_video_h;
    33: 
    34:   //FUNCTIONS
    35:   fun IMG_InvertAlpha: int -> int;
    36:   fun IMG_Linked_Version: 1 -> cptr[SDL_version];
    37:   fun IMG_Load: cptr[char] -> ptr[SDL_Surface];
    38:   fun IMG_LoadBMP_RW: ptr[SDL_RWops] -> ptr[SDL_Surface];
    39:   fun IMG_LoadGIF_RW: ptr[SDL_RWops] -> ptr[SDL_Surface];
    40:   fun IMG_LoadJPG_RW: ptr[SDL_RWops] -> ptr[SDL_Surface];
    41:   fun IMG_LoadLBM_RW: ptr[SDL_RWops] -> ptr[SDL_Surface];
    42:   fun IMG_LoadPCX_RW: ptr[SDL_RWops] -> ptr[SDL_Surface];
    43:   fun IMG_LoadPNG_RW: ptr[SDL_RWops] -> ptr[SDL_Surface];
    44:   fun IMG_LoadPNM_RW: ptr[SDL_RWops] -> ptr[SDL_Surface];
    45:   fun IMG_LoadTGA_RW: ptr[SDL_RWops] -> ptr[SDL_Surface];
    46:   fun IMG_LoadTIF_RW: ptr[SDL_RWops] -> ptr[SDL_Surface];
    47:   fun IMG_LoadTyped_RW: ptr[SDL_RWops] * int * ptr[char] -> ptr[SDL_Surface];
    48:   fun IMG_LoadXCF_RW: ptr[SDL_RWops] -> ptr[SDL_Surface];
    49:   fun IMG_LoadXPM_RW: ptr[SDL_RWops] -> ptr[SDL_Surface];
    50:   fun IMG_Load_RW: ptr[SDL_RWops] * int -> ptr[SDL_Surface];
    51:   fun IMG_ReadXPMFromArray: ptr[ptr[char]] -> ptr[SDL_Surface];
    52:   fun IMG_isBMP: ptr[SDL_RWops] -> int;
    53:   fun IMG_isGIF: ptr[SDL_RWops] -> int;
    54:   fun IMG_isJPG: ptr[SDL_RWops] -> int;
    55:   fun IMG_isLBM: ptr[SDL_RWops] -> int;
    56:   fun IMG_isPCX: ptr[SDL_RWops] -> int;
    57:   fun IMG_isPNG: ptr[SDL_RWops] -> int;
    58:   fun IMG_isPNM: ptr[SDL_RWops] -> int;
    59:   fun IMG_isTIF: ptr[SDL_RWops] -> int;
    60:   fun IMG_isXCF: ptr[SDL_RWops] -> int;
    61:   fun IMG_isXPM: ptr[SDL_RWops] -> int;
    62: }
End felix section to lib/SDL/SDL_image.flx[1]
Start felix section to lib/SDL/SDL_imageFilter.flx[1 /1 ]
     1: #line 2003 "./lpsrc/flx_sdl.pak"
     2: //Module        : SDL_imageFilter_h
     3: //Timestamp     : 2006/1/8 3:36:0 UTC
     4: //Timestamp     : 2006/1/8 14:36:0 (local)
     5: //Raw Header    : /usr/include/SDL/SDL_imageFilter.h
     6: //Preprocessor  : gcc -E
     7: //Input file: sdl.flxcc.i
     8: //Flxcc Control : sdl.flxcc
     9: //Felix Version : 1.1.2_rc1
    10: include 'std';
    11: 
    12: //#define DLLINTERFACE
    13: //#define DLLINTERFACE __declspec(dllimport)
    14: //#define DLLINTERFACE __declspec(dllexport)
    15: //#define _SDL_imageFilter_h
    16: 
    17: module SDL_imageFilter_h
    18: {
    19:   requires package "sdl";
    20:   header '#include "SDL_imageFilter.h"';
    21:   open C_hack;
    22: 
    23:   //PROCEDURES
    24:   proc SDL_imageFilterAlignStack: 1;
    25:   proc SDL_imageFilterMMXoff: 1;
    26:   proc SDL_imageFilterMMXon: 1;
    27:   proc SDL_imageFilterRestoreStack: 1;
    28: 
    29:   //FUNCTIONS
    30:   fun SDL_imageFilterAbsDiff: ptr[utiny] * ptr[utiny] * ptr[utiny] * int -> int;
    31:   fun SDL_imageFilterAdd: ptr[utiny] * ptr[utiny] * ptr[utiny] * int -> int;
    32:   fun SDL_imageFilterAddByte: ptr[utiny] * ptr[utiny] * int * utiny -> int;
    33:   fun SDL_imageFilterAddByteToHalf: ptr[utiny] * ptr[utiny] * int * utiny -> int;
    34:   fun SDL_imageFilterBinarizeUsingThreshold: ptr[utiny] * ptr[utiny] * int * utiny -> int;
    35:   fun SDL_imageFilterBitAnd: ptr[utiny] * ptr[utiny] * ptr[utiny] * int -> int;
    36:   fun SDL_imageFilterBitNegation: ptr[utiny] * ptr[utiny] * int -> int;
    37:   fun SDL_imageFilterBitOr: ptr[utiny] * ptr[utiny] * ptr[utiny] * int -> int;
    38:   fun SDL_imageFilterClipToRange: ptr[utiny] * ptr[utiny] * int * utiny * utiny -> int;
    39:   fun SDL_imageFilterConvolveKernel3x3Divide: ptr[utiny] * ptr[utiny] * int * int * ptr[short] * utiny -> int;
    40:   fun SDL_imageFilterConvolveKernel3x3ShiftRight: ptr[utiny] * ptr[utiny] * int * int * ptr[short] * utiny -> int;
    41:   fun SDL_imageFilterConvolveKernel5x5Divide: ptr[utiny] * ptr[utiny] * int * int * ptr[short] * utiny -> int;
    42:   fun SDL_imageFilterConvolveKernel5x5ShiftRight: ptr[utiny] * ptr[utiny] * int * int * ptr[short] * utiny -> int;
    43:   fun SDL_imageFilterConvolveKernel7x7Divide: ptr[utiny] * ptr[utiny] * int * int * ptr[short] * utiny -> int;
    44:   fun SDL_imageFilterConvolveKernel7x7ShiftRight: ptr[utiny] * ptr[utiny] * int * int * ptr[short] * utiny -> int;
    45:   fun SDL_imageFilterConvolveKernel9x9Divide: ptr[utiny] * ptr[utiny] * int * int * ptr[short] * utiny -> int;
    46:   fun SDL_imageFilterConvolveKernel9x9ShiftRight: ptr[utiny] * ptr[utiny] * int * int * ptr[short] * utiny -> int;
    47:   fun SDL_imageFilterDiv: ptr[utiny] * ptr[utiny] * ptr[utiny] * int -> int;
    48:   fun SDL_imageFilterMMXdetect: 1 -> int;
    49:   fun SDL_imageFilterMean: ptr[utiny] * ptr[utiny] * ptr[utiny] * int -> int;
    50:   fun SDL_imageFilterMult: ptr[utiny] * ptr[utiny] * ptr[utiny] * int -> int;
    51:   fun SDL_imageFilterMultByByte: ptr[utiny] * ptr[utiny] * int * utiny -> int;
    52:   fun SDL_imageFilterMultDivby2: ptr[utiny] * ptr[utiny] * ptr[utiny] * int -> int;
    53:   fun SDL_imageFilterMultDivby4: ptr[utiny] * ptr[utiny] * ptr[utiny] * int -> int;
    54:   fun SDL_imageFilterMultNor: ptr[utiny] * ptr[utiny] * ptr[utiny] * int -> int;
    55:   fun SDL_imageFilterNormalizeLinear: ptr[utiny] * ptr[utiny] * int * int * int * int * int -> int;
    56:   fun SDL_imageFilterShiftLeft: ptr[utiny] * ptr[utiny] * int * utiny -> int;
    57:   fun SDL_imageFilterShiftLeftByte: ptr[utiny] * ptr[utiny] * int * utiny -> int;
    58:   fun SDL_imageFilterShiftRight: ptr[utiny] * ptr[utiny] * int * utiny -> int;
    59:   fun SDL_imageFilterShiftRightAndMultByByte: ptr[utiny] * ptr[utiny] * int * utiny * utiny -> int;
    60:   fun SDL_imageFilterSobelX: ptr[utiny] * ptr[utiny] * int * int -> int;
    61:   fun SDL_imageFilterSobelXShiftRight: ptr[utiny] * ptr[utiny] * int * int * utiny -> int;
    62:   fun SDL_imageFilterSub: ptr[utiny] * ptr[utiny] * ptr[utiny] * int -> int;
    63:   fun SDL_imageFilterSubByte: ptr[utiny] * ptr[utiny] * int * utiny -> int;
    64: }
End felix section to lib/SDL/SDL_imageFilter.flx[1]
Start felix section to lib/SDL/SDL_mixer.flx[1 /1 ]
     1: #line 2069 "./lpsrc/flx_sdl.pak"
     2: //Module        : SDL_mixer_h
     3: //Timestamp     : 2006/1/8 3:36:0 UTC
     4: //Timestamp     : 2006/1/8 14:36:0 (local)
     5: //Raw Header    : /usr/include/SDL/SDL_mixer.h
     6: //Preprocessor  : gcc -E
     7: //Input file: sdl.flxcc.i
     8: //Flxcc Control : sdl.flxcc
     9: //Felix Version : 1.1.2_rc1
    10: include 'std';
    11: 
    12: //#define Mix_GetError  SDL_GetError
    13: //#define Mix_SetError  SDL_SetError
    14: //#define Mix_FadeInChannel(channel,chunk,loops,ms) Mix_FadeInChannelTimed(channel,chunk,loops,ms,-1)
    15: //#define Mix_PlayChannel(channel,chunk,loops) Mix_PlayChannelTimed(channel,chunk,loops,-1)
    16: //#define MIX_EFFECTSMAXSPEED  "MIX_EFFECTSMAXSPEED"
    17: //#define MIX_CHANNEL_POST  -2
    18: //#define Mix_LoadWAV(file)     Mix_LoadWAV_RW(SDL_RWFromFile(file, "rb"), 1)
    19: //#define MIX_MAX_VOLUME                128     /* Volume of a chunk */
    20: //#define MIX_DEFAULT_CHANNELS  2
    21: //#define MIX_DEFAULT_FORMAT    AUDIO_S16MSB
    22: //#define MIX_DEFAULT_FORMAT    AUDIO_S16LSB
    23: //#define MIX_DEFAULT_FREQUENCY 22050
    24: //#define MIX_CHANNELS  8
    25: //#define MIX_VERSION(X)                SDL_MIXER_VERSION(X)
    26: //#define MIX_PATCHLEVEL                SDL_MIXER_PATCHLEVEL
    27: //#define MIX_MINOR_VERSION     SDL_MIXER_MINOR_VERSION
    28: //#define MIX_MAJOR_VERSION     SDL_MIXER_MAJOR_VERSION
    29: //#define SDL_MIXER_VERSION(X)                                          \
    30: //#define SDL_MIXER_PATCHLEVEL  6
    31: //#define SDL_MIXER_MINOR_VERSION       2
    32: //#define SDL_MIXER_MAJOR_VERSION       1
    33: //#define _SDL_MIXER_H
    34: 
    35: //INCLUDES
    36: include "SDL/SDL_rwops";
    37: include "SDL/SDL_version";
    38: 
    39: module SDL_mixer_h
    40: {
    41:   requires package "sdl";
    42:   header '#include "SDL_mixer.h"';
    43:   open C_hack;
    44:   open SDL_rwops_h;
    45:   open SDL_version_h;
    46: 
    47:   //ABSTRACT TYPES
    48:   type Mix_MusicType = 'Mix_MusicType';
    49:   type Mix_Chunk = 'Mix_Chunk';
    50:   type Mix_Fading = 'Mix_Fading';
    51: 
    52:   //C FUNCTION POINTER TYPES
    53:   header '''typedef void (*SDL_mixer_h_cft_3)(void *, Uint8 *, int);''';
    54:   type SDL_mixer_h_cft_3 = 'SDL_mixer_h_cft_3';
    55:   header '''typedef void (*SDL_mixer_h_cft_1)(int, void *, int,  void *);''';
    56:   type SDL_mixer_h_cft_1 = 'SDL_mixer_h_cft_1';
    57:   header '''typedef void (*SDL_mixer_h_cft_2)(int, void *);''';
    58:   type SDL_mixer_h_cft_2 = 'SDL_mixer_h_cft_2';
    59:   header '''typedef void (*SDL_mixer_h_cft_5)(int);''';
    60:   type SDL_mixer_h_cft_5 = 'SDL_mixer_h_cft_5';
    61:   header '''typedef void (*SDL_mixer_h_cft_4)(void);''';
    62:   type SDL_mixer_h_cft_4 = 'SDL_mixer_h_cft_4';
    63: 
    64:   //PURE INCOMPLETE TYPES
    65:   type _struct__Mix_Music = 'struct _Mix_Music'; //local
    66: 
    67:   //STRUCT or UNION TAG ALIASES
    68:   typedef Mix_Music = _struct__Mix_Music;
    69: 
    70:   //TYPE ALIASES
    71:   typedef Mix_EffectDone_t = SDL_mixer_h_cft_2;
    72:   typedef Mix_EffectFunc_t = SDL_mixer_h_cft_1;
    73: 
    74:   //ENUMERATION CONSTANTS
    75:   const MUS_CMD: int = 'MUS_CMD';
    76:   const MIX_FADING_OUT: int = 'MIX_FADING_OUT';
    77:   const MIX_NO_FADING: int = 'MIX_NO_FADING';
    78:   const MIX_FADING_IN: int = 'MIX_FADING_IN';
    79:   const MUS_WAV: int = 'MUS_WAV';
    80:   const MUS_MID: int = 'MUS_MID';
    81:   const MUS_OGG: int = 'MUS_OGG';
    82:   const MUS_NONE: int = 'MUS_NONE';
    83:   const MUS_MOD: int = 'MUS_MOD';
    84:   const MUS_MP3: int = 'MUS_MP3';
    85: 
    86:   //PROCEDURES
    87:   proc Mix_ChannelFinished: SDL_mixer_h_cft_5;
    88:   proc Mix_CloseAudio: 1;
    89:   proc Mix_FreeChunk: ptr[Mix_Chunk];
    90:   proc Mix_FreeMusic: ptr[Mix_Music];
    91:   proc Mix_HookMusic: SDL_mixer_h_cft_3 * address;
    92:   proc Mix_HookMusicFinished: SDL_mixer_h_cft_4;
    93:   proc Mix_Pause: int;
    94:   proc Mix_PauseMusic: 1;
    95:   proc Mix_Resume: int;
    96:   proc Mix_ResumeMusic: 1;
    97:   proc Mix_RewindMusic: 1;
    98:   proc Mix_SetPostMix: SDL_mixer_h_cft_3 * address;
    99: 
   100:   //FUNCTIONS
   101:   fun Mix_AllocateChannels: int -> int;
   102:   fun Mix_ExpireChannel: int * int -> int;
   103:   fun Mix_FadeInChannelTimed: int * ptr[Mix_Chunk] * int * int * int -> int;
   104:   fun Mix_FadeInMusic: ptr[Mix_Music] * int * int -> int;
   105:   fun Mix_FadeInMusicPos: ptr[Mix_Music] * int * int * double -> int;
   106:   fun Mix_FadeOutChannel: int * int -> int;
   107:   fun Mix_FadeOutGroup: int * int -> int;
   108:   fun Mix_FadeOutMusic: int -> int;
   109:   fun Mix_FadingChannel: int -> Mix_Fading;
   110:   fun Mix_FadingMusic: 1 -> Mix_Fading;
   111:   fun Mix_GetChunk: int -> ptr[Mix_Chunk];
   112:   fun Mix_GetMusicHookData: 1 -> address;
   113:   fun Mix_GetMusicType: cptr[Mix_Music] -> Mix_MusicType;
   114:   fun Mix_GetSynchroValue: 1 -> int;
   115:   fun Mix_GroupAvailable: int -> int;
   116:   fun Mix_GroupChannel: int * int -> int;
   117:   fun Mix_GroupChannels: int * int * int -> int;
   118:   fun Mix_GroupCount: int -> int;
   119:   fun Mix_GroupNewer: int -> int;
   120:   fun Mix_GroupOldest: int -> int;
   121:   fun Mix_HaltChannel: int -> int;
   122:   fun Mix_HaltGroup: int -> int;
   123:   fun Mix_HaltMusic: 1 -> int;
   124:   fun Mix_Linked_Version: 1 -> cptr[SDL_version];
   125:   fun Mix_LoadMUS: cptr[char] -> ptr[Mix_Music];
   126:   fun Mix_LoadWAV_RW: ptr[SDL_RWops] * int -> ptr[Mix_Chunk];
   127:   fun Mix_OpenAudio: int * uint16 * int * int -> int;
   128:   fun Mix_Paused: int -> int;
   129:   fun Mix_PausedMusic: 1 -> int;
   130:   fun Mix_PlayChannelTimed: int * ptr[Mix_Chunk] * int * int -> int;
   131:   fun Mix_PlayMusic: ptr[Mix_Music] * int -> int;
   132:   fun Mix_Playing: int -> int;
   133:   fun Mix_PlayingMusic: 1 -> int;
   134:   fun Mix_QuerySpec: ptr[int] * ptr[uint16] * ptr[int] -> int;
   135:   fun Mix_QuickLoad_RAW: ptr[uint8] * uint32 -> ptr[Mix_Chunk];
   136:   fun Mix_QuickLoad_WAV: ptr[uint8] -> ptr[Mix_Chunk];
   137:   fun Mix_RegisterEffect: int * SDL_mixer_h_cft_1 * SDL_mixer_h_cft_2 * address -> int;
   138:   fun Mix_ReserveChannels: int -> int;
   139:   fun Mix_SetDistance: int * uint8 -> int;
   140:   fun Mix_SetMusicCMD: cptr[char] -> int;
   141:   fun Mix_SetMusicPosition: double -> int;
   142:   fun Mix_SetPanning: int * uint8 * uint8 -> int;
   143:   fun Mix_SetPosition: int * int16 * uint8 -> int;
   144:   fun Mix_SetReverseStereo: int * int -> int;
   145:   fun Mix_SetSynchroValue: int -> int;
   146:   fun Mix_UnregisterAllEffects: int -> int;
   147:   fun Mix_UnregisterEffect: int * SDL_mixer_h_cft_1 -> int;
   148:   fun Mix_Volume: int * int -> int;
   149:   fun Mix_VolumeChunk: ptr[Mix_Chunk] * int -> int;
   150:   fun Mix_VolumeMusic: int -> int;
   151: 
   152:   //CALLBACK TYPE WRAPPERS
   153:   //callback type SDL_mixer_h_cft_2, client data at 1
   154:   typedef _fcbat_SDL_mixer_h_cft_2 = int;
   155:   export type (_fcbat_SDL_mixer_h_cft_2) as "_fcbat_SDL_mixer_h_cft_2";
   156:   typedef _fcbt_SDL_mixer_h_cft_2 = int -> void;
   157:   export type (_fcbt_SDL_mixer_h_cft_2) as "_fcbt_SDL_mixer_h_cft_2";
   158:   header '''void _fcbw_SDL_mixer_h_cft_2(int a1, void *a2);''';
   159: 
   160:   const _fcbw_SDL_mixer_h_cft_2: SDL_mixer_h_cft_2 = "_fcbw_SDL_mixer_h_cft_2";
   161:   body '''
   162:   void _fcbw_SDL_mixer_h_cft_2(int a1, void *a2){
   163:     con_t *p  = ((_fcbt_SDL_mixer_h_cft_2)a2)->call(0, a1);
   164:     while(p) p=p->resume();
   165:   }''';
   166: 
   167:   //callback type SDL_mixer_h_cft_3, client data at 0
   168:   typedef _fcbat_SDL_mixer_h_cft_3 = ptr[uint8] * int;
   169:   export type (_fcbat_SDL_mixer_h_cft_3) as "_fcbat_SDL_mixer_h_cft_3";
   170:   typedef _fcbt_SDL_mixer_h_cft_3 = ptr[uint8] * int -> void;
   171:   export type (_fcbt_SDL_mixer_h_cft_3) as "_fcbt_SDL_mixer_h_cft_3";
   172:   header '''void _fcbw_SDL_mixer_h_cft_3(void *a1, Uint8 *a2, int a3);''';
   173: 
   174:   const _fcbw_SDL_mixer_h_cft_3: SDL_mixer_h_cft_3 = "_fcbw_SDL_mixer_h_cft_3";
   175:   body '''
   176:   void _fcbw_SDL_mixer_h_cft_3(void *a1, Uint8 *a2, int a3){
   177:     con_t *p  = ((_fcbt_SDL_mixer_h_cft_3)a1)->call(0, _fcbat_SDL_mixer_h_cft_3(a2, a3));
   178:     while(p) p=p->resume();
   179:   }''';
   180: 
   181: 
   182:   //CALLBACK CLIENT WRAPPERS
   183:   //callback client Mix_HookMusic, client data at 0, callback at 1
   184:   proc wrapper_Mix_HookMusic(a1: _fcbt_SDL_mixer_h_cft_3) {
   185:     Mix_HookMusic(_fcbw_SDL_mixer_h_cft_3, C_hack::cast[address]a1);
   186:   }
   187:   //callback client Mix_RegisterEffect, client data at 2, callback at 3
   188:   fun wrapper_Mix_RegisterEffect(a1: int, a2: SDL_mixer_h_cft_1, a3: _fcbt_SDL_mixer_h_cft_2): int= {
   189:     return Mix_RegisterEffect(a1, a2, _fcbw_SDL_mixer_h_cft_2, C_hack::cast[address]a3);
   190:   }
   191:   //callback client Mix_SetPostMix, client data at 0, callback at 1
   192:   proc wrapper_Mix_SetPostMix(a1: _fcbt_SDL_mixer_h_cft_3) {
   193:     Mix_SetPostMix(_fcbw_SDL_mixer_h_cft_3, C_hack::cast[address]a1);
   194:   }
   195: }
End felix section to lib/SDL/SDL_mixer.flx[1]
Start felix section to lib/SDL/SDL_sound.flx[1 /1 ]
     1: #line 2266 "./lpsrc/flx_sdl.pak"
     2: //Module        : SDL_sound_h
     3: //Timestamp     : 2006/1/8 3:36:0 UTC
     4: //Timestamp     : 2006/1/8 14:36:0 (local)
     5: //Raw Header    : /usr/include/SDL/SDL_sound.h
     6: //Preprocessor  : gcc -E
     7: //Input file: sdl.flxcc.i
     8: //Flxcc Control : sdl.flxcc
     9: //Felix Version : 1.1.2_rc1
    10: include 'std';
    11: 
    12: //#define SOUND_VERSION(x) \
    13: //#define SOUND_VER_PATCH 1
    14: //#define SOUND_VER_MINOR 0
    15: //#define SOUND_VER_MAJOR 1
    16: //#define SNDDECLSPEC
    17: //#define SNDDECLSPEC __declspec(dllexport)
    18: //#define SDLCALL
    19: //#define _INCLUDE_SDL_SOUND_H_
    20: 
    21: //INCLUDES
    22: include "SDL/SDL_rwops";
    23: 
    24: module SDL_sound_h
    25: {
    26:   requires package "sdl";
    27:   header '#include "SDL_sound.h"';
    28:   open C_hack;
    29:   open SDL_rwops_h;
    30: 
    31:   //ABSTRACT TYPES
    32:   type Sound_Sample = 'Sound_Sample';
    33:   type Sound_Version = 'Sound_Version';
    34:   type Sound_AudioInfo = 'Sound_AudioInfo';
    35:   type Sound_SampleFlags = 'Sound_SampleFlags';
    36:   type Sound_DecoderInfo = 'Sound_DecoderInfo';
    37: 
    38:   //ENUMERATION CONSTANTS
    39:   const SOUND_SAMPLEFLAG_ERROR: int = 'SOUND_SAMPLEFLAG_ERROR';
    40:   const SOUND_SAMPLEFLAG_NONE: int = 'SOUND_SAMPLEFLAG_NONE';
    41:   const SOUND_SAMPLEFLAG_EAGAIN: int = 'SOUND_SAMPLEFLAG_EAGAIN';
    42:   const SOUND_SAMPLEFLAG_EOF: int = 'SOUND_SAMPLEFLAG_EOF';
    43:   const SOUND_SAMPLEFLAG_CANSEEK: int = 'SOUND_SAMPLEFLAG_CANSEEK';
    44: 
    45:   //PROCEDURES
    46:   proc Sound_ClearError: 1;
    47:   proc Sound_FreeSample: ptr[Sound_Sample];
    48:   proc Sound_GetLinkedVersion: ptr[Sound_Version];
    49: 
    50:   //FUNCTIONS
    51:   fun Sound_AvailableDecoders: 1 -> ptr[cptr[Sound_DecoderInfo]];
    52:   fun Sound_Decode: ptr[Sound_Sample] -> uint32;
    53:   fun Sound_DecodeAll: ptr[Sound_Sample] -> uint32;
    54:   fun Sound_GetError: 1 -> cptr[char];
    55:   fun Sound_Init: 1 -> int;
    56:   fun Sound_NewSample: ptr[SDL_RWops] * cptr[char] * ptr[Sound_AudioInfo] * uint32 -> ptr[Sound_Sample];
    57:   fun Sound_NewSampleFromFile: cptr[char] * ptr[Sound_AudioInfo] * uint32 -> ptr[Sound_Sample];
    58:   fun Sound_Quit: 1 -> int;
    59:   fun Sound_Rewind: ptr[Sound_Sample] -> int;
    60:   fun Sound_Seek: ptr[Sound_Sample] * uint32 -> int;
    61:   fun Sound_SetBufferSize: ptr[Sound_Sample] * uint32 -> int;
    62: }
End felix section to lib/SDL/SDL_sound.flx[1]
Start felix section to lib/SDL/SDL_rotozoom.flx[1 /1 ]
     1: #line 2330 "./lpsrc/flx_sdl.pak"
     2: //Module        : SDL_rotozoom_h
     3: //Timestamp     : 2006/1/8 3:36:0 UTC
     4: //Timestamp     : 2006/1/8 14:36:0 (local)
     5: //Raw Header    : /usr/include/SDL/SDL_rotozoom.h
     6: //Preprocessor  : gcc -E
     7: //Input file: sdl.flxcc.i
     8: //Flxcc Control : sdl.flxcc
     9: //Felix Version : 1.1.2_rc1
    10: include 'std';
    11: 
    12: //#define DLLINTERFACE
    13: //#define DLLINTERFACE __declspec(dllimport)
    14: //#define DLLINTERFACE __declspec(dllexport)
    15: //#define SMOOTHING_ON          1
    16: //#define SMOOTHING_OFF         0
    17: //#define M_PI  3.141592654
    18: //#define _SDL_rotozoom_h
    19: 
    20: //INCLUDES
    21: include "SDL/SDL";
    22: include "SDL/SDL_video";
    23: 
    24: module SDL_rotozoom_h
    25: {
    26:   requires package "sdl";
    27:   header '#include "SDL_rotozoom.h"';
    28:   open C_hack;
    29:   open SDL_h;
    30:   open SDL_video_h;
    31:   open math_h;
    32: 
    33:   //CSTRUCTS
    34:   cstruct tColorRGBA {
    35:     r: uint8;
    36:     g: uint8;
    37:     b: uint8;
    38:     a: uint8;
    39:   }
    40:   cstruct tColorY {
    41:     y: uint8;
    42:   }
    43: 
    44:   //STRUCT or UNION TAG ALIASES
    45: 
    46:   //TYPE ALIASES
    47:   typedef _struct_tColorY = tColorY;
    48:   typedef _struct_tColorRGBA = tColorRGBA;
    49: 
    50:   //PROCEDURES
    51:   proc rotozoomSurfaceSize: int * int * double * double * ptr[int] * ptr[int];
    52:   proc zoomSurfaceSize: int * int * double * double * ptr[int] * ptr[int];
    53: 
    54:   //FUNCTIONS
    55:   fun rotozoomSurface: ptr[SDL_Surface] * double * double * int -> ptr[SDL_Surface];
    56:   fun zoomSurface: ptr[SDL_Surface] * double * double * int -> ptr[SDL_Surface];
    57: }
End felix section to lib/SDL/SDL_rotozoom.flx[1]
Start felix section to lib/SDL/SDL_ttf.flx[1 /1 ]
     1: #line 2389 "./lpsrc/flx_sdl.pak"
     2: //Module        : SDL_ttf_h
     3: //Timestamp     : 2006/1/8 3:36:0 UTC
     4: //Timestamp     : 2006/1/8 14:36:0 (local)
     5: //Raw Header    : /usr/include/SDL/SDL_ttf.h
     6: //Preprocessor  : gcc -E
     7: //Input file: sdl.flxcc.i
     8: //Flxcc Control : sdl.flxcc
     9: //Felix Version : 1.1.2_rc1
    10: include 'std';
    11: 
    12: //#define TTF_GetError  SDL_GetError
    13: //#define TTF_SetError  SDL_SetError
    14: //#define TTF_RenderUNICODE(font, text, fg, bg) \
    15: //#define TTF_RenderUTF8(font, text, fg, bg)    \
    16: //#define TTF_RenderText(font, text, fg, bg)    \
    17: //#define TTF_STYLE_UNDERLINE   0x04
    18: //#define TTF_STYLE_ITALIC      0x02
    19: //#define TTF_STYLE_BOLD                0x01
    20: //#define TTF_STYLE_NORMAL      0x00
    21: //#define UNICODE_BOM_SWAPPED   0xFFFE
    22: //#define UNICODE_BOM_NATIVE    0xFEFF
    23: //#define TTF_VERSION(X)                                                        \
    24: //#define TTF_PATCHLEVEL                6
    25: //#define TTF_MINOR_VERSION     0
    26: //#define TTF_MAJOR_VERSION     2
    27: //#define _SDLttf_h
    28: 
    29: //INCLUDES
    30: include "SDL/SDL_rwops";
    31: include "SDL/SDL_version";
    32: include "SDL/SDL_video";
    33: 
    34: module SDL_ttf_h
    35: {
    36:   requires package "sdl";
    37:   header '#include "SDL_ttf.h"';
    38:   open C_hack;
    39:   open SDL_rwops_h;
    40:   open SDL_version_h;
    41:   open SDL_video_h;
    42: 
    43:   //PURE INCOMPLETE TYPES
    44:   type _struct__TTF_Font = 'struct _TTF_Font'; //local
    45: 
    46:   //STRUCT or UNION TAG ALIASES
    47:   typedef TTF_Font = _struct__TTF_Font;
    48: 
    49:   //PROCEDURES
    50:   proc TTF_ByteSwappedUNICODE: int;
    51:   proc TTF_CloseFont: ptr[TTF_Font];
    52:   proc TTF_Quit: 1;
    53:   proc TTF_SetFontStyle: ptr[TTF_Font] * int;
    54: 
    55:   //FUNCTIONS
    56:   fun TTF_FontAscent: ptr[TTF_Font] -> int;
    57:   fun TTF_FontDescent: ptr[TTF_Font] -> int;
    58:   fun TTF_FontFaceFamilyName: ptr[TTF_Font] -> ptr[char];
    59:   fun TTF_FontFaceIsFixedWidth: ptr[TTF_Font] -> int;
    60:   fun TTF_FontFaceStyleName: ptr[TTF_Font] -> ptr[char];
    61:   fun TTF_FontFaces: ptr[TTF_Font] -> long;
    62:   fun TTF_FontHeight: ptr[TTF_Font] -> int;
    63:   fun TTF_FontLineSkip: ptr[TTF_Font] -> int;
    64:   fun TTF_GetFontStyle: ptr[TTF_Font] -> int;
    65:   fun TTF_GlyphMetrics: ptr[TTF_Font] * uint16 * ptr[int] * ptr[int] * ptr[int] * ptr[int] * ptr[int] -> int;
    66:   fun TTF_Init: 1 -> int;
    67:   fun TTF_Linked_Version: 1 -> cptr[SDL_version];
    68:   fun TTF_OpenFont: cptr[char] * int -> ptr[TTF_Font];
    69:   fun TTF_OpenFontIndex: cptr[char] * int * long -> ptr[TTF_Font];
    70:   fun TTF_OpenFontIndexRW: ptr[SDL_RWops] * int * int * long -> ptr[TTF_Font];
    71:   fun TTF_OpenFontRW: ptr[SDL_RWops] * int * int -> ptr[TTF_Font];
    72:   fun TTF_RenderGlyph_Blended: ptr[TTF_Font] * uint16 * SDL_Color -> ptr[SDL_Surface];
    73:   fun TTF_RenderGlyph_Shaded: ptr[TTF_Font] * uint16 * SDL_Color * SDL_Color -> ptr[SDL_Surface];
    74:   fun TTF_RenderGlyph_Solid: ptr[TTF_Font] * uint16 * SDL_Color -> ptr[SDL_Surface];
    75:   fun TTF_RenderText_Blended: ptr[TTF_Font] * cptr[char] * SDL_Color -> ptr[SDL_Surface];
    76:   fun TTF_RenderText_Shaded: ptr[TTF_Font] * cptr[char] * SDL_Color * SDL_Color -> ptr[SDL_Surface];
    77:   fun TTF_RenderText_Solid: ptr[TTF_Font] * cptr[char] * SDL_Color -> ptr[SDL_Surface];
    78:   fun TTF_RenderUNICODE_Blended: ptr[TTF_Font] * cptr[uint16] * SDL_Color -> ptr[SDL_Surface];
    79:   fun TTF_RenderUNICODE_Shaded: ptr[TTF_Font] * cptr[uint16] * SDL_Color * SDL_Color -> ptr[SDL_Surface];
    80:   fun TTF_RenderUNICODE_Solid: ptr[TTF_Font] * cptr[uint16] * SDL_Color -> ptr[SDL_Surface];
    81:   fun TTF_RenderUTF8_Blended: ptr[TTF_Font] * cptr[char] * SDL_Color -> ptr[SDL_Surface];
    82:   fun TTF_RenderUTF8_Shaded: ptr[TTF_Font] * cptr[char] * SDL_Color * SDL_Color -> ptr[SDL_Surface];
    83:   fun TTF_RenderUTF8_Solid: ptr[TTF_Font] * cptr[char] * SDL_Color -> ptr[SDL_Surface];
    84:   fun TTF_SizeText: ptr[TTF_Font] * cptr[char] * ptr[int] * ptr[int] -> int;
    85:   fun TTF_SizeUNICODE: ptr[TTF_Font] * cptr[uint16] * ptr[int] * ptr[int] -> int;
    86:   fun TTF_SizeUTF8: ptr[TTF_Font] * cptr[char] * ptr[int] * ptr[int] -> int;
    87:   fun TTF_WasInit: 1 -> int;
    88: }
End felix section to lib/SDL/SDL_ttf.flx[1]
Start felix section to lib/SDL/SDL_net.flx[1 /1 ]
     1: #line 2479 "./lpsrc/flx_sdl.pak"
     2: //Module        : SDL_net_h
     3: //Timestamp     : 2006/1/8 3:36:0 UTC
     4: //Timestamp     : 2006/1/8 14:36:0 (local)
     5: //Raw Header    : /usr/include/SDL/SDL_net.h
     6: //Preprocessor  : gcc -E
     7: //Input file: sdl.flxcc.i
     8: //Flxcc Control : sdl.flxcc
     9: //Felix Version : 1.1.2_rc1
    10: include 'std';
    11: 
    12: //#define SDLNet_Read32(areap)          \
    13: //#define SDLNet_Read32(areap)          \
    14: //#define SDLNet_Read32(areap)          \
    15: //#define SDLNet_Read16(areap)          \
    16: //#define SDLNet_Read16(areap)          \
    17: //#define SDLNet_Read16(areap)          \
    18: //#define SDLNet_Write32(value, areap)  \
    19: //#define SDLNet_Write32(value, areap)  \
    20: //#define SDLNet_Write32(value, areap)  \
    21: //#define SDLNet_Write16(value, areap)  \
    22: //#define SDLNet_Write16(value, areap)  \
    23: //#define SDLNet_Write16(value, areap)  \
    24: //#define SDL_DATA_ALIGNED      0
    25: //#define SDL_DATA_ALIGNED      1
    26: //#define SDLNet_GetError       SDL_GetError
    27: //#define SDLNet_SetError       SDL_SetError
    28: //#define SDLNet_SocketReady(sock) \
    29: //#define SDLNet_UDP_DelSocket(set, sock) \
    30: //#define SDLNet_TCP_DelSocket(set, sock) \
    31: //#define SDLNet_UDP_AddSocket(set, sock) \
    32: //#define SDLNet_TCP_AddSocket(set, sock) \
    33: //#define SDLNET_MAX_UDPADDRESSES       4
    34: //#define SDLNET_MAX_UDPCHANNELS        32
    35: //#define INADDR_BROADCAST      0xFFFFFFFF
    36: //#define INADDR_NONE           0xFFFFFFFF
    37: //#define INADDR_ANY            0x00000000
    38: //#define _SDLnet_h
    39: 
    40: module SDL_net_h
    41: {
    42:   requires package "sdl";
    43:   header '#include "SDL_net.h"';
    44:   open C_hack;
    45: 
    46:   //ABSTRACT TYPES
    47:   type SDLNet_GenericSocket = 'SDLNet_GenericSocket';
    48:   type IPaddress = 'IPaddress';
    49:   type UDPpacket = 'UDPpacket';
    50: 
    51:   //PURE INCOMPLETE TYPES
    52:   type _struct__UDPsocket = 'struct _UDPsocket'; //local
    53:   type _struct__SDLNet_SocketSet = 'struct _SDLNet_SocketSet'; //local
    54:   type _struct__TCPsocket = 'struct _TCPsocket'; //local
    55: 
    56:   //TYPE ALIASES
    57:   typedef UDPsocket = ptr[_struct__UDPsocket];
    58:   typedef TCPsocket = ptr[_struct__TCPsocket];
    59:   typedef SDLNet_SocketSet = ptr[_struct__SDLNet_SocketSet];
    60: 
    61:   //PROCEDURES
    62:   proc SDLNet_FreePacket: ptr[UDPpacket];
    63:   proc SDLNet_FreePacketV: ptr[ptr[UDPpacket]];
    64:   proc SDLNet_FreeSocketSet: SDLNet_SocketSet;
    65:   proc SDLNet_Quit: 1;
    66:   proc SDLNet_TCP_Close: TCPsocket;
    67:   proc SDLNet_UDP_Close: UDPsocket;
    68:   proc SDLNet_UDP_Unbind: UDPsocket * int;
    69:   proc SDLNet_Write16: uint16 * address;
    70:   proc SDLNet_Write32: uint32 * address;
    71: 
    72:   //FUNCTIONS
    73:   fun SDLNet_AddSocket: SDLNet_SocketSet * SDLNet_GenericSocket -> int;
    74:   fun SDLNet_AllocPacket: int -> ptr[UDPpacket];
    75:   fun SDLNet_AllocPacketV: int * int -> ptr[ptr[UDPpacket]];
    76:   fun SDLNet_AllocSocketSet: int -> SDLNet_SocketSet;
    77:   fun SDLNet_CheckSockets: SDLNet_SocketSet * uint32 -> int;
    78:   fun SDLNet_DelSocket: SDLNet_SocketSet * SDLNet_GenericSocket -> int;
    79:   fun SDLNet_Init: 1 -> int;
    80:   fun SDLNet_Read16: address -> uint16;
    81:   fun SDLNet_Read32: address -> uint32;
    82:   fun SDLNet_ResizePacket: ptr[UDPpacket] * int -> int;
    83:   fun SDLNet_ResolveHost: ptr[IPaddress] * cptr[char] * uint16 -> int;
    84:   fun SDLNet_ResolveIP: ptr[IPaddress] -> cptr[char];
    85:   fun SDLNet_TCP_Accept: TCPsocket -> TCPsocket;
    86:   fun SDLNet_TCP_GetPeerAddress: TCPsocket -> ptr[IPaddress];
    87:   fun SDLNet_TCP_Open: ptr[IPaddress] -> TCPsocket;
    88:   fun SDLNet_TCP_Recv: TCPsocket * address * int -> int;
    89:   fun SDLNet_TCP_Send: TCPsocket * address * int -> int;
    90:   fun SDLNet_UDP_Bind: UDPsocket * int * ptr[IPaddress] -> int;
    91:   fun SDLNet_UDP_GetPeerAddress: UDPsocket * int -> ptr[IPaddress];
    92:   fun SDLNet_UDP_Open: uint16 -> UDPsocket;
    93:   fun SDLNet_UDP_Recv: UDPsocket * ptr[UDPpacket] -> int;
    94:   fun SDLNet_UDP_RecvV: UDPsocket * ptr[ptr[UDPpacket]] -> int;
    95:   fun SDLNet_UDP_Send: UDPsocket * int * ptr[UDPpacket] -> int;
    96:   fun SDLNet_UDP_SendV: UDPsocket * ptr[ptr[UDPpacket]] * int -> int;
    97: }
End felix section to lib/SDL/SDL_net.flx[1]
Start cpp section to rtl/flx_sdl_config.hpp[1 /1 ]
     1: #line 2578 "./lpsrc/flx_sdl.pak"
     2: #ifndef __FLX_SDL_CONFIG_GUARD__
     3: #define __FLX_SDL_CONFIG_GUARD__
     4: #include "flx_rtl_config.hpp"
     5: #ifdef BUILD_SDL
     6: #define SDL_EXTERN FLX_EXPORT
     7: #else
     8: #define SDL_EXTERN FLX_IMPORT
     9: #endif
    10: #endif
End cpp section to rtl/flx_sdl_config.hpp[1]
Start felix section to lib/flx_faio_sdl.flx[1 /1 ]
     1: #line 2590 "./lpsrc/flx_sdl.pak"
     2: #import <flx.flxh>
     3: 
     4: include "SDL/SDL";
     5: include "SDL/SDL_events";
     6: include "flx_faio";
     7: 
     8: module SDL_events
     9: {
    10:   requires package "sdl";
    11:   open SDL_events_h;
    12:   open SDL_mutex_h;
    13: 
    14:   fun event_type: SDL_Event -> uint8 = "$1.type";
    15: 
    16:   proc block_sdl_events(m:ptr[SDL_mutex])
    17:   {
    18:     var dummy = SDL_UserEvent(SDL_USEREVENT,0,NULL,NULL);
    19:     ignore(SDL_PushEvent(cast [ptr[SDL_Event]] (addr dummy)));
    20:     ignore(SDL_LockMutex(m));
    21:   }
    22: 
    23:   proc unblock_sdl_events(m:ptr[SDL_mutex])
    24:   {
    25:     ignore(SDL_UnlockMutex(m));
    26:   }
    27: }
End felix section to lib/flx_faio_sdl.flx[1]