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: }
Start felix section to lib/SDL/SDL.flx[1
/1
]
1: #line 183 "./lpsrc/flx_sdl.pak"
2:
3:
4:
5:
6:
7:
8:
9:
10: include 'std';
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
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:
38: proc SDL_Quit: 1;
39: proc SDL_QuitSubSystem: uint32;
40:
41:
42: fun SDL_Init: uint32 -> int;
43: fun SDL_InitSubSystem: uint32 -> int;
44: fun SDL_WasInit: uint32 -> uint32;
45: }
Start felix section to lib/SDL/SDL_active.flx[1
/1
]
1: #line 230 "./lpsrc/flx_sdl.pak"
2:
3:
4:
5:
6:
7:
8:
9:
10: include 'std';
11:
12:
13:
14:
15:
16:
17: module SDL_active_h
18: {
19: requires package "sdl";
20: header '#include "SDL_active.h"';
21: open C_hack;
22:
23:
24: fun SDL_GetAppState: 1 -> uint8;
25: }
Start felix section to lib/SDL/SDL_audio.flx[1
/1
]
1: #line 257 "./lpsrc/flx_sdl.pak"
2:
3:
4:
5:
6:
7:
8:
9:
10: include 'std';
11:
12:
13:
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:
36: type SDL_audiostatus = 'SDL_audiostatus';
37: fun eq:SDL_audiostatus * SDL_audiostatus -> bool = "$1==$2";
38:
39:
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:
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:
98:
99:
100:
101:
102: /*
103:
104: typedef _struct_SDL_AudioSpec = SDL_AudioSpec;
105: typedef _struct_SDL_AudioCVT = SDL_AudioCVT;
106: */
107:
108:
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:
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:
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: }
Start felix section to lib/SDL/SDL_cdrom.flx[1
/1
]
1: #line 390 "./lpsrc/flx_sdl.pak"
2:
3:
4:
5:
6:
7:
8:
9:
10: include 'std';
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21: module SDL_cdrom_h
22: {
23: requires package "sdl";
24: header '#include "SDL_cdrom.h"';
25: open C_hack;
26:
27:
28: type CDstatus = 'CDstatus';
29:
30:
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:
48:
49: /*
50:
51: typedef _struct_SDL_CD = SDL_CD;
52: typedef _struct_SDL_CDtrack = SDL_CDtrack;
53: */
54:
55:
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:
63: proc SDL_CDClose: ptr[SDL_CD];
64:
65:
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: }
Start felix section to lib/SDL/SDL_error.flx[1
/1
]
1: #line 468 "./lpsrc/flx_sdl.pak"
2:
3:
4:
5:
6:
7:
8:
9:
10: include 'std';
11:
12:
13:
14:
15: module SDL_error_h
16: {
17: requires package "sdl";
18: header '#include "SDL_error.h"';
19: open C_hack;
20:
21:
22: type SDL_errorcode = 'SDL_errorcode';
23:
24:
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:
32: proc SDL_ClearError: 1;
33: proc SDL_Error: SDL_errorcode;
34: proc SDL_SetError[t]: t;
35:
36:
37: fun SDL_GetError: 1 -> ptr[char];
38: }
Start felix section to lib/SDL/SDL_events.flx[1
/1
]
1: #line 508 "./lpsrc/flx_sdl.pak"
2:
3:
4:
5:
6:
7:
8:
9:
10: include 'std';
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
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:
31: type SDL_eventaction = 'SDL_eventaction';
32:
33:
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:
110:
111: cstruct SDL_Event = {
112:
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:
129: fun get_type_:SDL_Event -> uint8 = "$1.type";
130:
131:
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:
136: type _struct_SDL_SysWMmsg = 'struct SDL_SysWMmsg';
137:
138:
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:
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:
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:
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:
181:
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:
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:
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:
202: const SDL_KEYDOWNMASK: uint8 = 'SDL_KEYDOWNMASK';
203: const SDL_KEYUPMASK: uint8 = 'SDL_KEYUPMASK';
204: const SDL_QUITMASK: uint8 = 'SDL_QUITMASK';
205:
206:
207: proc SDL_PumpEvents: 1;
208: proc SDL_SetEventFilter: SDL_events_h_cft_1;
209:
210:
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: }
Start felix section to lib/SDL/SDL_joystick.flx[1
/1
]
1: #line 727 "./lpsrc/flx_sdl.pak"
2:
3:
4:
5:
6:
7:
8:
9:
10: include 'std';
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23: module SDL_joystick_h
24: {
25: requires package "sdl";
26: header '#include "SDL_joystick.h"';
27: open C_hack;
28:
29:
30: type _struct__SDL_Joystick = 'struct _SDL_Joystick';
31:
32:
33: typedef SDL_Joystick = _struct__SDL_Joystick;
34:
35:
36: proc SDL_JoystickClose: ptr[SDL_Joystick];
37: proc SDL_JoystickUpdate: 1;
38:
39:
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: }
Start felix section to lib/SDL/SDL_keyboard.flx[1
/1
]
1: #line 783 "./lpsrc/flx_sdl.pak"
2:
3:
4:
5:
6:
7:
8:
9:
10: include 'std';
11:
12:
13:
14:
15:
16:
17:
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:
28: cstruct SDL_keysym {
29: scancode: uint8;
30: sym: SDLKey;
31: mod: SDLMod;
32: unicode: uint16;
33: }
34:
35:
36:
37: /*
38:
39: typedef _struct_SDL_keysym = SDL_keysym;
40: */
41:
42:
43: proc SDL_SetModState: SDLMod;
44:
45:
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: }
Start felix section to lib/SDL/SDL_keysym.flx[1
/1
]
1: #line 836 "./lpsrc/flx_sdl.pak"
2:
3:
4:
5:
6:
7:
8:
9:
10: include 'std';
11:
12:
13:
14:
15:
16:
17:
18: module SDL_keysym_h
19: {
20: requires package "sdl";
21: header '#include "SDL_keysym.h"';
22: open C_hack;
23:
24:
25: type SDLKey = 'SDLKey';
26: type SDLMod = 'SDLMod';
27:
28:
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: }
Start felix section to lib/SDL/SDL_mouse.flx[1
/1
]
1: #line 1117 "./lpsrc/flx_sdl.pak"
2:
3:
4:
5:
6:
7:
8:
9:
10: include 'std';
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
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:
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:
45: type _struct_WMcursor = 'struct WMcursor';
46:
47:
48: typedef WMcursor = _struct_WMcursor;
49:
50: /*
51:
52: typedef _struct_SDL_Cursor = SDL_Cursor;
53: */
54:
55:
56: proc SDL_FreeCursor: ptr[SDL_Cursor];
57: proc SDL_SetCursor: ptr[SDL_Cursor];
58: proc SDL_WarpMouse: uint16 * uint16;
59:
60:
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: }
Start felix section to lib/SDL/SDL_mutex.flx[1
/1
]
1: #line 1185 "./lpsrc/flx_sdl.pak"
2:
3:
4:
5:
6:
7:
8:
9:
10: include 'std';
11:
12:
13:
14:
15:
16:
17:
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:
28: proc SDL_DestroyCond: ptr[SDL_cond];
29: proc SDL_DestroyMutex: ptr[SDL_mutex];
30: proc SDL_DestroySemaphore: ptr[SDL_sem];
31:
32:
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: }
Start felix section to lib/SDL/SDL_rwops.flx[1
/1
]
1: #line 1236 "./lpsrc/flx_sdl.pak"
2:
3:
4:
5:
6:
7:
8:
9:
10: include 'std';
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21: module SDL_rwops_h
22: {
23: open C_hack;
24:
25:
26: type _struct_SDL_RWops = 'struct SDL_RWops';
27:
28:
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:
39: typedef SDL_RWops = _struct_SDL_RWops;
40:
41:
42: proc SDL_FreeRW: ptr[SDL_RWops];
43:
44:
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:
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: }
Start felix section to lib/SDL/SDL_timer.flx[1
/1
]
1: #line 1295 "./lpsrc/flx_sdl.pak"
2:
3:
4:
5:
6:
7:
8:
9:
10: include 'std';
11:
12:
13:
14:
15:
16:
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:
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:
33: type _struct__SDL_TimerID = 'struct _SDL_TimerID';
34:
35:
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:
41: proc SDL_Delay: uint32;
42:
43:
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:
50:
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:
65:
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: }
Start felix section to lib/SDL/SDL_types.flx[1
/1
]
1: #line 1366 "./lpsrc/flx_sdl.pak"
2:
3:
4:
5:
6:
7:
8:
9:
10: include 'std';
11:
12:
13:
14:
15:
16:
17:
18:
19: module SDL_types_h
20: {
21: requires package "sdl";
22: header '#include "SDL_types.h"';
23: open C_hack;
24:
25:
26: type SDL_bool = 'SDL_bool';
27: type SDL_DUMMY_ENUM = 'SDL_DUMMY_ENUM';
28:
29:
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:
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: }
Start felix section to lib/SDL/SDL_version.flx[1
/1
]
1: #line 1416 "./lpsrc/flx_sdl.pak"
2:
3:
4:
5:
6:
7:
8:
9:
10: include 'std';
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21: module SDL_version_h
22: {
23: requires package "sdl";
24: header '#include "SDL_version.h"';
25: open C_hack;
26:
27:
28: cstruct SDL_version {
29: major: uint8;
30: minor: uint8;
31: patch: uint8;
32: }
33:
34:
35:
36:
37: typedef _struct_SDL_version = SDL_version;
38:
39:
40: fun SDL_Linked_Version: 1 -> cptr[SDL_version];
41: }
Start felix section to lib/SDL/SDL_video.flx[1
/1
]
1: #line 1459 "./lpsrc/flx_sdl.pak"
2:
3:
4:
5:
6:
7:
8:
9:
10: include 'std';
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
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:
83: type SDL_GrabMode = 'SDL_GrabMode';
84: type SDL_GLattr = 'SDL_GLattr';
85:
86:
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:
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:
172:
173:
174:
175: type _struct_SDL_BlitMap = 'struct SDL_BlitMap';
176: type _struct_private_yuvhwfuncs = 'struct private_yuvhwfuncs';
177: type _struct_private_hwdata = 'struct private_hwdata';
178: type _struct_private_yuvhwdata = 'struct private_yuvhwdata';
179:
180:
181:
182:
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:
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:
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:
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:
Start felix section to lib/SDL/SDL_endian.flx[1
/1
]
1: #line 1735 "./lpsrc/flx_sdl.pak"
2:
3:
4:
5:
6:
7:
8:
9:
10: include 'std';
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
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:
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:
Start felix section to lib/SDL/SDL_framerate.flx[1
/1
]
1: #line 1791 "./lpsrc/flx_sdl.pak"
2:
3:
4:
5:
6:
7:
8:
9:
10: include 'std';
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
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:
31: type FPSmanager = 'FPSmanager';
32:
33:
34: proc SDL_framerateDelay: ptr[FPSmanager];
35: proc SDL_initFramerate: ptr[FPSmanager];
36:
37:
38: fun SDL_getFramerate: ptr[FPSmanager] -> int;
39: fun SDL_setFramerate: ptr[FPSmanager] * int -> int;
40: }
Start felix section to lib/SDL/SDL_gfxPrimitives.flx[1
/1
]
1: #line 1833 "./lpsrc/flx_sdl.pak"
2:
3:
4:
5:
6:
7:
8:
9:
10: include 'std';
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
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:
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: }
Start felix section to lib/SDL/SDL_gfxPrimitives_font.flx[1
/1
]
1: #line 1915 "./lpsrc/flx_sdl.pak"
2:
3:
4:
5:
6:
7:
8:
9:
10: include 'std';
11:
12:
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:
21: const gfxPrimitivesFontdata: ptr[utiny] = 'gfxPrimitivesFontdata';
22: }
Start felix section to lib/SDL/SDL_image.flx[1
/1
]
1: #line 1939 "./lpsrc/flx_sdl.pak"
2:
3:
4:
5:
6:
7:
8:
9:
10: include 'std';
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
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:
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: }
Start felix section to lib/SDL/SDL_imageFilter.flx[1
/1
]
1: #line 2003 "./lpsrc/flx_sdl.pak"
2:
3:
4:
5:
6:
7:
8:
9:
10: include 'std';
11:
12:
13:
14:
15:
16:
17: module SDL_imageFilter_h
18: {
19: requires package "sdl";
20: header '#include "SDL_imageFilter.h"';
21: open C_hack;
22:
23:
24: proc SDL_imageFilterAlignStack: 1;
25: proc SDL_imageFilterMMXoff: 1;
26: proc SDL_imageFilterMMXon: 1;
27: proc SDL_imageFilterRestoreStack: 1;
28:
29:
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: }
Start felix section to lib/SDL/SDL_mixer.flx[1
/1
]
1: #line 2069 "./lpsrc/flx_sdl.pak"
2:
3:
4:
5:
6:
7:
8:
9:
10: include 'std';
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
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:
48: type Mix_MusicType = 'Mix_MusicType';
49: type Mix_Chunk = 'Mix_Chunk';
50: type Mix_Fading = 'Mix_Fading';
51:
52:
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:
65: type _struct__Mix_Music = 'struct _Mix_Music';
66:
67:
68: typedef Mix_Music = _struct__Mix_Music;
69:
70:
71: typedef Mix_EffectDone_t = SDL_mixer_h_cft_2;
72: typedef Mix_EffectFunc_t = SDL_mixer_h_cft_1;
73:
74:
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:
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:
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:
153:
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:
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:
183:
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:
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:
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: }
Start felix section to lib/SDL/SDL_sound.flx[1
/1
]
1: #line 2266 "./lpsrc/flx_sdl.pak"
2:
3:
4:
5:
6:
7:
8:
9:
10: include 'std';
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
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:
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:
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:
46: proc Sound_ClearError: 1;
47: proc Sound_FreeSample: ptr[Sound_Sample];
48: proc Sound_GetLinkedVersion: ptr[Sound_Version];
49:
50:
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: }
Start felix section to lib/SDL/SDL_rotozoom.flx[1
/1
]
1: #line 2330 "./lpsrc/flx_sdl.pak"
2:
3:
4:
5:
6:
7:
8:
9:
10: include 'std';
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
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:
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:
45:
46:
47: typedef _struct_tColorY = tColorY;
48: typedef _struct_tColorRGBA = tColorRGBA;
49:
50:
51: proc rotozoomSurfaceSize: int * int * double * double * ptr[int] * ptr[int];
52: proc zoomSurfaceSize: int * int * double * double * ptr[int] * ptr[int];
53:
54:
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: }
Start felix section to lib/SDL/SDL_ttf.flx[1
/1
]
1: #line 2389 "./lpsrc/flx_sdl.pak"
2:
3:
4:
5:
6:
7:
8:
9:
10: include 'std';
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
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:
44: type _struct__TTF_Font = 'struct _TTF_Font';
45:
46:
47: typedef TTF_Font = _struct__TTF_Font;
48:
49:
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:
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: }
Start felix section to lib/SDL/SDL_net.flx[1
/1
]
1: #line 2479 "./lpsrc/flx_sdl.pak"
2:
3:
4:
5:
6:
7:
8:
9:
10: include 'std';
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40: module SDL_net_h
41: {
42: requires package "sdl";
43: header '#include "SDL_net.h"';
44: open C_hack;
45:
46:
47: type SDLNet_GenericSocket = 'SDLNet_GenericSocket';
48: type IPaddress = 'IPaddress';
49: type UDPpacket = 'UDPpacket';
50:
51:
52: type _struct__UDPsocket = 'struct _UDPsocket';
53: type _struct__SDLNet_SocketSet = 'struct _SDLNet_SocketSet';
54: type _struct__TCPsocket = 'struct _TCPsocket';
55:
56:
57: typedef UDPsocket = ptr[_struct__UDPsocket];
58: typedef TCPsocket = ptr[_struct__TCPsocket];
59: typedef SDLNet_SocketSet = ptr[_struct__SDLNet_SocketSet];
60:
61:
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:
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: }
Start cpp section to rtl/flx_sdl_config.hpp[1
/1
]
1: #line 2578 "./lpsrc/flx_sdl.pak"
2:
3:
4:
5:
6:
7:
8:
9:
10:
Start felix section to lib/flx_faio_sdl.flx[1
/1
]
1: #line 2590 "./lpsrc/flx_sdl.pak"
2:
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: }