Changeset 3923

Show
Ignore:
Timestamp:
10/18/05 00:50:41 (3 years ago)
Author:
horiguti
Message:

Lower sensitivity to mouse motion when hide mouse cursor by wheel
rotaion.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/ChangeLog.Meadow

    r3922 r3923  
     12005-10-18  Kyotaro HORIGUCHI  <horiguti@meadowy.org> 
     2 
     3        * mw32term.c (mw32_hide_mouse_by_wheel): Change type to 
     4        Lisp_Object. 
     5        (show_or_hide_mouse_cursor): Lower sensitivity to mouse motion 
     6        when hide mouse cursor by wheel rotaion. 
     7         
    182005-10-16  MIYOSHI Masanori  <miyoshi@meadowy.org> 
    29 
  • trunk/src/mw32term.c

    r3922 r3923  
    747747                       | WS_EX_LAYERED); 
    748748    } 
    749   /* Caloing SetLayeredWindowAttributes to update displaed frame image 
    750      when alpha is used. */ 
     749 
     750  /* Calling SetLayeredWindowAttributes to update displayed frame 
     751     image when alpha is used. */ 
    751752  if (newalpha >= 0) 
    752753    SetLayeredWindowAttributes (FRAME_MW32_WINDOW (f), 
     
    37143715int mw32_lbutton_to_emacs_button; 
    37153716int mw32_hide_mouse_timeout; 
    3716 int mw32_hide_mouse_by_wheel; 
    37173717int mw32_hide_mouse_on_key; 
     3718Lisp_Object mw32_hide_mouse_by_wheel; 
    37183719 
    37193720static void 
     
    41974198{ 
    41984199  static unsigned int mouse_hide_timer = 0; 
     4200  static int hidden_by_wheel = 0; 
     4201  static POINT hidden_by_wheel_point; 
     4202  int hidden_by_wheel_insensitive_range = 10; 
    41994203 
    42004204  if (mw32_inhibit_hide_mouse) 
     
    42034207          ShowCursor (TRUE); 
    42044208      dpyinfo->mouse_cursor_stat = 0; 
     4209      hidden_by_wheel = 0; 
    42054210 
    42064211      if (dpyinfo->mouse_face_hidden) 
     
    42264231 
    42274232    case WM_NCMOUSEMOVE: 
    4228       if (last_mouse_motion_message.lParam != msg.lParam) 
     4233      if (hidden_by_wheel && NUMBERP (mw32_hide_mouse_by_wheel)) 
     4234        hidden_by_wheel_insensitive_range = XINT (mw32_hide_mouse_by_wheel); 
     4235         
     4236           
     4237      if (hidden_by_wheel 
     4238          ? ((abs (LOWORD (msg.lParam) - hidden_by_wheel_point.x) 
     4239              > hidden_by_wheel_insensitive_range) 
     4240             || (abs (HIWORD (msg.lParam) - hidden_by_wheel_point.y) 
     4241                 > hidden_by_wheel_insensitive_range)) 
     4242          : last_mouse_motion_message.lParam != msg.lParam) 
    42294243        { 
    42304244          last_mouse_motion_message = msg; 
    42314245          last_mouse_movement_time = msg.time; 
     4246 
     4247          hidden_by_wheel = 0; 
    42324248 
    42334249          if (dpyinfo->mouse_cursor_stat < 0) 
     
    42654281                  ShowCursor (FALSE); 
    42664282                  dpyinfo->mouse_cursor_stat = -1; 
     4283                  hidden_by_wheel = 0; 
     4284 
    42674285                  if (!dpyinfo->mouse_face_hidden 
    42684286                      && INTEGERP (Vmouse_highlight)) 
     
    42864304        }       
    42874305      dpyinfo->mouse_face_hidden = 0; 
     4306      hidden_by_wheel = 0; 
    42884307       
    42894308      FRAME_MW32_OUTPUT (XFRAME (selected_frame))->current_cursor 
     
    43384357          dpyinfo->mouse_cursor_stat = -1; 
    43394358          ShowCursor (FALSE); 
     4359          hidden_by_wheel = 0; 
    43404360 
    43414361          if (!dpyinfo->mouse_face_hidden && INTEGERP (Vmouse_highlight)) 
     
    43534373#ifdef W32_INTELLIMOUSE 
    43544374    case WM_MOUSEWHEEL: 
    4355       if (mw32_hide_mouse_by_wheel && dpyinfo->mouse_cursor_stat == 0) 
     4375      hidden_by_wheel_point.x = LOWORD (msg.lParam); 
     4376      hidden_by_wheel_point.y = HIWORD (msg.lParam); 
     4377      ScreenToClient (FRAME_MW32_WINDOW (XFRAME (selected_frame)), 
     4378                      &hidden_by_wheel_point); 
     4379 
     4380      if (! NILP (mw32_hide_mouse_by_wheel) && dpyinfo->mouse_cursor_stat == 0) 
    43564381        { 
    43574382          dpyinfo->mouse_cursor_stat = -1; 
    43584383          ShowCursor (FALSE); 
    4359            
     4384 
     4385          hidden_by_wheel = 1; 
     4386 
    43604387          if (!dpyinfo->mouse_face_hidden && INTEGERP (Vmouse_highlight)) 
    43614388            { 
     
    67956822              doc: /* Mouse cursor will hide after some rest. (in milliseconds) 
    67966823Cursor will not hide if 0. (default) */); 
    6797   DEFVAR_BOOL ("w32-hide-mouse-by-wheel", &mw32_hide_mouse_by_wheel, 
     6824  DEFVAR_LISP ("w32-hide-mouse-by-wheel", &mw32_hide_mouse_by_wheel, 
    67986825               doc: /* Non nil means mouse cursor will hide on mouse wheel rotation. */); 
    67996826  DEFVAR_BOOL ("w32-hide-mouse-on-key", &mw32_hide_mouse_on_key, 
     
    68106837  mw32_hide_mouse_timeout = 0;    /* infinite */ 
    68116838  mw32_hide_mouse_on_key = 0; 
     6839  mw32_hide_mouse_by_wheel = Qnil; 
    68126840  mw32_lbutton_to_emacs_button = 0; 
    68136841  mw32_mbutton_to_emacs_button = 2;