 {$, View, EditorView} = require 'atom'
-{Emitter} = require 'emissary'
 Debug = require 'prolix'
 Delegato = require 'delegato'
 

class MinimapView extends View
  Debug('minimap').includeInto(this)
  Delegato.includeInto(this)
  Emitter.includeInto(this)

  @delegatesMethods 'getLineHeight', 'getLinesCount', 'getMinimapHeight', 'getMinimapScreenHeight', 'getMinimapHeightInLines', 'getFirstVisibleScreenRow', 'getLastVisibleScreenRow', 'addLineClass', 'removeLineClass', 'removeAllLineClasses', toProperty: 'miniEditorView'


  updateScroll: =>
    @updateScrollX()
    @updateScrollY()
    @trigger 'minimap:scroll'

  updatePositions: ->
    @transform @miniVisibleArea[0], @translate(@indicator.x, @indicator.y)
