1. 22 May, 2004 1 commit
  2. 17 May, 2004 1 commit
  3. 10 May, 2004 1 commit
  4. 04 May, 2004 1 commit
    • Kim F. Storm's avatar
      (Qtotal): New var. · 17b01ffc
      Kim F. Storm authored
      (syms_of_xdisp): Intern and staticpro it.
      (calc_line_height_property): New arg total.  Set it if
      line-spacing property has format (total . VALUE).
      (x_produce_glyphs): Ignore line-spacing if line-height is 0.
      Handle total line-spacing property.
      17b01ffc
  5. 01 May, 2004 1 commit
  6. 29 Apr, 2004 1 commit
    • Kim F. Storm's avatar
      (init_iterator): Handle line-spacing float value. · a9e5c932
      Kim F. Storm authored
      Initialize override_ascent member.
      (append_space_for_newline): Reset override_ascent.
      Remove use_default_face.
      (calc_line_height_property): New function to calculate value of
      line-height and line-spacing properties.  Look at overlays, too.
      Set override_ascent, override_descent, override_boff members when
      using another face than the current face.  Float values are now
      relative to the frame default font, by default; accept a cons
      of ratio and face name to specify value relative to a specific face.
      (x_produce_glyphs): Use calc_line_height_property.
      Use override_ascent etc. when set to handle different face heights.
      A negative line-spacing property value is interpreted as a total
      line height, rather than inter-line spacing.
      (note_mouse_highlight): Allocate room for 40 overlays initially.
      a9e5c932
  7. 28 Apr, 2004 1 commit
  8. 27 Apr, 2004 2 commits
  9. 26 Apr, 2004 1 commit
    • Kim F. Storm's avatar
      (Qline_height): New variable. · 4933c603
      Kim F. Storm authored
      (syms_of_xdisp): Intern and staticpro it.
      (append_space_for_newline): Partially undo 2004-04-25 change;
      add default_face_p arg, and restore callers.
      Clear it->use_default_face after use.
      (x_produce_glyphs): Set default font for ascii char if
      it->use_default_font is set.  Change line-spacing property to set
      just extra line spacing.  Handle new line-height property.
      4933c603
  10. 24 Apr, 2004 1 commit
    • Kim F. Storm's avatar
      (append_space_for_newline): Rename from append_space. · 03e35edc
      Kim F. Storm authored
      Remove DEFAULT_FACE_P arg; always use current face.  Callers changed.
      (x_produce_glyphs): Handle line-spacing property on newline char.
      If value is t, adjust ascent and descent to fit current row height.
      If value is an integer or float, set extra_line_spacing to integer
      value, or to float value x current line height.
      03e35edc
  11. 20 Apr, 2004 1 commit
    • Kim F. Storm's avatar
      (Qslice): New variable. · e893970b
      Kim F. Storm authored
      (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.
      e893970b
  12. 16 Apr, 2004 2 commits
  13. 13 Apr, 2004 1 commit
    • Kim F. Storm's avatar
      (get_glyph_string_clip_rect): Fix reduction of cursor · cb9d4a9f
      Kim F. Storm authored
      height to glyph height when cursor row is not fully visible.
      (make_cursor_line_fully_visible): Add FORCE_P arg to return
      failure in case row is higher than window.  Callers changed.
      (try_scrolling): Fix loop in scrolling if last_line_misfit (from Gerd).
      Try to scroll partially visible, higher-than-window cursor row.
      (redisplay_window): Always try to scroll partially visible,
      higher-than-window cursor row - both initially and again with
      centering_position = 0.
      Clear desired matrix before retrying with centering_position = 0.
      cb9d4a9f
  14. 05 Apr, 2004 1 commit
  15. 26 Mar, 2004 1 commit
  16. 19 Mar, 2004 3 commits
    • Kim F. Storm's avatar
      (move_it_in_display_line_to): Fix MOVE_TO_POS case when · 4540d74c
      Kim F. Storm authored
      to_charpos corresponds to newline in right fringe.  Use local
      BUFFER_POS_REACHED_P macro.
      4540d74c
    • Jan Djärv's avatar
      xdisp.c (calc_pixel_width_or_height): Add ifdef HAVE_WINDOW_SYSTEM · 992126de
      Jan Djärv authored
      to compile on non-window system.
      992126de
    • Kim F. Storm's avatar
      (Qcenter): Declare here. · da06e4d7
      Kim F. Storm authored
      (syms_of_xdisp): intern and staticpro it.
      (handle_single_display_prop): Allow space display property on all
      platforms.
      (display_mode_line): Set mode_line_p before displaying line.
      (calc_pixel_width_or_height): Declare extern.  Add separate :align-to
      handling.  Remove complex cases for fringes and scroll-bars.
      Add left, right, and center alignment positions. Add text (area)
      width/height.  Return width or height for image specs.
      (produce_stretch_glyph): Improve handling of :align-to.  Is now
      relative to left of text area by default, but other base offsets
      can be specified -- also for text lines.
      da06e4d7
  17. 16 Mar, 2004 1 commit
  18. 03 Mar, 2004 1 commit
  19. 01 Mar, 2004 1 commit
    • Kim F. Storm's avatar
      (Voverlay_arrow_variable_list): New variable to properly · 351b5434
      Kim F. Storm authored
      implement and integrate multiple overlay arrows with redisplay.
      (syms_of_xdisp): DEFVAR_LISP and initialize it.
      (last_arrow_position, last_arrow_string): Replace by properties.
      (Qlast_arrow_position, Qlast_arrow_string)
      (Qoverlay_arrow_string, Qoverlay_arrow_bitmap): New variables.
      (syms_of_xdisp): Intern and staticpro them.
      (overlay_arrow_string_or_property, update_overlay_arrows)
      (overlay_arrow_in_current_buffer_p, overlay_arrows_changed_p)
      (overlay_arrow_at_row): New functions for multiple overlay arrows.
      (redisplay_internal): Use them instead of directly accessing
      Voverlay_arrow_position etc. for multiple overlay arrows.
      (mark_window_display_accurate): Use update_overlay_arrows.
      (try_cursor_movement): Use overlay_arrow_in_current_buffer_p.
      (try_window_id): Use overlay_arrows_changed_p.
      (get_overlay_arrow_glyph_row): Add overlay_arrow_string arg.
      (display_line): Use overlay_arrow_at_row to check multiple
      overlay arrows, and get relevant overlay-arrow-string and
      overlay-arrow-bitmap.  Set w->overlay_arrow_bitmap accordingly.
      (produce_image_glyph): Set pixel_width = 0 for fringe bitmap.
      (syms_of_xdisp): Remove last_arrow_position and last_arrow_string.
      351b5434
  20. 25 Feb, 2004 2 commits
    • Kim F. Storm's avatar
      (handle_single_display_prop): Handle left-fringe and · dd341dd9
      Kim F. Storm authored
      right-fringe similar to a display margin image.  Specifically,
      the characters having the fringe prop are no longer shown, and
      we use IT_IMAGE/next_element_from_image with image_id = -1 to
      do this.  Set fringe bitmap face_id in it->face_id.
      (produce_image_glyph): Handle image_id < 0 as "no image" case, but
      still realize it->face (i.e. the fringe bitmap face).
      dd341dd9
    • Miles Bader's avatar
      Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-114 · 7d8a0b55
      Miles Bader authored
      Merge some minor redisplay bug-fixes from emacs--tiling--0
      
      Patches applied:
      
       * miles@gnu.org--gnu-2004/emacs--tiling--0--patch-9
         Remove bogus xassert
      
       * miles@gnu.org--gnu-2004/emacs--tiling--0--patch-10
         Avoid negative descents for images with ascent > height
      
       * miles@gnu.org--gnu-2004/emacs--tiling--0--patch-13
         Fix iterator-inconsistency bug in redisplay
      7d8a0b55
  21. 18 Feb, 2004 1 commit
  22. 17 Feb, 2004 2 commits
  23. 16 Feb, 2004 1 commit
  24. 08 Feb, 2004 1 commit
    • Kim F. Storm's avatar
      (Voverflow_newline_into_fringe, syms_of_xdisp) · 6d925726
      Kim F. Storm authored
      (left_bits, right_bits, up_arrow_bits, down_arrow_bits)
      (continued_bits, continuation_bits, ov_bits, first_line_bits)
      (last_line_bits, filled_box_cursor_bits, hollow_box_cursor_bits)
      (bar_cursor_bits, hbar_cursor_bits, zv_bits, hollow_square_bits)
      (fringe_bitmaps, draw_fringe_bitmap, draw_row_fringe_bitmaps)
      (draw_window_fringes, compute_fringe_widths, update_window_fringes):
      Move fringe handling vars and code to new file fringe.c.
      (handle_display_prop): Handle left-fringe and right-fringe
      display properties; store user fringe bitmaps in iterator.
      (move_it_in_display_line_to): Handle cursor in fringe at eob.
      (clear_garbaged_frames): Set force_flush_display_p if resized.
      (redisplay_window): Redraw fringe bitmaps if not just_this_one_p.
      (display_line): Handle cursor in fringe at eob.
      (display_line): Set row user fringe bitmaps from iterator.
      6d925726
  25. 07 Feb, 2004 1 commit
  26. 17 Jan, 2004 1 commit
    • Miles Bader's avatar
      Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-41 · 7af0e8d7
      Miles Bader authored
      Make fringe-drawing stuff compile without a window-system
      
      * src/xdisp.c (Voverflow_newline_into_fringe)
      (move_it_in_display_line_to, redisplay_internal)
      (update_window_fringes, redisplay_window, display_line, window):
      Add `#ifdef HAVE_WINDOW_SYSTEM' around fringe-drawing stuff, so
      that it compiles without a window-system.
      * src/dispnew.c (direct_output_for_insert, update_window): Likewise.
      7af0e8d7
  27. 16 Jan, 2004 1 commit
    • Kim F. Storm's avatar
      (Voverflow_newline_into_fringe): New variable. · 88e6b646
      Kim F. Storm authored
      (IT_OVERFLOW_NEWLINE_INTO_FRINGE): New macro.
      (move_it_in_display_line_to): Overflow newline into fringe for
      rows that are exactly as wide as the window.
      (up_arrow_bits, down_arrow_bits, first_line_bits, last_line_bits)
      (filled_box_cursor_bits, hollow_box_cursor_bits, bar_cursor_bits)
      (hbar_cursor_bits, hollow_square_bits): New fringe bitmaps.
      (fringe_bitmaps): Add new bitmaps.
      (draw_fringe_bitmap): Make extern.  Remove WHICH arg.
      Select proper bitmap for cursor in fringe when appropriate.
      Handle alignment of bitmap to top or bottom of row.
      (draw_row_fringe_bitmaps): Don't select bitmaps here; that is now
      done by update_window_fringes.
      (update_window_fringes, draw_window_fringes): New functions.
      (redisplay_internal): Call update_window_fringes in case only
      cursor row is updated.
      (redisplay_window): Call update_window_fringes.
      Explicitly call draw_window_fringes if redisplay was done using
      the current matrix or the overlay arrow is in the window.
      (try_window_reusing_current_matrix): Mark scrolled rows for
      fringe update (to update buffer-boundaries / scrolling icons).
      (find_last_unchanged_at_beg_row): Handle exact width lines line
      continued lines.
      (display_line): Overflow newline into fringe for rows that are
      exactly as wide as the window.  Don't append space for newline
      in this case.
      (notice_overwritten_cursor): Explicitly clear cursor bitmap
      in fringe as if it had been overwritten.
      (erase_phys_cursor): Erase cursor bitmap in fringe.
      (syms_of_xdisp): Mark show-trailing-whitespace and
      void-text-area-pointer as user options.
      DEFVAR_LISP Voverflow_newline_into_fringe.  Enable by default.
      88e6b646
  28. 06 Jan, 2004 1 commit
  29. 28 Dec, 2003 1 commit
    • Kim F. Storm's avatar
      (Qarrow, Qhand, Qtext, Qpointer): New variables for · 493fdc3c
      Kim F. Storm authored
      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.
      493fdc3c
  30. 27 Nov, 2003 1 commit
    • Kim F. Storm's avatar
      (Vdisplay_pixels_per_inch): New variable. · f65536fa
      Kim F. Storm authored
      (Vshow_text_cursor_in_void): New variable.
      (glyph_to_pixel_coords): Don't use negative hpos.
      (x_y_to_hpos_vpos): Fix for partially visible first glyph.
      (append_stretch_glyph): Change ascent arg to be actual value
      in pixels rather than ratio to height. Callers changed.
      (calc_pixel_width_or_height): New aux function, implementing
      pixel based artihmetic for glyph widths and heights.
      (produce_stretch_glyph): Use calc_pixel_width_or_height for
      :width, :height, :align-to, and :ascent, thus allowing these to
      be specified in pixels as well as multiples of characters.
      Don't produce stretch glyphs with zero width or height.
      (get_specified_cursor_type): Declare static.
      (get_window_cursor_type): Declare static.  Add glyph arg to be
      able to know when cursor is on an image; always substitute
      hollow-box cursor for filled-box cursor on images, to avoid
      negative images and flicker when blinking the cursor.
      (display_and_set_cursor): Pass glyph to	get_window_cursor_type.
      (note_mode_line_or_margin_highlight): Use non-text cursor rather
      than vertical scroll-bar cursor in display margins.
      (note_mouse_highlight): Use non-text cursor rather than text
      cursor in fringes and over images in the text area.
      Use non-text cursor when mouse pointer is outside editable text,
      i.e. in the void after end-of-line or end-of-buffer; this was
      already done for W32, but is now standard for all systems --
      user can toggle show-text-cursor-in-void to get old behaviour.
      (syms_of_xdisp): DEFVAR_LISP Vshow_text_cursor_in_void and
      Vdisplay_pixels_per_inch.
      f65536fa
  31. 23 Nov, 2003 1 commit
  32. 18 Nov, 2003 1 commit
    • Kim F. Storm's avatar
      (init_iterator): Initialize it->start to position · 29b3ea63
      Kim F. Storm authored
      before reseating (in case start position is invisible).
      (init_to_row_start): Set it->start to row-start.
      (redisplay_window): Accept optional_new_start if start position
      is invisible (in which case IT_CHARPOS overshoots PT).
      (display_line): Setup row->start from it->start (rather than
      it->current which is wrong if first char on line is invisible).
      When done, reseat it->start to it->current (= start of next row).
      (expose_area): Fix exposure of text area when first char (e.g. TAB)
      is only partially visible.
      29b3ea63
  33. 16 Nov, 2003 2 commits