]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix cursor glyph height on tall rows.
authorKim F. Storm <storm@cua.dk>
Sun, 28 Dec 2003 00:15:01 +0000 (00:15 +0000)
committerKim F. Storm <storm@cua.dk>
Sun, 28 Dec 2003 00:15:01 +0000 (00:15 +0000)
Add image map feature.
Add pointer text property.

src/ChangeLog

index fc1445a46ddd3bb49fcdde5a48a79eaad6f71e7e..53cc3b8ad2f51c3876f6a31b0b259d93a0549c9b 100644 (file)
@@ -1,3 +1,80 @@
+2003-12-28  Kim F. Storm  <storm@cua.dk>
+
+       * Makefile.in (eval.o): Depend on dispextern.h.
+
+       * dispnew.c (buffer_posn_from_coords): Fix calculation of dy for
+       image glyph using image's ascent.
+       (mode_line_string): Return image glyph as object clicked on.
+       Adjust y0 for image glyph using image's ascent.
+
+       * dispextern.h (FACE_ID_BITS, MAX_FACE_ID): New defines.
+       (struct glyph): New members, ascent and descent.  Used to save
+       this glyph's ascent and descent, instead of having.
+       (struct glyph): Declare member face_id using FACE_ID_BITS.
+       (find_hot_spot): Add prototype.
+
+       * keyboard.c (Qimage): Remove extern (now in lisp.h).
+       (QCmap): Declare extern.
+       (make_lispy_position): When position is inside image hot-spot,
+       use hot-spot element's id as posn element.
+
+       * lisp.h (IMAGEP): New macro to test for image object type.
+       (Qimage): Declare extern.
+
+       * macfns.c (Qimage): Remove extern (now in lisp.h).
+       (valid_image_p, parse_image_spec): Use IMAGEP macro.
+
+       * macterm.c (Qface, Qmouse_face): Remove unused externs.
+
+       * w32fns.c (Qimage): Remove extern (now in lisp.h).
+       (valid_image_p, parse_image_spec): Use IMAGEP macro.
+
+       * w32menu.c (Qmouse_click, Qevent_kind): Remove unused externs.
+
+       * w32term.c (Qface, Qmouse_face): Remove unused externs.
+
+       * xdisp.c (Qarrow, Qhand, Qtext, Qpointer): New variables for
+       pointer types.
+       (Qrelative_width, Qalign_to): Remove unused variables.
+       (Vvoid_text_area_pointer): Replace Vshow_text_cursor_in_void.
+       (QCmap, QCpointer, Qrect, Qcircle, Qpoly): New variables for
+       image maps.
+       (x_y_to_hpos_vpos): Return glyph relative coordinates through 
+       new dx and dy args.
+       Remove buffer_only_p arg (always 0).  Simplify code accordingly.
+       (get_glyph_string_clip_rect): Draw cursor using glyph's rather
+       than row's ascent and height, to get sensible height on tall rows.
+       (build_desired_tool_bar_string): Remove Qimage extern.
+       (get_tool_bar_item): Fix call to x_y_to_hpos_vpos.
+       (produce_image_glyph): Adjust it.ascent to minimum row ascent if
+       image glyph is alone on the last line.
+       (append_glyph, append_composite_glyph, produce_image_glyph)
+       (append_stretch_glyph): Set glyph's ascent and descent. 
+       (on_hot_spot_p): New function to check if position is inside an
+       rectangular, circular, or polygon-shaped image hot-spot, 
+       (find_hot_spot): New function to search for image hot-spot.
+       (Flookup_image_map): New defun to search for image hot-spot.
+       (define_frame_cursor1): New aux function to determine frame pointer.
+       (note_mode_line_or_margin_highlight, note_mouse_highlight):
+       Handle `pointer' text property and :pointer image property to
+       control frame pointer shape.  Detect image hot-spots for pointer
+       and help_echo properties.  Use define_frame_cursor1.
+       (note_mouse_highlight): Use Vvoid_text_area_pointer.
+       (syms_of_xdisp): Defsubr new defun. Intern and staticpro new variables.
+       DEFVAR_LISP Vvoid_text_area_pointer instead of Vshow_text_cursor_in_void.
+
+       * xfaces.c (cache_face): Abort if c->size exceeds MAX_FACE_ID.
+
+       * xfns.c (x_set_mouse_color): Remove bogus x_check_errors call.
+       (Qimage): Remove extern (now in lisp.h).
+       (valid_image_p, parse_image_spec): Use IMAGEP macro.
+
+       * xmenu.c (show_help_event): Remove unused code.
+
+       * xterm.c (Qface, Qmouse_face): Remove unused externs.
+       (x_draw_hollow_cursor): Draw cursor using glyph's rather than
+       row's ascent and descent, to get a sensible height on tall rows.
+
 2003-12-25  Luc Teirlinck  <teirllm@auburn.edu>
 
        * minibuf.c (Fcompleting_read): Undo previous change.