comparison src/events.h @ 197:acd284d43ca1 r20-3b25

Import from CVS: tag r20-3b25
author cvs
date Mon, 13 Aug 2007 10:00:02 +0200
parents 3d6bfa290dbd
children 41ff10fd062f
comparison
equal deleted inserted replaced
196:58e0786448ca 197:acd284d43ca1
252 not Lisp-accessible. This allows for "internal 252 not Lisp-accessible. This allows for "internal
253 eval events" that call non-Lisp-accessible functions. 253 eval events" that call non-Lisp-accessible functions.
254 Externally, a magic_eval_event just appears as 254 Externally, a magic_eval_event just appears as
255 a magic_event; the Lisp programmer need not know 255 a magic_event; the Lisp programmer need not know
256 anything more. 256 anything more.
257
258 #ifdef HAVE_OFFIX_DND
259 dnd_drop_event
260 dnd_drag_event (* to be implemented *)
261 button What button went down or up.
262 modifiers Bucky-bits on that button: shift, control, meta, etc.
263 x, y Where it was at the button-state-change (in pixels).
264 data A list of type and data.
265 This events are created by Drag'n'Drop actions.
266 Currently only the OffiX Dnd Protocol is supported.
267 #endif
268
257 */ 269 */
258 270
259 271
260 struct Lisp_Event; 272 struct Lisp_Event;
261 struct Lisp_Process; 273 struct Lisp_Process;
288 timeout_event, 300 timeout_event,
289 magic_event, 301 magic_event,
290 magic_eval_event, 302 magic_eval_event,
291 eval_event, 303 eval_event,
292 misc_user_event, 304 misc_user_event,
305 #ifdef HAVE_OFFIX_DND
306 dnd_drop_event,
307 #endif
293 dead_event 308 dead_event
294 } emacs_event_type; 309 } emacs_event_type;
295 310
296 #define first_event_type empty_event 311 #define first_event_type empty_event
297 #define last_event_type dead_event 312 #define last_event_type dead_event
337 struct magic_eval_data 352 struct magic_eval_data
338 { 353 {
339 void (*internal_function) (Lisp_Object); 354 void (*internal_function) (Lisp_Object);
340 Lisp_Object object; 355 Lisp_Object object;
341 }; 356 };
357
358 #ifdef HAVE_OFFIX_DND
359 struct dnd_drop_data
360 {
361 int button;
362 unsigned char modifiers;
363 int x, y;
364 Lisp_Object data;
365 };
366 #endif
342 367
343 #if defined (HAVE_X_WINDOWS) && defined(emacs) 368 #if defined (HAVE_X_WINDOWS) && defined(emacs)
344 # include <X11/Xlib.h> 369 # include <X11/Xlib.h>
345 #endif 370 #endif
346 371
373 struct process_data process; 398 struct process_data process;
374 struct timeout_data timeout; 399 struct timeout_data timeout;
375 struct eval_data eval; /* misc_user_event uses this too */ 400 struct eval_data eval; /* misc_user_event uses this too */
376 union magic_data magic; 401 union magic_data magic;
377 struct magic_eval_data magic_eval; 402 struct magic_eval_data magic_eval;
403 #ifdef HAVE_OFFIX_DND
404 struct dnd_drop_data dnd_drop;
405 #endif
378 } event; 406 } event;
379 }; 407 };
380 408
381 DECLARE_LRECORD (event, struct Lisp_Event); 409 DECLARE_LRECORD (event, struct Lisp_Event);
382 #define XEVENT(x) XRECORD (x, event, struct Lisp_Event) 410 #define XEVENT(x) XRECORD (x, event, struct Lisp_Event)