mirror of
https://github.com/atom/atom.git
synced 2026-04-28 03:01:47 -04:00
🎨
This commit is contained in:
@@ -31,7 +31,6 @@ describe "LinesYardstick", ->
|
||||
lineNode
|
||||
|
||||
mockPresenter =
|
||||
isBatching: -> true
|
||||
setScreenRowsToMeasure: (screenRows) -> screenRowsToMeasure = screenRows
|
||||
clearScreenRowsToMeasure: -> setScreenRowsToMeasure = []
|
||||
getPreMeasurementState: ->
|
||||
|
||||
@@ -12,8 +12,6 @@ class LinesYardstick
|
||||
@pixelPositionsByLineIdAndColumn = {}
|
||||
|
||||
prepareScreenRowsForMeasurement: (screenRows) ->
|
||||
return unless @presenter.isBatching()
|
||||
|
||||
@presenter.setScreenRowsToMeasure(screenRows)
|
||||
@lineNodesProvider.updateSync(@presenter.getPreMeasurementState())
|
||||
|
||||
@@ -173,17 +171,17 @@ class LinesYardstick
|
||||
|
||||
left + width - offset
|
||||
|
||||
pixelRectForScreenRange: (screenRange) ->
|
||||
pixelRectForScreenRange: (screenRange, measureVisibleLinesOnly) ->
|
||||
lineHeight = @model.getLineHeightInPixels()
|
||||
|
||||
if screenRange.end.row > screenRange.start.row
|
||||
top = @pixelPositionForScreenPosition(screenRange.start).top
|
||||
top = @pixelPositionForScreenPosition(screenRange.start, true, measureVisibleLinesOnly).top
|
||||
left = 0
|
||||
height = (screenRange.end.row - screenRange.start.row + 1) * lineHeight
|
||||
width = @presenter.getScrollWidth()
|
||||
else
|
||||
{top, left} = @pixelPositionForScreenPosition(screenRange.start, false)
|
||||
{top, left} = @pixelPositionForScreenPosition(screenRange.start, false, measureVisibleLinesOnly)
|
||||
height = lineHeight
|
||||
width = @pixelPositionForScreenPosition(screenRange.end, false).left - left
|
||||
width = @pixelPositionForScreenPosition(screenRange.end, false, measureVisibleLinesOnly).left - left
|
||||
|
||||
{top, left, width, height}
|
||||
|
||||
@@ -1128,7 +1128,7 @@ class TextEditorPresenter
|
||||
|
||||
pixelPositionForScreenPosition: (screenPosition, clip=true) ->
|
||||
position =
|
||||
@linesYardstick.pixelPositionForScreenPosition(screenPosition, clip)
|
||||
@linesYardstick.pixelPositionForScreenPosition(screenPosition, clip, true)
|
||||
position.top -= @getScrollTop()
|
||||
position.left -= @getScrollLeft()
|
||||
|
||||
@@ -1144,7 +1144,7 @@ class TextEditorPresenter
|
||||
@hasPixelRectRequirements() and @boundingClientRect? and @windowWidth and @windowHeight
|
||||
|
||||
pixelRectForScreenRange: (screenRange) ->
|
||||
rect = @linesYardstick.pixelRectForScreenRange(screenRange)
|
||||
rect = @linesYardstick.pixelRectForScreenRange(screenRange, true)
|
||||
rect.top -= @getScrollTop()
|
||||
rect.left -= @getScrollLeft()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user