emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/dispextern.h [lexbind]


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/src/dispextern.h [lexbind]
Date: Wed, 08 Dec 2004 19:34:13 -0500

Index: emacs/src/dispextern.h
diff -c emacs/src/dispextern.h:1.136.2.17 emacs/src/dispextern.h:1.136.2.18
*** emacs/src/dispextern.h:1.136.2.17   Mon Oct 25 04:19:35 2004
--- emacs/src/dispextern.h      Wed Dec  8 23:31:37 2004
***************
*** 694,699 ****
--- 694,703 ----
       frames.  It may be < 0 in case of completely invisible rows.  */
    int visible_height;
  
+   /* Extra line spacing added after this row.  Do not consider this
+      in last row when checking if row is fully visible.  */
+   int extra_line_spacing;
+ 
    /* Hash code.  This hash code is available as soon as the row
       is constructed, i.e. after a call to display_line.  */
    unsigned hash;
***************
*** 916,937 ****
  
  #define MATRIX_ROW_DISPLAYS_TEXT_P(ROW) ((ROW)->displays_text_p)
  
  /* Non-zero if ROW is not completely visible in window W.  */
  
! #define MATRIX_ROW_PARTIALLY_VISIBLE_P(ROW)   \
!      ((ROW)->height != (ROW)->visible_height)
  
  /* Non-zero if ROW is partially visible at the top of window W.  */
  
  #define MATRIX_ROW_PARTIALLY_VISIBLE_AT_TOP_P(W, ROW)         \
!      (MATRIX_ROW_PARTIALLY_VISIBLE_P ((ROW))                  \
!       && (ROW)->y < WINDOW_HEADER_LINE_HEIGHT ((W)))
  
  /* Non-zero if ROW is partially visible at the bottom of window W.  */
  
! #define MATRIX_ROW_PARTIALLY_VISIBLE_AT_BOTTOM_P(W, ROW)                    \
!      (MATRIX_ROW_PARTIALLY_VISIBLE_P ((ROW))                                \
!       && (ROW)->y + (ROW)->height > WINDOW_BOX_HEIGHT_NO_MODE_LINE ((W)))
  
  /* Return the bottom Y + 1 of ROW.   */
  
--- 920,958 ----
  
  #define MATRIX_ROW_DISPLAYS_TEXT_P(ROW) ((ROW)->displays_text_p)
  
+ 
+ /* Helper macros */
+ 
+ #define MR_PARTIALLY_VISIBLE(ROW)     \
+   ((ROW)->height != (ROW)->visible_height)
+ 
+ #define MR_PARTIALLY_VISIBLE_AT_TOP(W, ROW)  \
+   ((ROW)->y < WINDOW_HEADER_LINE_HEIGHT ((W)))
+ 
+ #define MR_PARTIALLY_VISIBLE_AT_BOTTOM(W, ROW)  \
+   (((ROW)->y + (ROW)->height - (ROW)->extra_line_spacing) \
+    > WINDOW_BOX_HEIGHT_NO_MODE_LINE ((W)))
+ 
  /* Non-zero if ROW is not completely visible in window W.  */
  
! #define MATRIX_ROW_PARTIALLY_VISIBLE_P(W, ROW)                \
!   (MR_PARTIALLY_VISIBLE ((ROW))                               \
!    && (MR_PARTIALLY_VISIBLE_AT_TOP ((W), (ROW))               \
!        || MR_PARTIALLY_VISIBLE_AT_BOTTOM ((W), (ROW))))
! 
! 
  
  /* Non-zero if ROW is partially visible at the top of window W.  */
  
  #define MATRIX_ROW_PARTIALLY_VISIBLE_AT_TOP_P(W, ROW)         \
!   (MR_PARTIALLY_VISIBLE ((ROW))                                       \
!    && MR_PARTIALLY_VISIBLE_AT_TOP ((W), (ROW)))
  
  /* Non-zero if ROW is partially visible at the bottom of window W.  */
  
! #define MATRIX_ROW_PARTIALLY_VISIBLE_AT_BOTTOM_P(W, ROW)      \
!   (MR_PARTIALLY_VISIBLE ((ROW))                                       \
!    && MR_PARTIALLY_VISIBLE_AT_BOTTOM ((W), (ROW)))
  
  /* Return the bottom Y + 1 of ROW.   */
  
***************
*** 1990,1999 ****
       line, if the window has one.  */
    int last_visible_y;
  
!   /* Additional space in pixels between lines (for window systems
!      only.)  */
    int extra_line_spacing;
  
    /* Override font height information for this glyph.
       Used if override_ascent >= 0.  Cleared after this glyph.  */
    int override_ascent, override_descent, override_boff;
--- 2011,2023 ----
       line, if the window has one.  */
    int last_visible_y;
  
!   /* Default amount of additional space in pixels between lines (for
!      window systems only.)  */
    int extra_line_spacing;
  
+   /* Max extra line spacing added in this row.  */
+   int max_extra_line_spacing;
+ 
    /* Override font height information for this glyph.
       Used if override_ascent >= 0.  Cleared after this glyph.  */
    int override_ascent, override_descent, override_boff;
***************
*** 2578,2583 ****
--- 2602,2608 ----
  extern struct frame *last_mouse_frame;
  extern int last_tool_bar_item;
  extern int mouse_autoselect_window;
+ extern void reseat_at_previous_visible_line_start P_ ((struct it *));
  
  extern int calc_pixel_width_or_height P_ ((double *, struct it *, Lisp_Object,
                                           /* XFontStruct */ void *, int, int 
*));




reply via email to

[Prev in Thread] Current Thread [Next in Thread]