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);