Commit Graph

12912 Commits

Author SHA1 Message Date
Antonio Scandurra
c79cc87172 Prepare DOMElementPool to account for text nodes 2015-10-06 10:02:04 +02:00
Antonio Scandurra
b31d3d1a3f Revert "🐎 Faster line number calculation"
This reverts commit e04aef0af3.
2015-10-06 09:16:29 +02:00
Antonio Scandurra
d5dac3459b Merge branch 'master' into as-double-reflow-measurements 2015-10-06 08:36:22 +02:00
Nathan Sobo
a64d5b18e2 Fix linter errors 2015-10-05 15:48:20 -06:00
Nathan Sobo
ddb08d0c46 Avoid redundant onDidAddPaneItem notifications
Refs #9012
2015-10-05 12:34:49 -06:00
Antonio Scandurra
e04aef0af3 🐎 Faster line number calculation 2015-10-05 17:36:28 +02:00
Antonio Scandurra
1c56c3f951 🎨 2015-10-05 16:32:51 +02:00
Antonio Scandurra
0bee6a0cc1 Avoid invalidating state when clearing screen rows to measure 2015-10-05 16:10:58 +02:00
Antonio Scandurra
581ffb1360 🐎 Avoid to measure invisible lines when dragging 2015-10-05 16:05:17 +02:00
Antonio Scandurra
56488748db 🔥 Remove dead code 2015-10-05 14:37:22 +02:00
Antonio Scandurra
3df6ed8405 Merge branch 'master' into as-double-reflow-measurements 2015-10-03 15:53:34 +02:00
Antonio Scandurra
beb7896234 Enable subpixel font scaling
For certain font sizes, enabling `textRendering: optimizeLegibility` caused a
bunch of measurement-related issues. You can reproduce it by setting the following in your stylesheet:

```
atom-text-editor {
  font-size: 14px;
  text-rendering: optimizeLegibility;
}
```

Although I wanted to defer subpixel font scaling to a later moment, it seems
like Chrome needs to have it enabled in order to properly support the
"legibility" path for text rendering. (I guess this is part of the reason why
the Chromium team enabled it by default at some point in the past.)
2015-10-02 18:14:09 +02:00
Antonio Scandurra
b7e373fdca 🐛 Correctly measure RTL characters
This will fix also the "hidden cursor" issue we were experiencing.

/cc: @izuzak
2015-10-02 12:51:10 +02:00
Antonio Scandurra
2ffa7da59e 🐎 Remove rows to measure in the next frame 2015-10-02 12:38:19 +02:00
Jeremy Ebneyamin
5b522f70c2 🐛 Fix Windows context menu shortcut
Fix the bug where Open With Atom on Windows machines will fail for paths
containing spaces. Wraps quotes around the path to the Atom executable
in the reg key string.
2015-10-02 00:06:30 -07:00
Nathan Sobo
9ec6bcd9c6 Merge pull request #8931 from ssorallen/texteditor-decoratemarker
Link Gutter::decorateMarker to TextEditor::decorateMarker
2015-10-01 13:30:31 -06:00
Ross Allen
1670357293 Link Gutter::decorateMarker to TextEditor::decorateMarker
`Gutter::decorateMarker` passes its `decorationParams` object through to
`TextEditor::decorateMarker`. Rather than duplicate documentation and
fall out-of-date (as was surfaced in #8920), link the
`TextEditor::decorateMarker` as the canonical docs location.
2015-10-01 10:08:36 -07:00
Max Brunsfeld
2cd4826e62 Merge pull request #8862 from phord/dot-git-files
🐛 Teach Atom to read .git files
2015-10-01 09:32:49 -07:00
Antonio Scandurra
e1c3d2ef57 🐎 Avoid recomputing state for lines twice 2015-10-01 17:42:44 +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
b16d2a59f2 💚 2015-10-01 13:58:13 +02:00
Antonio Scandurra
b6a0db916f 🐛 Fix wrong pixel to screen position conversion 2015-10-01 13:05:50 +02:00
Antonio Scandurra
e94ff33d83 🐛 Exclude invalid tiles 2015-10-01 12:58:02 +02:00
Antonio Scandurra
116f92d816 🐎 Mark soft-wrapped lines in TokenizedLine 2015-10-01 11:15:55 +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
Nathan Sobo
1940d4584b Fix typos
/cc @izuzak since I don’t want to open a PR for this
2015-09-30 15:01:52 -06:00
Antonio Scandurra
58219a243e Slightly more precise conversion to screen positions 2015-09-30 18:20:48 +02:00
Antonio Scandurra
2b6973d4b1 Fix a 🐛 where some invalid lines were being measured 2015-09-30 17:44:43 +02:00
Antonio Scandurra
bca3be32e6 Avoid to call ::prepareScreenRows explicitly 2015-09-30 16:23:49 +02:00
Antonio Scandurra
bb709f58d9 🐎 Cache pixel positions 2015-09-30 16:15:49 +02:00
Antonio Scandurra
59d6974f89 🐎 Remove AcceptFilter
...so that Chrome doesn't need to switch to user space when iterating over line
nodes.
2015-09-30 16:03:36 +02:00
Antonio Scandurra
0edb69047b 🐛 Move accidentally leftover statement 2015-09-30 15:39:37 +02:00
Antonio Scandurra
496120a684 🐎 Compute lines state only once 2015-09-30 15:33:09 +02:00
Antonio Scandurra
e43e1ed22e Merge branch 'master' into as-double-reflow-measurements
# Conflicts:
#	src/text-editor-presenter.coffee
2015-09-30 12:40:55 +02:00
Antonio Scandurra
214f42b2e7 🎨 Unify ::updateScroll... and ::commitPendingScroll... 2015-09-30 12:32:07 +02:00
Antonio Scandurra
c1ef87ac8b 🎨 2015-09-30 10:35:19 +02:00
Antonio Scandurra
0f8041c611 Merge branch 'master' into as-fix-deprecations 2015-09-30 10:23:38 +02:00
Antonio Scandurra
5cb63c8b90 Add feature flag to detect logical display buffer 2015-09-30 10:16:47 +02:00
Antonio Scandurra
cc98cab917 Better rows per page calculation 2015-09-30 09:17:43 +02:00
Antonio Scandurra
5cfc5b67ae Allow listening for TextEditorElement events before attaching it
Fixes atom/wrap-guide#43

/cc: @maxbrunsfeld
2015-09-30 09:09:33 +02:00
Max Brunsfeld
17d962f428 Merge pull request #8983 from atom/mb-use-key-path-helpers
Use key-path-helpers module instead of underscore-plus
2015-09-29 09:55:26 -07: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
5dcfea0a82 💚 Fix TextEditorPresenter specs 2015-09-29 16:11:59 +02:00
Antonio Scandurra
5270a1da1c Use LinesYardstick in pixelPositionForScreenPosition 2015-09-29 15:44:05 +02:00
Antonio Scandurra
e6a72b794c Temporarily disable caching from yardstick
This will enable us to avoid worrying about cache invalidation while integrating
`LinesYardstick` into `TextEditorPresenter`.
2015-09-29 15:16:51 +02:00
Antonio Scandurra
40e5f264c5 Pass LinesYardstick to TextEditorPresenter 2015-09-29 11:47:46 +02:00
Antonio Scandurra
b481250757 Always render the longest screen row 2015-09-29 11:41:44 +02:00
Antonio Scandurra
a8bb011f89 Split presenter state in pre/post measurement 2015-09-29 11:26:11 +02:00