$wg{Layout_Canvas}->bind($last_tag_global, '<1>', sub {&mobileStart();}); $wg{Layout_Canvas}->bind($last_tag_global, '', sub {&mobileMove();}); $wg{Layout_Canvas}->bind($last_tag_global, '', sub {&mobileStop();}); #### sub mobileStart { my $ev = $wg{Layout_Canvas}->XEvent; ($dx_cursor, $dy_cursor) = (0 - $ev->x, 0 - $ev->y); $wg{Layout_Canvas}->raise('current'); print "START MOVE-> $dx_cursor $dy_cursor\n"; } sub mobileMove { my $ev = $wg{Layout_Canvas}->XEvent; $wg{Layout_Canvas}->move('current', $ev->x + $dx_cursor, $ev->y +$dy_cursor); ($dx_cursor, $dy_cursor) = (0 - $ev->x, 0 - $ev->y); print "MOVING-> $dx_cursor $dy_cursor\n"; } sub mobileStop{&mobileMove;}