code: def pa_zoom_origin(self, viewer, event, msg=True):
          
          event = self._pa_synth_scroll_event(event)
          if event.state != 'move':
              return False
          origin = (event.data_x, event.data_y)
          self._sc_zoom(viewer, event, msg=msg, origin=origin)
          return True
docs: Like pa_zoom(), but pans the image as well to keep the
          coordinate under the cursor in that same position relative
          to the window.