Antonio Scandurra
937116a280
Render only visible and yet-to-be-measured block decorations
2015-12-03 11:26:45 +01:00
Antonio Scandurra
fcb8a13f4a
Use buffer marker events to avoid conversions
2015-12-03 10:48:24 +01:00
Antonio Scandurra
9ef3ecf378
Handle off-screen measurements properly
2015-12-02 18:34:57 +01:00
Antonio Scandurra
87c8694d01
Use ::bottomPixelPositionForRow to scroll logically
2015-12-02 17:21:12 +01:00
Antonio Scandurra
5228471bc5
Write failing spec for measuring invisible elements
2015-12-02 17:04:33 +01:00
Antonio Scandurra
e10fdc234b
🐛 Coordinate conversion is hard
2015-12-02 16:26:10 +01:00
Antonio Scandurra
5bcdcbeef6
🎨
2015-12-02 16:13:44 +01:00
Antonio Scandurra
f30e4ccc9d
Use the new LineTopIndex in TextEditorPresenter
2015-12-02 16:01:55 +01:00
Antonio Scandurra
1f20ab5170
Use LinearLineTopIndex in BlockDecorationsPresenter
2015-12-02 14:49:36 +01:00
Antonio Scandurra
60b1d20667
🔥 Remove old code
2015-12-02 09:55:47 +01:00
Antonio Scandurra
1e07b8df05
Handle position between rows correctly
2015-12-02 09:13:06 +01:00
Antonio Scandurra
e0b1cabb21
Implement a linear structure for block decoration coordinates
...
We still cannot handle `::rowForTopPixelPosition` when the passed top position
is in the middle of two rows and there's also a block decoration. We'll get
there eventually.
Also, the specs in this commit should serve as a good test suite for the future
logarithmic data structure.
2015-12-01 19:33:37 +01:00
Antonio Scandurra
d24290357a
Implement block decorations in the components land
2015-12-01 13:36:23 +01:00
Antonio Scandurra
47b16c513c
Make sure cursors are updated with respect to block decorations
2015-12-01 09:48:11 +01:00
Antonio Scandurra
da1fd69a1f
Start implementing BlockDecorationsComponent
2015-11-30 15:48:09 +01:00
Antonio Scandurra
526a97562e
Include block decorations as a separate object on presenter's state
2015-11-30 15:05:15 +01:00
Antonio Scandurra
8a54a2c15b
Use a boolean in each line state object
2015-11-30 14:44:58 +01:00
Antonio Scandurra
539a5b0ae7
🐎 Do as little pixel conversion as possible
...
We desperately need a tree-based data structure. 😢
2015-11-30 14:34:16 +01:00
Antonio Scandurra
b998e7f2d9
🐎 Incremental updates for block decorations
2015-11-30 14:03:45 +01:00
Antonio Scandurra
0419fb16a0
🎨 Improve names a bit
2015-11-30 10:19:53 +01:00
Antonio Scandurra
ef851a822c
🎨 Move block decoration related stuff into its own presenter
2015-11-30 10:12:44 +01:00
Antonio Scandurra
0159d5c31e
🎨
2015-11-27 16:58:08 +01:00
Antonio Scandurra
6ad21307cc
Provide blockDecorationsHeight for each line number
2015-11-27 16:27:01 +01:00
Antonio Scandurra
6365c86992
Include blockDecorations inside each line's state
2015-11-27 14:32:01 +01:00
Antonio Scandurra
6611cf8353
Force cursor to be tall as ::lineHeight
2015-11-27 14:05:05 +01:00
Antonio Scandurra
587f862612
Use LinesYardstick consistently
2015-11-27 12:55:09 +01:00
Antonio Scandurra
e1e06580c1
Move position conversion in LinesYardstick
2015-11-27 12:47:47 +01:00
Antonio Scandurra
1a8d7b486d
Remove caching by screen rows
...
Because we cannot use them as a cache key, because markers' position can change
at any time. Performance-wise this is slow with many markers, as we need to do a
lot of buffer-to-screen conversions.
2015-11-27 12:29:14 +01:00
Antonio Scandurra
0b5638f749
Make sure tile positions are computed correctly
2015-11-27 10:47:25 +01:00
Antonio Scandurra
6e2587bc8c
🐎 Cache screen row height
...
I am trying to defer the usage of fancy algorithms as much as possible. The
current one is linear and should probably be changed, but it performs quite
decently for the time being. Maybe with some more caching we could even avoid to
implement a tree data structure?
2015-11-27 10:30:44 +01:00
Antonio Scandurra
a9cb1bda8d
Use ::positionForRow in ::updateTilesState
...
The algorithm is still super sloooow 🐌 , but we'll fix that in a later
commit.
2015-11-27 10:16:38 +01:00
Antonio Scandurra
1b5fd18630
Use ::rowForPosition and ::positionForRow instead of simple math
2015-11-27 09:54:14 +01:00
Antonio Scandurra
02651b7a58
🎨 Rename to ::setBlockDecorationDimensions
2015-11-26 16:10:08 +01:00
Antonio Scandurra
5ac7ffcf48
🎨 Rename to ::blockDecorationsDimensionsById
2015-11-26 16:09:21 +01:00
Antonio Scandurra
96863eef1c
Ensure content scrollHeight takes block decorations into account
...
Seems like all these properties in the presenter's state share a common
contract, which we should probably extract. It could also mean there's an
underlying design problem, because we are testing two dimensions of the same
behavior in a single spec.
2015-11-26 15:44:59 +01:00
Antonio Scandurra
30da4bdb0c
Ensure gutter scroll height takes block decorations into account
2015-11-26 15:43:34 +01:00
Antonio Scandurra
89d9a2ce83
🎨 Create block decorations in TextEditor
...
This is just an experiment, although I like that we can hide some information
(irrelevant to the user) behind a clean API.
2015-11-26 15:40:08 +01:00
Antonio Scandurra
c8254566ef
Change verticalScrollbar's height according to block decorations
2015-11-26 15:34:45 +01:00
Cheng Zhao
aca12a8dc8
⬆️ electron@0.34.5
...
Fix #9584 .
2015-11-26 16:09:40 +08:00
simurai
c4fa042395
⬆️ language-less@v0.29.0
2015-11-26 15:29:05 +09:00
Wliu
6b0cce6a31
Merge pull request #9668 from atom/wl-docs-skip-ci
...
Suggest [ci skip] in documentation-only commits
2015-11-25 21:39:54 -05:00
Antonio Scandurra
508e8b02c3
📝 Mention blurry font fix in CHANGELOG
2015-11-25 11:02:17 +01:00
Antonio Scandurra
5467409aae
Merge pull request #9797 from atom/as-bump-electron-patch
...
Upgrade to Electron 0.34.4
2015-11-25 10:58:16 +01:00
Wliu
f159e81de2
⬆️ language-java@0.17.0
2015-11-24 15:36:53 -05:00
Wliu
4977b6180e
⬆️ language-css@0.35.1
2015-11-24 15:35:26 -05:00
Nathan Sobo
9c43702339
Add to changelog
2015-11-24 12:05:15 -07:00
Nathan Sobo
8978691831
Merge pull request #9773 from atom/mb-ns-prepare-stack-trace-fixes
...
Allow Error.prepareStackTrace to be temporarily reassigned
2015-11-24 11:59:53 -07:00
Nathan Sobo
b101e57394
Add to release notes
2015-11-24 11:45:32 -07:00
Nathan Sobo
9df43d4fb5
Merge pull request #9796 from atom/as-native-key-bindings
...
Use CommandRegistry to listen for native-key-bindings
2015-11-24 11:30:41 -07:00
Antonio Scandurra
6493673d18
⬆️ electron 0.34.4
2015-11-24 17:49:44 +01:00