[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/term.c,v
From: |
Nick Roberts |
Subject: |
[Emacs-diffs] Changes to emacs/src/term.c,v |
Date: |
Sun, 03 Jun 2007 00:55:35 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Nick Roberts <nickrob> 07/06/03 00:55:35
Index: term.c
===================================================================
RCS file: /sources/emacs/emacs/src/term.c,v
retrieving revision 1.182
retrieving revision 1.183
diff -u -b -r1.182 -r1.183
--- term.c 30 May 2007 19:28:11 -0000 1.182
+++ term.c 3 Jun 2007 00:55:34 -0000 1.183
@@ -428,11 +428,6 @@
static Lisp_Object Qmouse_face_window;
static int mouse_face_face_id;
-/* FRAME and X, Y position of mouse when last checked for
- highlighting. X and Y can be negative or out of range for the frame. */
-struct frame *mouse_face_mouse_frame;
-int mouse_face_mouse_x, mouse_face_mouse_y;
-
static int pos_x, pos_y;
static int last_mouse_x, last_mouse_y;
#endif /* HAVE_GPM */
@@ -2387,13 +2382,13 @@
{
const char *name;
int fd;
+ /* TODO: how to set mouse position?
name = (const char *) ttyname (0);
fd = open (name, O_WRONLY);
- /* TODO: how to set mouse position?
- SOME_FUNCTION (x, y, fd); */
+ SOME_FUNCTION (x, y, fd);
close (fd);
last_mouse_x = x;
- last_mouse_y = y;
+ last_mouse_y = y; */
}
static void
@@ -2570,10 +2565,6 @@
|| !f->glyphs_initialized_p)
return;
- mouse_face_mouse_x = x;
- mouse_face_mouse_y = y;
- mouse_face_mouse_frame = f;
-
/* Which window is that in? */
window = window_from_coordinates (f, x, y, &part, &x, &y, 0);
@@ -2815,7 +2806,7 @@
if (event->x != last_mouse_x || event->y != last_mouse_y)
{
frame->mouse_moved = 1;
- term_mouse_highlight (frame, event->x - 1, event->y - 1);
+ term_mouse_highlight (frame, event->x, event->y);
/* Remember which glyph we're now on. */
last_mouse_x = event->x;
last_mouse_y = event->y;
@@ -2835,7 +2826,7 @@
Set *time to the time the mouse was at the returned position.
- This should clear mouse_moved until the next motion
+ This clears mouse_moved until the next motion
event arrives. */
static void
term_mouse_position (FRAME_PTR *fp, int insist, Lisp_Object *bar_window,
@@ -2843,8 +2834,6 @@
Lisp_Object *y, unsigned long *time)
{
struct timeval now;
- Lisp_Object frame, window;
- struct window *w;
*fp = SELECTED_FRAME ();
(*fp)->mouse_moved = 0;
@@ -2854,11 +2843,6 @@
XSETINT (*x, last_mouse_x);
XSETINT (*y, last_mouse_y);
- XSETFRAME (frame, *fp);
- window = Fwindow_at (*x, *y, frame);
-
- XSETINT (*x, last_mouse_x - WINDOW_LEFT_EDGE_COL (XWINDOW (window)));
- XSETINT (*y, last_mouse_y - WINDOW_TOP_EDGE_LINE (XWINDOW (window)));
gettimeofday(&now, 0);
*time = (now.tv_sec * 1000) + (now.tv_usec / 1000);
}
@@ -2905,7 +2889,7 @@
if (event->type & GPM_DRAG)
result->modifiers |= drag_modifier;
- if (!(event->type & (GPM_MOVE|GPM_DRAG))) {
+ if (!(event->type & (GPM_MOVE | GPM_DRAG))) {
/* 1 << KG_SHIFT */
if (event->modifiers & (1 << 0))
@@ -2921,8 +2905,8 @@
result->modifiers |= meta_modifier;
}
- XSETINT (result->x, event->x - 1);
- XSETINT (result->y, event->y - 1);
+ XSETINT (result->x, event->x);
+ XSETINT (result->y, event->y);
XSETFRAME (result->frame_or_window, f);
result->arg = Qnil;
return Qnil;
@@ -2941,7 +2925,7 @@
ie.kind = NO_EVENT;
ie.arg = Qnil;
- if (event->type & GPM_MOVE) {
+ if (event->type & (GPM_MOVE | GPM_DRAG)) {
unsigned char buf[6 * sizeof (short)];
unsigned short *arg = (unsigned short *) buf + 1;
const char *name;
@@ -2952,8 +2936,8 @@
/* Display mouse pointer */
buf[sizeof(short) - 1] = 2; /* set selection */
- arg[0] = arg[2] = (unsigned short) event->x;
- arg[1] = arg[3] = (unsigned short) event->y;
+ arg[0] = arg[2] = (unsigned short) event->x + gpm_zerobased;
+ arg[1] = arg[3] = (unsigned short) event->y + gpm_zerobased;
arg[4] = (unsigned short) 3;
name = (const char *) ttyname (0);
@@ -2961,7 +2945,8 @@
ioctl (fd, TIOCLINUX, buf + sizeof (short) - 1);
close (fd);
- term_mouse_movement (f, event);
+ if (!term_mouse_movement (f, event))
+ help_echo_string = previous_help_echo_string;
/* If the contents of the global variable help_echo_string
has changed, generate a HELP_EVENT. */
@@ -3012,6 +2997,7 @@
connection.defaultMask = ~GPM_HARD;
connection.maxMod = ~0;
connection.minMod = 0;
+ gpm_zerobased = 1;
if (Gpm_Open (&connection, 0) < 0)
return Qnil;
- [Emacs-diffs] Changes to emacs/src/term.c,v,
Nick Roberts <=