def _draw_mouse_selection(self): if self._last_mouse_down and self._last_mouse_pos: if self._reorder_mode: p1 = self._last_mouse_down p2 = self._last_mouse_pos linewidth = 5 self.view.draw_arrow(Line(p1, p2), linewidth, PageColor.MouseSelection) else: r = Rect.from_corners(self._last_mouse_down, self._last_mouse_pos) self.view.draw_rectangle(r, None, PageColor.MouseSelection)
def _handle_drag_completion(self): if self._reorder_mode: reorder_line = Line(self._last_mouse_down, self._last_mouse_pos) if self.shift_key_held: self._reorder_line_buffer.append(reorder_line) else: self._reorder_following_line([reorder_line]) else: r = Rect.from_corners(self._last_mouse_down, self._last_mouse_pos) self._select_elems_in_rect(r)