class_docstr: Instances of this class are delivered to items in a :class:`GraphicsScene <pyqtgraph.GraphicsScene>` via their mouseDragEvent() method when the item is being mouse-dragged. 
code: def __init__(
      self, moveEvent, pressEvent, lastEvent, start=False, finish=False
  ):
      self.start = start
      self.finish = finish
      self.accepted = False
      self.currentItem = None
      self._buttonDownScenePos = {}
      self._buttonDownScreenPos = {}
      for btn in [
          QtCore.Qt.MouseButton.LeftButton,
          QtCore.Qt.MouseButton.MiddleButton,
          QtCore.Qt.MouseButton.RightButton,
      ]:
          self._buttonDownScenePos[btn] = moveEvent.buttonDownScenePos(
              btn
          )
          self._buttonDownScreenPos[
              btn
          ] = moveEvent.buttonDownScreenPos(btn)
      self._scenePos = moveEvent.scenePos()
      self._screenPos = moveEvent.screenPos()
      if lastEvent is None:
          self._lastScenePos = pressEvent.scenePos()
          self._lastScreenPos = pressEvent.screenPos()
      else:
          self._lastScenePos = lastEvent.scenePos()
          self._lastScreenPos = lastEvent.screenPos()
      self._buttons = moveEvent.buttons()
      self._button = pressEvent.button()
      self._modifiers = moveEvent.modifiers()
      self.acceptedItem = None
  
imports: import weakref
  from time import perf_counter
  from ..Point import Point
  from ..Qt import QtCore
label_desc: Use image node_id 1 to create a new MouseDragEvent object from inherited base classes: object with example: obj = MouseDragEvent(moveEvent, pressEvent, lastEvent, start, finish)