Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- atom.workspace.observeTextEditors (editor) ->
- lastClick = {x: 0, y: 0}
- editorView = atom.views.getView(editor)
- scrollView = editorView.shadowRoot.getElementsByClassName('scroll-view')[0]
- onMouseUp = () ->
- window.removeEventListener 'mousemove', handleMouseMove
- window.removeEventListener 'mouseup', onMouseUp
- handleMouseMove = (event) ->
- sensitivity = 0.1
- dx = sensitivity * (lastClick.x - event.x)
- dy = sensitivity * (lastClick.y - event.y)
- presenter = editorView.component.presenter
- previousScrollLeft = presenter.getScrollLeft()
- previousScrollTop = presenter.getScrollTop()
- updatedScrollLeft = previousScrollLeft - Math.round(dx)
- updatedScrollTop = previousScrollTop - Math.round(dy)
- presenter.setScrollLeft(updatedScrollLeft)
- presenter.setScrollTop(updatedScrollTop)
- scrollView.addEventListener 'mousedown', (event) ->
- # click with middle button
- if event.button is 1 and process.platform is 'win32'
- [lastClick.x, lastClick.y] = [event.x, event.y]
- window.addEventListener 'mousemove', handleMouseMove
- window.addEventListener 'mouseup', onMouseUp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement