mirror of https://github.com/swig/swig
44 lines
1.0 KiB
OpenEdge ABL
44 lines
1.0 KiB
OpenEdge ABL
%module union_parameter
|
|
|
|
%warnfilter(SWIGWARN_PARSE_KEYWORD) type; // 'type' is a Go keyword, renamed as 'Xtype'
|
|
|
|
%inline %{
|
|
|
|
typedef unsigned char Uint8;
|
|
|
|
typedef struct SDL_ActiveEvent {
|
|
Uint8 type; /* SDL_ACTIVEEVENT */
|
|
Uint8 gain; /* Whether given states were gained or lost (1/0) */
|
|
Uint8 state; /* A mask of the focus states */
|
|
} SDL_ActiveEvent;
|
|
|
|
/* Keyboard event structure */
|
|
typedef struct SDL_KeyboardEvent {
|
|
Uint8 type; /* SDL_KEYDOWN or SDL_KEYUP */
|
|
int which; /* The keyboard device index */
|
|
int state; /* SDL_PRESSED or SDL_RELEASED */
|
|
} SDL_KeyboardEvent;
|
|
|
|
typedef union {
|
|
Uint8 type;
|
|
SDL_ActiveEvent active;
|
|
SDL_KeyboardEvent key;
|
|
} SDL_Event;
|
|
|
|
int SDL_PollEvent (SDL_Event *ev) {
|
|
static int toggle = 0;
|
|
if (toggle == 0) {
|
|
ev->type = 1;
|
|
ev->active.gain = 20;
|
|
ev->active.state = 30;
|
|
} else {
|
|
ev->type = 2;
|
|
ev->key.which = 2000;
|
|
ev->key.state = 3000;
|
|
}
|
|
toggle = 1 - toggle;
|
|
return 1;
|
|
}
|
|
|
|
%}
|