emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/src/w32term.c


From: Kim F . Storm
Subject: [Emacs-diffs] Changes to emacs/src/w32term.c
Date: Sun, 21 Nov 2004 10:54:46 -0500

Index: emacs/src/w32term.c
diff -c emacs/src/w32term.c:1.218 emacs/src/w32term.c:1.219
*** emacs/src/w32term.c:1.218   Mon Nov  1 08:52:47 2004
--- emacs/src/w32term.c Sun Nov 21 15:48:58 2004
***************
*** 260,266 ****
  static void x_draw_hollow_cursor P_ ((struct window *, struct glyph_row *));
  static void x_draw_bar_cursor P_ ((struct window *, struct glyph_row *, int,
                                   enum text_cursor_kinds));
! static void w32_clip_to_row P_ ((struct window *, struct glyph_row *, HDC));
  
  static Lisp_Object Qvendor_specific_keysyms;
  
--- 260,266 ----
  static void x_draw_hollow_cursor P_ ((struct window *, struct glyph_row *));
  static void x_draw_bar_cursor P_ ((struct window *, struct glyph_row *, int,
                                   enum text_cursor_kinds));
! static void w32_clip_to_row P_ ((struct window *, struct glyph_row *, int, 
HDC));
  
  static Lisp_Object Qvendor_specific_keysyms;
  
***************
*** 691,702 ****
        int oldVH = row->visible_height;
        row->visible_height = p->h;
        row->y -= rowY - p->y;
!       w32_clip_to_row (w, row, hdc);
        row->y = oldY;
        row->visible_height = oldVH;
      }
    else
!     w32_clip_to_row (w, row, hdc);
  
    if (p->bx >= 0 && !p->overlay_p)
      {
--- 691,702 ----
        int oldVH = row->visible_height;
        row->visible_height = p->h;
        row->y -= rowY - p->y;
!       w32_clip_to_row (w, row, -1, hdc);
        row->y = oldY;
        row->visible_height = oldVH;
      }
    else
!     w32_clip_to_row (w, row, -1, hdc);
  
    if (p->bx >= 0 && !p->overlay_p)
      {
***************
*** 4912,4929 ****
     mode lines must be clipped to the whole window.  */
  
  static void
! w32_clip_to_row (w, row, hdc)
       struct window *w;
       struct glyph_row *row;
       HDC hdc;
  {
    struct frame *f = XFRAME (WINDOW_FRAME (w));
    RECT clip_rect;
!   int window_y, window_width;
  
!   window_box (w, -1, 0, &window_y, &window_width, 0);
  
!   clip_rect.left = WINDOW_TO_FRAME_PIXEL_X (w, 0);
    clip_rect.top = WINDOW_TO_FRAME_PIXEL_Y (w, row->y);
    clip_rect.top = max (clip_rect.top, window_y);
    clip_rect.right = clip_rect.left + window_width;
--- 4912,4930 ----
     mode lines must be clipped to the whole window.  */
  
  static void
! w32_clip_to_row (w, row, area, hdc)
       struct window *w;
       struct glyph_row *row;
+      int area;
       HDC hdc;
  {
    struct frame *f = XFRAME (WINDOW_FRAME (w));
    RECT clip_rect;
!   int window_x, window_y, window_width;
  
!   window_box (w, area, &window_x, &window_y, &window_width, 0);
  
!   clip_rect.left = window_x;
    clip_rect.top = WINDOW_TO_FRAME_PIXEL_Y (w, row->y);
    clip_rect.top = max (clip_rect.top, window_y);
    clip_rect.right = clip_rect.left + window_width;
***************
*** 4983,4989 ****
    rect.right = rect.left + wd;
    hdc = get_frame_dc (f);
    /* Set clipping, draw the rectangle, and reset clipping again.  */
!   w32_clip_to_row (w, row, hdc);
    FrameRect (hdc, &rect, hb);
    DeleteObject (hb);
    w32_set_clip_rectangle (hdc, NULL);
--- 4984,4990 ----
    rect.right = rect.left + wd;
    hdc = get_frame_dc (f);
    /* Set clipping, draw the rectangle, and reset clipping again.  */
!   w32_clip_to_row (w, row, TEXT_AREA, hdc);
    FrameRect (hdc, &rect, hb);
    DeleteObject (hb);
    w32_set_clip_rectangle (hdc, NULL);
***************
*** 5049,5055 ****
  
  
        hdc = get_frame_dc (f);
!       w32_clip_to_row (w, row, hdc);
  
        if (kind == BAR_CURSOR)
        {
--- 5050,5056 ----
  
  
        hdc = get_frame_dc (f);
!       w32_clip_to_row (w, row, TEXT_AREA, hdc);
  
        if (kind == BAR_CURSOR)
        {




reply via email to

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