Mercurial > hg > xemacs-beta
comparison src/events.h @ 5118:e0db3c197671 ben-lisp-object
merge up to latest default branch, doesn't compile yet
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Sat, 26 Dec 2009 21:18:49 -0600 |
parents | 2fd201d73a92 |
children | d1247f3cc363 |
comparison
equal
deleted
inserted
replaced
5117:3742ea8250b5 | 5118:e0db3c197671 |
---|---|
184 #define KEY_DATA_MODIFIERS(d) ((d)->modifiers) | 184 #define KEY_DATA_MODIFIERS(d) ((d)->modifiers) |
185 #define SET_KEY_DATA_KEYSYM(d, k) ((d)->keysym = k) | 185 #define SET_KEY_DATA_KEYSYM(d, k) ((d)->keysym = k) |
186 #define SET_KEY_DATA_MODIFIERS(d, m) ((d)->modifiers = m) | 186 #define SET_KEY_DATA_MODIFIERS(d, m) ((d)->modifiers = m) |
187 | 187 |
188 #ifdef EVENT_DATA_AS_OBJECTS | 188 #ifdef EVENT_DATA_AS_OBJECTS |
189 DECLARE_LRECORD (key_data, Lisp_Key_Data); | 189 DECLARE_LISP_OBJECT (key_data, Lisp_Key_Data); |
190 #define XKEY_DATA(x) XRECORD (x, key_data, Lisp_Key_Data) | 190 #define XKEY_DATA(x) XRECORD (x, key_data, Lisp_Key_Data) |
191 #define wrap_key_data(p) wrap_record (p, key_data) | 191 #define wrap_key_data(p) wrap_record (p, key_data) |
192 #define KEY_DATAP(x) RECORDP (x, key_data) | 192 #define KEY_DATAP(x) RECORDP (x, key_data) |
193 #define CHECK_KEY_DATA(x) CHECK_RECORD (x, key_data) | 193 #define CHECK_KEY_DATA(x) CHECK_RECORD (x, key_data) |
194 #define CONCHECK_KEY_DATA(x) CONCHECK_RECORD (x, key_data) | 194 #define CONCHECK_KEY_DATA(x) CONCHECK_RECORD (x, key_data) |
230 int x, y; | 230 int x, y; |
231 }; | 231 }; |
232 typedef struct Lisp_Button_Data Lisp_Button_Data; | 232 typedef struct Lisp_Button_Data Lisp_Button_Data; |
233 | 233 |
234 #ifdef EVENT_DATA_AS_OBJECTS | 234 #ifdef EVENT_DATA_AS_OBJECTS |
235 DECLARE_LRECORD (button_data, Lisp_Button_Data); | 235 DECLARE_LISP_OBJECT (button_data, Lisp_Button_Data); |
236 #define XBUTTON_DATA(x) XRECORD (x, button_data, Lisp_Button_Data) | 236 #define XBUTTON_DATA(x) XRECORD (x, button_data, Lisp_Button_Data) |
237 #define wrap_button_data(p) wrap_record (p, button_data) | 237 #define wrap_button_data(p) wrap_record (p, button_data) |
238 #define BUTTON_DATAP(x) RECORDP (x, button_data) | 238 #define BUTTON_DATAP(x) RECORDP (x, button_data) |
239 #define CHECK_BUTTON_DATA(x) CHECK_RECORD (x, button_data) | 239 #define CHECK_BUTTON_DATA(x) CHECK_RECORD (x, button_data) |
240 #define CONCHECK_BUTTON_DATA(x) CONCHECK_RECORD (x, button_data) | 240 #define CONCHECK_BUTTON_DATA(x) CONCHECK_RECORD (x, button_data) |
279 int modifiers; | 279 int modifiers; |
280 }; | 280 }; |
281 typedef struct Lisp_Motion_Data Lisp_Motion_Data; | 281 typedef struct Lisp_Motion_Data Lisp_Motion_Data; |
282 | 282 |
283 #ifdef EVENT_DATA_AS_OBJECTS | 283 #ifdef EVENT_DATA_AS_OBJECTS |
284 DECLARE_LRECORD (motion_data, Lisp_Motion_Data); | 284 DECLARE_LISP_OBJECT (motion_data, Lisp_Motion_Data); |
285 #define XMOTION_DATA(x) XRECORD (x, motion_data, Lisp_Motion_Data) | 285 #define XMOTION_DATA(x) XRECORD (x, motion_data, Lisp_Motion_Data) |
286 #define wrap_motion_data(p) wrap_record (p, motion_data) | 286 #define wrap_motion_data(p) wrap_record (p, motion_data) |
287 #define MOTION_DATAP(x) RECORDP (x, motion_data) | 287 #define MOTION_DATAP(x) RECORDP (x, motion_data) |
288 #define CHECK_MOTION_DATA(x) CHECK_RECORD (x, motion_data) | 288 #define CHECK_MOTION_DATA(x) CHECK_RECORD (x, motion_data) |
289 #define CONCHECK_MOTION_DATA(x) CONCHECK_RECORD (x, motion_data) | 289 #define CONCHECK_MOTION_DATA(x) CONCHECK_RECORD (x, motion_data) |
319 Lisp_Object process; | 319 Lisp_Object process; |
320 }; | 320 }; |
321 typedef struct Lisp_Process_Data Lisp_Process_Data; | 321 typedef struct Lisp_Process_Data Lisp_Process_Data; |
322 | 322 |
323 #ifdef EVENT_DATA_AS_OBJECTS | 323 #ifdef EVENT_DATA_AS_OBJECTS |
324 DECLARE_LRECORD (process_data, Lisp_Process_Data); | 324 DECLARE_LISP_OBJECT (process_data, Lisp_Process_Data); |
325 #define XPROCESS_DATA(x) XRECORD (x, process_data, Lisp_Process_Data) | 325 #define XPROCESS_DATA(x) XRECORD (x, process_data, Lisp_Process_Data) |
326 #define wrap_process_data(p) wrap_record (p, process_data) | 326 #define wrap_process_data(p) wrap_record (p, process_data) |
327 #define PROCESS_DATAP(x) RECORDP (x, process_data) | 327 #define PROCESS_DATAP(x) RECORDP (x, process_data) |
328 #define CHECK_PROCESS_DATA(x) CHECK_RECORD (x, process_data) | 328 #define CHECK_PROCESS_DATA(x) CHECK_RECORD (x, process_data) |
329 #define CONCHECK_PROCESS_DATA(x) CONCHECK_RECORD (x, process_data) | 329 #define CONCHECK_PROCESS_DATA(x) CONCHECK_RECORD (x, process_data) |
360 Lisp_Object object; | 360 Lisp_Object object; |
361 }; | 361 }; |
362 typedef struct Lisp_Timeout_Data Lisp_Timeout_Data; | 362 typedef struct Lisp_Timeout_Data Lisp_Timeout_Data; |
363 | 363 |
364 #ifdef EVENT_DATA_AS_OBJECTS | 364 #ifdef EVENT_DATA_AS_OBJECTS |
365 DECLARE_LRECORD (timeout_data, Lisp_Timeout_Data); | 365 DECLARE_LISP_OBJECT (timeout_data, Lisp_Timeout_Data); |
366 #define XTIMEOUT_DATA(x) XRECORD (x, timeout_data, Lisp_Timeout_Data) | 366 #define XTIMEOUT_DATA(x) XRECORD (x, timeout_data, Lisp_Timeout_Data) |
367 #define wrap_timeout_data(p) wrap_record(p, timeout_data) | 367 #define wrap_timeout_data(p) wrap_record(p, timeout_data) |
368 #define TIMEOUT_DATAP(x) RECORDP (x, timeout_data) | 368 #define TIMEOUT_DATAP(x) RECORDP (x, timeout_data) |
369 #define CHECK_TIMEOUT_DATA(x) CHECK_RECORD (x, timeout_data) | 369 #define CHECK_TIMEOUT_DATA(x) CHECK_RECORD (x, timeout_data) |
370 #define CONCHECK_TIMEOUT_DATA(x) CONCHECK_RECORD (x, timeout_data) | 370 #define CONCHECK_TIMEOUT_DATA(x) CONCHECK_RECORD (x, timeout_data) |
417 Lisp_Object object; | 417 Lisp_Object object; |
418 }; | 418 }; |
419 typedef struct Lisp_Eval_Data Lisp_Eval_Data; | 419 typedef struct Lisp_Eval_Data Lisp_Eval_Data; |
420 | 420 |
421 #ifdef EVENT_DATA_AS_OBJECTS | 421 #ifdef EVENT_DATA_AS_OBJECTS |
422 DECLARE_LRECORD (eval_data, Lisp_Eval_Data); | 422 DECLARE_LISP_OBJECT (eval_data, Lisp_Eval_Data); |
423 #define XEVAL_DATA(x) XRECORD (x, eval_data, Lisp_Eval_Data) | 423 #define XEVAL_DATA(x) XRECORD (x, eval_data, Lisp_Eval_Data) |
424 #define wrap_eval_data(p) wrap_record(p, eval_data) | 424 #define wrap_eval_data(p) wrap_record(p, eval_data) |
425 #define EVAL_DATAP(x) RECORDP (x, eval_data) | 425 #define EVAL_DATAP(x) RECORDP (x, eval_data) |
426 #define CHECK_EVAL_DATA(x) CHECK_RECORD (x, eval_data) | 426 #define CHECK_EVAL_DATA(x) CHECK_RECORD (x, eval_data) |
427 #define CONCHECK_EVAL_DATA(x) CONCHECK_RECORD (x, eval_data) | 427 #define CONCHECK_EVAL_DATA(x) CONCHECK_RECORD (x, eval_data) |
473 int x, y; | 473 int x, y; |
474 }; | 474 }; |
475 typedef struct Lisp_Misc_User_Data Lisp_Misc_User_Data; | 475 typedef struct Lisp_Misc_User_Data Lisp_Misc_User_Data; |
476 | 476 |
477 #ifdef EVENT_DATA_AS_OBJECTS | 477 #ifdef EVENT_DATA_AS_OBJECTS |
478 DECLARE_LRECORD (misc_user_data, Lisp_Misc_User_Data); | 478 DECLARE_LISP_OBJECT (misc_user_data, Lisp_Misc_User_Data); |
479 #define XMISC_USER_DATA(x) XRECORD (x, misc_user_data, Lisp_Misc_User_Data) | 479 #define XMISC_USER_DATA(x) XRECORD (x, misc_user_data, Lisp_Misc_User_Data) |
480 #define wrap_misc_user_data(p) wrap_record(p, misc_user_data) | 480 #define wrap_misc_user_data(p) wrap_record(p, misc_user_data) |
481 #define MISC_USER_DATAP(x) RECORDP (x, misc_user_data) | 481 #define MISC_USER_DATAP(x) RECORDP (x, misc_user_data) |
482 #define CHECK_MISC_USER_DATA(x) CHECK_RECORD (x, misc_user_data) | 482 #define CHECK_MISC_USER_DATA(x) CHECK_RECORD (x, misc_user_data) |
483 #define CONCHECK_MISC_USER_DATA(x) CONCHECK_RECORD (x, misc_user_data) | 483 #define CONCHECK_MISC_USER_DATA(x) CONCHECK_RECORD (x, misc_user_data) |
547 Lisp_Object object; | 547 Lisp_Object object; |
548 }; | 548 }; |
549 typedef struct Lisp_Magic_Eval_Data Lisp_Magic_Eval_Data; | 549 typedef struct Lisp_Magic_Eval_Data Lisp_Magic_Eval_Data; |
550 | 550 |
551 #ifdef EVENT_DATA_AS_OBJECTS | 551 #ifdef EVENT_DATA_AS_OBJECTS |
552 DECLARE_LRECORD (magic_eval_data, Lisp_Magic_Eval_Data); | 552 DECLARE_LISP_OBJECT (magic_eval_data, Lisp_Magic_Eval_Data); |
553 #define XMAGIC_EVAL_DATA(x) XRECORD (x, magic_eval_data, Lisp_Magic_Eval_Data) | 553 #define XMAGIC_EVAL_DATA(x) XRECORD (x, magic_eval_data, Lisp_Magic_Eval_Data) |
554 #define wrap_magic_eval_data(p) wrap_record(p, magic_eval_data) | 554 #define wrap_magic_eval_data(p) wrap_record(p, magic_eval_data) |
555 #define MAGIC_EVAL_DATAP(x) RECORDP (x, magic_eval_data) | 555 #define MAGIC_EVAL_DATAP(x) RECORDP (x, magic_eval_data) |
556 #define CHECK_MAGIC_EVAL_DATA(x) CHECK_RECORD (x, magic_eval_data) | 556 #define CHECK_MAGIC_EVAL_DATA(x) CHECK_RECORD (x, magic_eval_data) |
557 #define CONCHECK_MAGIC_EVAL_DATA(x) CONCHECK_RECORD (x, magic_eval_data) | 557 #define CONCHECK_MAGIC_EVAL_DATA(x) CONCHECK_RECORD (x, magic_eval_data) |
614 }; | 614 }; |
615 | 615 |
616 typedef struct Lisp_Magic_Data Lisp_Magic_Data; | 616 typedef struct Lisp_Magic_Data Lisp_Magic_Data; |
617 | 617 |
618 #ifdef EVENT_DATA_AS_OBJECTS | 618 #ifdef EVENT_DATA_AS_OBJECTS |
619 DECLARE_LRECORD (magic_data, Lisp_Magic_Data); | 619 DECLARE_LISP_OBJECT (magic_data, Lisp_Magic_Data); |
620 #define XMAGIC_DATA(x) XRECORD (x, magic_data, Lisp_Magic_Data) | 620 #define XMAGIC_DATA(x) XRECORD (x, magic_data, Lisp_Magic_Data) |
621 #define wrap_magic_data(p) wrap_record(p, magic_data) | 621 #define wrap_magic_data(p) wrap_record(p, magic_data) |
622 #define MAGIC_DATAP(x) RECORDP (x, magic_data) | 622 #define MAGIC_DATAP(x) RECORDP (x, magic_data) |
623 #define CHECK_MAGIC_DATA(x) CHECK_RECORD (x, magic_data) | 623 #define CHECK_MAGIC_DATA(x) CHECK_RECORD (x, magic_data) |
624 #define CONCHECK_MAGIC_DATA(x) CONCHECK_RECORD (x, magic_data) | 624 #define CONCHECK_MAGIC_DATA(x) CONCHECK_RECORD (x, magic_data) |
673 should the one after that | 673 should the one after that |
674 occur? */ | 674 occur? */ |
675 }; | 675 }; |
676 typedef struct Lisp_Timeout Lisp_Timeout; | 676 typedef struct Lisp_Timeout Lisp_Timeout; |
677 | 677 |
678 DECLARE_LRECORD (timeout, Lisp_Timeout); | 678 DECLARE_LISP_OBJECT (timeout, Lisp_Timeout); |
679 #define XTIMEOUT(x) XRECORD (x, timeout, Lisp_Timeout) | 679 #define XTIMEOUT(x) XRECORD (x, timeout, Lisp_Timeout) |
680 #define wrap_timeout(p) wrap_record (p, timeout) | 680 #define wrap_timeout(p) wrap_record (p, timeout) |
681 #define TIMEOUTP(x) RECORDP (x, timeout) | 681 #define TIMEOUTP(x) RECORDP (x, timeout) |
682 #define CHECK_TIMEOUT(x) CHECK_RECORD (x, timeout) | 682 #define CHECK_TIMEOUT(x) CHECK_RECORD (x, timeout) |
683 #define CONCHECK_TIMEOUT(x) CONCHECK_RECORD (x, timeout) | 683 #define CONCHECK_TIMEOUT(x) CONCHECK_RECORD (x, timeout) |
745 Lisp_Magic_Eval_Data magic_eval; | 745 Lisp_Magic_Eval_Data magic_eval; |
746 } event; | 746 } event; |
747 #endif /* not EVENT_DATA_AS_OBJECTS */ | 747 #endif /* not EVENT_DATA_AS_OBJECTS */ |
748 }; | 748 }; |
749 | 749 |
750 DECLARE_LRECORD (event, Lisp_Event); | 750 DECLARE_LISP_OBJECT (event, Lisp_Event); |
751 #define XEVENT(x) XRECORD (x, event, Lisp_Event) | 751 #define XEVENT(x) XRECORD (x, event, Lisp_Event) |
752 #define wrap_event(p) wrap_record (p, event) | 752 #define wrap_event(p) wrap_record (p, event) |
753 #define EVENTP(x) RECORDP (x, event) | 753 #define EVENTP(x) RECORDP (x, event) |
754 #define CHECK_EVENT(x) CHECK_RECORD (x, event) | 754 #define CHECK_EVENT(x) CHECK_RECORD (x, event) |
755 #define CONCHECK_EVENT(x) CONCHECK_RECORD (x, event) | 755 #define CONCHECK_EVENT(x) CONCHECK_RECORD (x, event) |
756 | 756 |
757 DECLARE_LRECORD (command_builder, struct command_builder); | 757 DECLARE_LISP_OBJECT (command_builder, struct command_builder); |
758 | 758 |
759 #define EVENT_CHANNEL(a) ((a)->channel) | 759 #define EVENT_CHANNEL(a) ((a)->channel) |
760 #define XEVENT_CHANNEL(ev) (XEVENT (ev)->channel) | 760 #define XEVENT_CHANNEL(ev) (XEVENT (ev)->channel) |
761 #define EVENT_TYPE(a) ((a)->event_type) | 761 #define EVENT_TYPE(a) ((a)->event_type) |
762 #define XEVENT_TYPE(a) (XEVENT (a)->event_type) | 762 #define XEVENT_TYPE(a) (XEVENT (a)->event_type) |
919 #define XEMACS_MOD_BUTTON1 (1<<6) | 919 #define XEMACS_MOD_BUTTON1 (1<<6) |
920 #define XEMACS_MOD_BUTTON2 (1<<7) | 920 #define XEMACS_MOD_BUTTON2 (1<<7) |
921 #define XEMACS_MOD_BUTTON3 (1<<8) | 921 #define XEMACS_MOD_BUTTON3 (1<<8) |
922 #define XEMACS_MOD_BUTTON4 (1<<9) | 922 #define XEMACS_MOD_BUTTON4 (1<<9) |
923 #define XEMACS_MOD_BUTTON5 (1<<10) | 923 #define XEMACS_MOD_BUTTON5 (1<<10) |
924 | 924 #define XEMACS_MOD_BUTTON6 (1<<11) |
925 #define XEMACS_MOD_BUTTON7 (1<<12) | |
926 #define XEMACS_MOD_BUTTON8 (1<<13) | |
927 #define XEMACS_MOD_BUTTON9 (1<<14) | |
928 #define XEMACS_MOD_BUTTON10 (1<<15) | |
929 #define XEMACS_MOD_BUTTON11 (1<<16) | |
930 #define XEMACS_MOD_BUTTON12 (1<<17) | |
931 #define XEMACS_MOD_BUTTON13 (1<<18) | |
932 #define XEMACS_MOD_BUTTON14 (1<<19) | |
933 #define XEMACS_MOD_BUTTON15 (1<<20) | |
934 #define XEMACS_MOD_BUTTON16 (1<<21) | |
935 #define XEMACS_MOD_BUTTON17 (1<<22) | |
936 #define XEMACS_MOD_BUTTON18 (1<<23) | |
937 #define XEMACS_MOD_BUTTON19 (1<<24) | |
938 #define XEMACS_MOD_BUTTON20 (1<<25) | |
939 #define XEMACS_MOD_BUTTON21 (1<<26) | |
940 #define XEMACS_MOD_BUTTON22 (1<<27) | |
941 #define XEMACS_MOD_BUTTON23 (1<<28) | |
942 #define XEMACS_MOD_BUTTON24 (1<<29) | |
943 #define XEMACS_MOD_BUTTON25 (1<<30) | |
944 #define XEMACS_MOD_BUTTON26 (1<<31) | |
945 | |
925 /* Note: under X Windows, XEMACS_MOD_ALT is generated by the Alt key | 946 /* Note: under X Windows, XEMACS_MOD_ALT is generated by the Alt key |
926 if there are both Alt and Meta keys. If there are no Meta keys, | 947 if there are both Alt and Meta keys. If there are no Meta keys, |
927 then Alt generates XEMACS_MOD_META instead. | 948 then Alt generates XEMACS_MOD_META instead. |
928 */ | 949 */ |
929 | 950 |
930 /* Maybe this should be trickier */ | 951 /* Maybe this should be trickier */ |
931 #define KEYSYM(x) (intern (x)) | 952 #define KEYSYM(x) (intern (x)) |
932 | 953 |
954 typedef enum character_to_event_meta_behavior | |
955 { | |
956 high_bit_is_meta, | |
957 use_console_meta_flag, | |
958 latin_1_maps_to_itself | |
959 } character_to_event_meta_behavior; | |
960 | |
933 /* from events.c */ | 961 /* from events.c */ |
934 void format_event_object (Eistring *buf, Lisp_Object event, int brief); | 962 void format_event_object (Eistring *buf, Lisp_Object event, int brief); |
935 /*void format_event_data_object (Eistring *buf, Lisp_Object data, int brief);*/ | 963 /*void format_event_data_object (Eistring *buf, Lisp_Object data, int brief);*/ |
936 void character_to_event (Ichar c, Lisp_Event *event, | 964 void character_to_event (Ichar, Lisp_Event *, struct console *, |
937 struct console *con, | 965 character_to_event_meta_behavior meta_flag, |
938 int use_console_meta_flag, | |
939 int do_backspace_mapping); | 966 int do_backspace_mapping); |
967 | |
940 void zero_event (Lisp_Event *e); | 968 void zero_event (Lisp_Event *e); |
941 | 969 |
942 #define MECR_DEALLOCATE_EVENT 1 | 970 #define MECR_DEALLOCATE_EVENT 1 |
943 | 971 |
944 void deallocate_event_chain (Lisp_Object event); | 972 void deallocate_event_chain (Lisp_Object event); |