2012-06-29 4 views
0

Gtk 고정 항목에서 코드 이동이 불안정하고 일반적으로 느린 컨트롤을 움직이는 데 문제가 있습니다. 나는 이것을하기위한 적절한 방법을 찾으려고 노력했지만, 모두 동일한 결과를 나타냈다. 내가 생각하는 코드는 관련이Gtk로 마우스로 컨트롤 이동

은 다음과 같습니다

 view.button_press_event.connect((bp) => { 
      view.set_data("in_motion", true); 

      int pointX = 0; int pointY = 0; 
      fixed.get_pointer(out pointX, out pointY); 
      int origX = 0; int origY = 0; 
      view.translate_coordinates(fixed, 0,0, out origX, out origY); 

      view.set_data("startx", origX + origX); 
      view.set_data("starty", origY + origY); 
      view.set_data("startsx", pointX); 
      view.set_data("startsy", pointY); 
      view.is_focus = true; 
      view.has_focus = true; 
      return false; 
     }); 
     view.button_release_event.connect((bp) => { 
      view.set_data("in_motion", false); 
      return false; 
     }); 
     view.motion_notify_event.connect((me) => { 
      // TODO: Make this less glitchy somehow 
      if(view.get_data<bool>("in_motion") == true){ 
       int x = view.get_data<int>("startx") + (int)me.x - view.get_data<int>("startsx"); 
       int y = view.get_data<int>("starty") + (int)me.y - view.get_data<int>("startsy"); 
       ((Fixed)view.parent).move(view, x,y); 
      } 
      return false; 
     }); 

답변