emacs-diffs
[Top][All Lists]
Advanced

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

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


From: Kim F. Storm
Subject: [Emacs-diffs] Changes to emacs/src/w32fns.c
Date: Fri, 30 Nov 2001 20:27:00 -0500

Index: emacs/src/w32fns.c
diff -c emacs/src/w32fns.c:1.141 emacs/src/w32fns.c:1.142
*** emacs/src/w32fns.c:1.141    Wed Nov 28 15:34:46 2001
--- emacs/src/w32fns.c  Fri Nov 30 20:27:00 2001
***************
*** 53,58 ****
--- 53,59 ----
  #include <ctype.h>
  
  extern void free_frame_menubar ();
+ extern void x_compute_fringe_widths (struct frame *, int);
  extern double atof ();
  extern int w32_console_toggle_lock_key (int vk_code, Lisp_Object new_state);
  extern void w32_menu_display_help (HWND owner, HMENU menu, UINT menu_item, 
UINT flags);
***************
*** 676,681 ****
--- 677,683 ----
  void x_set_icon_type P_ ((struct frame *, Lisp_Object, Lisp_Object));
  void x_set_icon_name P_ ((struct frame *, Lisp_Object, Lisp_Object));
  void x_set_font P_ ((struct frame *, Lisp_Object, Lisp_Object));
+ static void x_set_fringe_width P_ ((struct frame *, Lisp_Object, 
Lisp_Object));
  void x_set_border_width P_ ((struct frame *, Lisp_Object, Lisp_Object));
  void x_set_internal_border_width P_ ((struct frame *, Lisp_Object,
                                      Lisp_Object));
***************
*** 718,724 ****
    "visibility", x_set_visibility,
    "tool-bar-lines", x_set_tool_bar_lines,
    "screen-gamma", x_set_screen_gamma,
!   "line-spacing", x_set_line_spacing
  };
  
  /* Attach the `x-frame-parameter' properties to
--- 720,729 ----
    "visibility", x_set_visibility,
    "tool-bar-lines", x_set_tool_bar_lines,
    "screen-gamma", x_set_screen_gamma,
!   "line-spacing", x_set_line_spacing,
!   "left-fringe", x_set_fringe_width,
!   "right-fringe", x_set_fringe_width
! 
  };
  
  /* Attach the `x-frame-parameter' properties to
***************
*** 810,822 ****
    /* Process foreground_color and background_color before anything else.
       They are independent of other properties, but other properties (e.g.,
       cursor_color) are dependent upon them.  */
    for (p = 0; p < i; p++) 
      {
        Lisp_Object prop, val;
  
        prop = parms[p];
        val = values[p];
!       if (EQ (prop, Qforeground_color) || EQ (prop, Qbackground_color))
        {
          register Lisp_Object param_index, old_value;
  
--- 815,830 ----
    /* Process foreground_color and background_color before anything else.
       They are independent of other properties, but other properties (e.g.,
       cursor_color) are dependent upon them.  */
+   /* Process default font as well, since fringe widths depends on it.  */
    for (p = 0; p < i; p++) 
      {
        Lisp_Object prop, val;
  
        prop = parms[p];
        val = values[p];
!       if (EQ (prop, Qforeground_color)
!         || EQ (prop, Qbackground_color)
!         || EQ (prop, Qfont))
        {
          register Lisp_Object param_index, old_value;
  
***************
*** 855,861 ****
        icon_top = val;
        else if (EQ (prop, Qicon_left))
        icon_left = val;
!       else if (EQ (prop, Qforeground_color) || EQ (prop, Qbackground_color))
        /* Processed above.  */
        continue;
        else
--- 863,871 ----
        icon_top = val;
        else if (EQ (prop, Qicon_left))
        icon_left = val;
!       else if (EQ (prop, Qforeground_color)
!              || EQ (prop, Qbackground_color)
!              || EQ (prop, Qfont))
        /* Processed above.  */
        continue;
        else
***************
*** 2438,2443 ****
--- 2448,2461 ----
      }
  }
  
+ static void
+ x_set_fringe_width (f, new_value, old_value)
+      struct frame *f;
+      Lisp_Object new_value, old_value;
+ {
+   x_compute_fringe_widths (f, 1);
+ }
+ 
  void
  x_set_border_width (f, arg, oldval)
       struct frame *f;
***************
*** 3248,3255 ****
         : FRAME_SCROLL_BAR_PIXEL_WIDTH (f) > 0
         ? FRAME_SCROLL_BAR_PIXEL_WIDTH (f)
         : (FRAME_SCROLL_BAR_COLS (f) * FONT_WIDTH (f->output_data.w32->font)));
!   f->output_data.w32->fringes_extra
!     = FRAME_FRINGE_WIDTH (f);
    f->output_data.w32->pixel_width = CHAR_TO_PIXEL_WIDTH (f, f->width);
    f->output_data.w32->pixel_height = CHAR_TO_PIXEL_HEIGHT (f, f->height);
  
--- 3266,3272 ----
         : FRAME_SCROLL_BAR_PIXEL_WIDTH (f) > 0
         ? FRAME_SCROLL_BAR_PIXEL_WIDTH (f)
         : (FRAME_SCROLL_BAR_COLS (f) * FONT_WIDTH (f->output_data.w32->font)));
!   x_compute_fringe_widths (f, 0);
    f->output_data.w32->pixel_width = CHAR_TO_PIXEL_WIDTH (f, f->width);
    f->output_data.w32->pixel_height = CHAR_TO_PIXEL_HEIGHT (f, f->height);
  
***************
*** 5449,5454 ****
--- 5466,5475 ----
                       "screenGamma", "ScreenGamma", RES_TYPE_FLOAT);
    x_default_parameter (f, parms, Qline_spacing, Qnil,
                       "lineSpacing", "LineSpacing", RES_TYPE_NUMBER);
+   x_default_parameter (f, parms, Qleft_fringe, Qnil,
+                      "leftFringe", "LeftFringe", RES_TYPE_NUMBER);
+   x_default_parameter (f, parms, Qright_fringe, Qnil,
+                      "rightFringe", "RightFringe", RES_TYPE_NUMBER);
  
  
    /* Init faces before x_default_parameter is called for scroll-bar
***************
*** 13236,13244 ****
    f->output_data.w32->dwStyle = WS_BORDER | WS_POPUP | WS_DISABLED;
    f->output_data.w32->parent_desc = FRAME_W32_DISPLAY_INFO (f)->root_window;
    window_prompting = x_figure_window_size (f, parms);
- 
-   /* No fringes on tip frame.  */
-   f->output_data.w32->fringes_extra = 0;
  
    if (window_prompting & XNegative)
      {
--- 13257,13262 ----



reply via email to

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