Commit Graph

272 Commits

Author SHA1 Message Date
Antonio Scandurra
a812f282a2 Measure decorations only for visible editors 2016-01-14 12:36:23 -07:00
Antonio Scandurra
f81843d465 Merge branch 'master' into as-block-decorations 2016-01-14 09:30:06 -07:00
Nathan Sobo
6669703677 Force a sync render when measuring if we don’t have a DOM node for a row 2016-01-04 16:40:56 -07:00
Nathan Sobo
9f6fbacddd Don’t clip screen positions in yardstick
By clipping positions only in the TextEditorComponent, we can ensure
that we check for the presence of a rendered line for the clipped row
value.
2016-01-04 16:32:38 -07:00
Antonio Scandurra
07234c5109 Resize all block decorations when width changes 2015-12-19 12:50:58 +01:00
Antonio Scandurra
8710089cb7 Support only Shadow DOM enabled editors 2015-12-18 15:43:23 +01:00
Antonio Scandurra
db9f67b9a5 🔥 Remove maxRow parameter 2015-12-18 15:41:46 +01:00
Antonio Scandurra
6a403e441e Start integrating tree-based LineTopIndex 2015-12-18 10:41:21 +01:00
Antonio Scandurra
8c1f0b0e21 Merge branch 'master' into as-block-decorations
# Conflicts:
#	spec/fake-lines-yardstick.coffee
#	spec/lines-yardstick-spec.coffee
#	spec/text-editor-presenter-spec.coffee
#	src/lines-yardstick.coffee
#	src/text-editor-component.coffee
#	src/text-editor-presenter.coffee
2015-12-18 09:59:12 +01:00
Antonio Scandurra
cfb30c795d Use an updated version of LineTopIndex 2015-12-14 15:04:54 +01:00
Nathan Sobo
85c6139579 Don’t force DOM updates in LinesYardstick
Instead, determine the need for a DOM update in the component before
measuring with the lines yardstick, and break `updateSync` into two
explicit pre- and post-measurement phases.
2015-12-10 14:47:05 -07:00
Antonio Scandurra
cc4344735e 💚 Fix specs 2015-12-03 17:11:38 +01:00
Antonio Scandurra
937116a280 Render only visible and yet-to-be-measured block decorations 2015-12-03 11:26:45 +01:00
Antonio Scandurra
9ef3ecf378 Handle off-screen measurements properly 2015-12-02 18:34:57 +01:00
Antonio Scandurra
f30e4ccc9d Use the new LineTopIndex in TextEditorPresenter 2015-12-02 16:01:55 +01:00
Antonio Scandurra
d24290357a Implement block decorations in the components land 2015-12-01 13:36:23 +01:00
Antonio Scandurra
da1fd69a1f Start implementing BlockDecorationsComponent 2015-11-30 15:48:09 +01:00
Max Brunsfeld
fefb387d3c Merge branch 'master' into mb-synchronous-scroll-position
Conflicts:
	src/text-editor-presenter.coffee
	src/text-editor.coffee
2015-11-10 16:23:39 -08:00
Nathan Sobo
4b5e4d02eb Use real clock in text-editor-component-spec
This will make it much easier to test asynchronous update logic.
2015-11-09 00:35:18 -07:00
Max Brunsfeld
b58752da38 Keep model's logical scroll position up to date
* Remove scrollRow and scrollColumn properties from the presenter
* Assign presenter's scrollTop and scrollLeft based on model's first visible
  screen row and column, once the presenter has the required measurements.
