Advertisement
Guest User

Untitled

a guest
Oct 6th, 2015
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.12 KB | None | 0 0
  1. atom.workspace.observeTextEditors (editor) ->
  2. lastClick = {x: 0, y: 0}
  3.  
  4. editorView = atom.views.getView(editor)
  5. scrollView = editorView.shadowRoot.getElementsByClassName('scroll-view')[0]
  6.  
  7. onMouseUp = () ->
  8. window.removeEventListener 'mousemove', handleMouseMove
  9. window.removeEventListener 'mouseup', onMouseUp
  10.  
  11. handleMouseMove = (event) ->
  12. sensitivity = 0.1
  13.  
  14. dx = sensitivity * (lastClick.x - event.x)
  15. dy = sensitivity * (lastClick.y - event.y)
  16.  
  17. presenter = editorView.component.presenter
  18. previousScrollLeft = presenter.getScrollLeft()
  19. previousScrollTop = presenter.getScrollTop()
  20.  
  21. updatedScrollLeft = previousScrollLeft - Math.round(dx)
  22. updatedScrollTop = previousScrollTop - Math.round(dy)
  23.  
  24. presenter.setScrollLeft(updatedScrollLeft)
  25. presenter.setScrollTop(updatedScrollTop)
  26.  
  27. scrollView.addEventListener 'mousedown', (event) ->
  28. # click with middle button
  29. if event.button is 1 and process.platform is 'win32'
  30. [lastClick.x, lastClick.y] = [event.x, event.y]
  31.  
  32. window.addEventListener 'mousemove', handleMouseMove
  33. window.addEventListener 'mouseup', onMouseUp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement