mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-30 08:09:04 +00:00
(Qimage): Remove extern (now in lisp.h).
(QCmap): Declare extern. (make_lispy_position): When position is inside image hot-spot, use hot-spot element as posn element.
This commit is contained in:
parent
60bf162981
commit
2e3f0f616b
@ -587,7 +587,7 @@ Lisp_Object Qvertical_scroll_bar;
|
||||
Lisp_Object Qmenu_bar;
|
||||
extern Lisp_Object Qleft_margin, Qright_margin;
|
||||
extern Lisp_Object Qleft_fringe, Qright_fringe;
|
||||
extern Lisp_Object Qimage;
|
||||
extern Lisp_Object QCmap;
|
||||
|
||||
Lisp_Object recursive_edit_unwind (), command_loop ();
|
||||
Lisp_Object Fthis_command_keys ();
|
||||
@ -5024,6 +5024,19 @@ make_lispy_position (f, x, y, time)
|
||||
string = marginal_area_string (w, &rx, &ry, &dx, &dy, part, &charpos);
|
||||
if (STRINGP (string))
|
||||
object = Fcons (string, make_number (charpos));
|
||||
#ifdef HAVE_WINDOW_SYSTEM
|
||||
else if (IMAGEP (string))
|
||||
{
|
||||
Lisp_Object image_map, hotspot;
|
||||
object = string;
|
||||
if ((image_map = Fplist_get (XCDR (object), QCmap),
|
||||
!NILP (image_map))
|
||||
&& (hotspot = find_hot_spot (image_map, dx, dy),
|
||||
CONSP (hotspot))
|
||||
&& (hotspot = XCDR (hotspot), CONSP (hotspot)))
|
||||
posn = XCAR (hotspot);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
else if (part == ON_LEFT_FRINGE || part == ON_RIGHT_FRINGE)
|
||||
{
|
||||
@ -5059,8 +5072,19 @@ make_lispy_position (f, x, y, time)
|
||||
if (STRINGP (string))
|
||||
object = Fcons (string,
|
||||
make_number (CHARPOS (p.string_pos)));
|
||||
else if (CONSP (string) && EQ (XCAR (string), Qimage))
|
||||
object = string;
|
||||
#ifdef HAVE_WINDOW_SYSTEM
|
||||
else if (IMAGEP (string))
|
||||
{
|
||||
Lisp_Object image_map, hotspot;
|
||||
object = string;
|
||||
if ((image_map = Fplist_get (XCDR (object), QCmap),
|
||||
!NILP (image_map))
|
||||
&& (hotspot = find_hot_spot (image_map, dx, dy),
|
||||
CONSP (hotspot))
|
||||
&& (hotspot = XCDR (hotspot), CONSP (hotspot)))
|
||||
posn = XCAR (hotspot);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user