2015-11-06 11:16:56 -08:00
Antonio Scandurra
40e3b08a8c Add TextEditorElement::getMaxScrollTop 2015-10-20 08:36:27 +02:00
Nathan Sobo
4c51d29868 Merge remote-tracking branch 'origin/master' into ns-alternative-test-env 2015-10-07 16:10:29 -05:00
Nathan Sobo
3636eb35d8 Merge pull request #8811 from atom/as-double-reflow-measurements
DOM-based measurements
2015-10-07 15:43:59 -05:00
Antonio Scandurra
097a035dc4 Don't use atom globals in OverlayManager 2015-10-07 15:25:02 -05:00
Antonio Scandurra
534f038631 Don't use atom globals in TokenIterator 2015-10-07 15:25:02 -05:00
Antonio Scandurra
eba18092fb Don't use atom globals in LinesComponent 2015-10-07 15:25:02 -05:00
Antonio Scandurra
6fed847cce Don't use atom globals in gutter components 2015-10-07 15:25:02 -05:00
Antonio Scandurra
112ee01bd9 Don't use atom globals in TextEditorElement
...except when the element is instantiated via HTML
2015-10-07 15:25:01 -05:00
Antonio Scandurra
8da83022f1 🔥 Remove useless null assignment 2015-10-07 19:51:32 +02:00
Antonio Scandurra
1df9162389 Clear references to scrollbar components 2015-10-07 19:02:45 +02:00
Antonio Scandurra
a62341b548 Avoid capturing this when handling dragging 2015-10-07 19:02:01 +02:00
Antonio Scandurra
581ffb1360 🐎 Avoid to measure invisible lines when dragging 2015-10-05 16:05:17 +02:00
Antonio Scandurra
63ce6cae03 🐛 Fix an issue where yardstick cache wasn't being emptied 2015-10-01 14:20:53 +02:00
Antonio Scandurra
243dea1a1c 🎨 Move pixel-related code to LinesYardstick
* 🔥 Remove useless 'scoped char width' methods
2015-10-01 11:03:25 +02:00
Antonio Scandurra
bb709f58d9 🐎 Cache pixel positions 2015-09-30 16:15:49 +02:00
Antonio Scandurra
698a5ac421 💚 2015-09-29 17:37:43 +02:00
Antonio Scandurra
72093da1a7 🔥 🎉 Remove scoped character width 2015-09-29 17:32:20 +02:00
Antonio Scandurra
123594dbbf Implement ::screenPositionForPixelPosition in LinesYardstick 2015-09-29 17:13:49 +02:00
Antonio Scandurra
40e5f264c5 Pass LinesYardstick to TextEditorPresenter 2015-09-29 11:47:46 +02:00
Antonio Scandurra
49577313e4 Remove yardstick to start with a clean slate 2015-09-29 10:25:54 +02:00
Antonio Scandurra
47b6f043e9 Merge branch 'master' into as-double-reflow-measurements
# Conflicts:
#	src/text-editor-presenter.coffee
2015-09-28 11:19:56 +02:00
Antonio Scandurra
f17767a2bc Merge pull request #8905 from atom/as-display-buffer-logical-coordinates
Use logical coordinates in DisplayBuffer
2015-09-26 18:05:10 +02:00
Antonio Scandurra
051baebd9c Shim ::setHeight and ::getHeight to TextEditorElement 2015-09-25 11:15:41 +02:00
Antonio Scandurra
33a67ad3c9 Shim ::setWidth and ::getWidth to TextEditorElement 2015-09-25 11:05:41 +02:00
Antonio Scandurra
b0d70a63c6 Prevent default event for actions that won't lead to scrolling 2015-09-25 10:55:03 +02:00
Antonio Scandurra
d65b5d1793 Revert "Maintain scroll history"
This reverts commit 2e6bb53303.
2015-09-25 10:31:48 +02:00
Antonio Scandurra
2e6bb53303 Maintain scroll history 2015-09-24 16:25:58 +02:00
Antonio Scandurra
270334b713 Adjust pixelRectForScreenRange to return absolute values 2015-09-24 11:30:46 +02:00
Antonio Scandurra
19ca87f79f 💚 Fix specs 2015-09-24 11:27:54 +02:00
Antonio Scandurra
535a9da946 wip 2015-09-24 11:21:26 +02:00