ifdef RCS for rcsid
[btb/d2x.git] / ui / keytrap.c
1 #include <stdlib.h>
2 #include <string.h>
3
4 #include "fix.h"
5 #include "types.h"
6 #include "gr.h"
7 #include "ui.h"
8 #include "key.h"
9
10
11 UI_GADGET_KEYTRAP * ui_add_gadget_keytrap( UI_WINDOW * wnd, int key_to_trap, int (*function_to_call)(void)  )
12 {
13         UI_GADGET_KEYTRAP * keytrap;
14
15         keytrap = (UI_GADGET_KEYTRAP *)ui_gadget_add( wnd, 8, 0, 0, 0, 0 );
16         keytrap->parent = (UI_GADGET *)keytrap;
17
18         keytrap->trap_key = key_to_trap;
19         keytrap->user_function = function_to_call;
20
21         return keytrap;
22
23 }
24
25 void ui_keytrap_do( UI_GADGET_KEYTRAP * keytrap, int keypress )
26 {
27         int result;
28
29         if ( keypress == keytrap->trap_key )
30         {
31                 result = keytrap->user_function();
32         }
33 }
34
35
36
37
38 ΓΏ