mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-23 13:27:36 +00:00
Add image slices.
This commit is contained in:
parent
7f0d4d298d
commit
ae7ab2d30f
1 changed files with 77 additions and 0 deletions
|
|
@ -1,3 +1,80 @@
|
|||
2004-04-21 Kim F. Storm <storm@cua.dk>
|
||||
|
||||
* dispextern.h (struct glyph_slice): New struct.
|
||||
(struct glyph): New member slice.
|
||||
(GLYPH_SLICE_EQUAL_P): New macro.
|
||||
(GLYPH_EQUAL_P): Use it.
|
||||
(struct glyph_string): New member slice.
|
||||
(struct it_slice): New struct.
|
||||
(struct it): New member slice, add member to stack too.
|
||||
New member constrain_row_ascent_descent_p.
|
||||
(image_ascent): Add prototype.
|
||||
|
||||
* dispnew.c (buffer_posn_from_coords): Return full image width
|
||||
and height even for image slices (posn is relative to full image).
|
||||
(marginal_area_string): Adjust x0,y0 for image slice.
|
||||
|
||||
* image.c (image_ascent): Add slice arg; calculate ascent for
|
||||
image slice (or full image).
|
||||
|
||||
* keyboard.c (Fposn_at_x_y, Fposn_at_point): New defuns.
|
||||
(syms_of_keyboard): Defsubr them.
|
||||
|
||||
* lisp.h (pos_visible_p): Fix prototype.
|
||||
|
||||
* macterm.c (x_draw_relief_rect): Add top_p and bot_p args.
|
||||
(x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
|
||||
(x_draw_image_foreground, x_draw_image_relief)
|
||||
(x_draw_image_foreground_1, x_draw_image_glyph_string):
|
||||
Draw sliced images.
|
||||
|
||||
* w32term.c (w32_draw_relief_rect): Add top_p and bot_p args.
|
||||
(x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
|
||||
(x_draw_image_foreground, x_draw_image_relief)
|
||||
(w32_draw_image_foreground_1, x_draw_image_glyph_string):
|
||||
Draw sliced images.
|
||||
|
||||
* w32term.h (image_ascent): Remove prototype.
|
||||
|
||||
* window.c (Fpos_visible_in_window_p): Return pixel position if
|
||||
PARTIALLY arg is non-nil. Simplify. Doc fix.
|
||||
(Fwindow_vscroll, Fset_window_vscroll): Add optional PIXEL_P arg
|
||||
to return/set vscroll in pixels.
|
||||
|
||||
* window.h (Fwindow_vscroll, Fset_window_vscroll): Fix EXFUN.
|
||||
|
||||
* xdisp.c (Qslice): New variable.
|
||||
(syms_of_xdisp): Intern and staticpro it.
|
||||
(pos_visible_p): Return pixel position in new x and y args.
|
||||
(init_iterator): Reset it->slice info.
|
||||
(handle_display_prop): Parse (slice ...) property.
|
||||
(push_it, pop_it): Save/restore slice info.
|
||||
(make_cursor_line_fully_visible): Fix 2004-04-14 change. Do not
|
||||
force repositioning of tall row if window is vscrolled, as that
|
||||
would reset vscroll.
|
||||
(append_space): Set it->constrain_row_ascent_descent_p to avoid
|
||||
increasing row height if row is non-empty.
|
||||
(fill_image_glyph_string): Copy slice info.
|
||||
(take_vertical_position_into_account): Simplify.
|
||||
(produce_image_glyph): Handle iterator slice info, setup glyph
|
||||
slice info. Do not force minimum line height.
|
||||
(x_produce_glyphs): If it->constrain_row_ascent_descent_p is set,
|
||||
do not increase height (ascent/descent) of non-empty row when
|
||||
adding normal character glyph; instead reduce glyph ascent/descent
|
||||
appropriately; if row is higher than current glyph, adjust glyph
|
||||
descent/ascent to reposition glyph within the existing row.
|
||||
Likewise, when char is newline, only set ascent/descent if row is
|
||||
currently empty.
|
||||
(note_mouse_highlight): Handle hotspots with sliced image.
|
||||
|
||||
* xterm.c (x_draw_relief_rect): Add top_p and bot_p args.
|
||||
(x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
|
||||
(x_draw_image_foreground, x_draw_image_relief)
|
||||
(x_draw_image_foreground_1, x_draw_image_glyph_string):
|
||||
Draw sliced images.
|
||||
|
||||
* xterm.h (image_ascent): Remove prototype.
|
||||
|
||||
2004-04-20 John Paul Wallington <jpw@gnu.org>
|
||||
|
||||
* fns.c (Fassoc, Feql): Fix indentation.
|
||||
|
|
|
|||
Loading…
Reference in a new issue