Mercurial > hg > xemacs-beta
diff src/frame-tty.c @ 412:697ef44129c6 r21-2-14
Import from CVS: tag r21-2-14
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:20:41 +0200 |
parents | 74fd4e045ea6 |
children |
line wrap: on
line diff
--- a/src/frame-tty.c Mon Aug 13 11:19:22 2007 +0200 +++ b/src/frame-tty.c Mon Aug 13 11:20:41 2007 +0200 @@ -33,6 +33,10 @@ #include "events.h" +#ifdef HAVE_GPM +#include <gpm.h> +#endif + /* Default properties to use when creating frames. */ Lisp_Object Vdefault_tty_frame_plist; @@ -82,6 +86,33 @@ call1 (Qinit_post_tty_win, FRAME_CONSOLE (f)); } +#ifdef HAVE_GPM +static int +tty_get_mouse_position (struct device *d, Lisp_Object *frame, int *x, int *y) +{ + Gpm_Event ev; + int num_buttons; + + num_buttons = Gpm_GetSnapshot(&ev); + *x = ev.x; + *y = ev.y; + *frame = DEVICE_SELECTED_FRAME (d); + return (1); +} + +static void +tty_set_mouse_position (struct window *w, int x, int y) +{ + /* XXX + I couldn't find any GPM functions that set the mouse position. + Mr. Perry had left this function empty; that must be why. + karlheg + */ +} + +#endif + + /* Change from withdrawn state to mapped state. */ static void tty_make_frame_visible (struct frame *f) @@ -192,6 +223,10 @@ CONSOLE_HAS_METHOD (tty, init_frame_1); CONSOLE_HAS_METHOD (tty, init_frame_3); CONSOLE_HAS_METHOD (tty, after_init_frame); +#ifdef HAVE_GPM + CONSOLE_HAS_METHOD (tty, get_mouse_position); + CONSOLE_HAS_METHOD (tty, set_mouse_position); +#endif CONSOLE_HAS_METHOD (tty, make_frame_visible); CONSOLE_HAS_METHOD (tty, make_frame_invisible); CONSOLE_HAS_METHOD (tty, frame_visible_p);