Antonio Scandurra
d10fc6ce3f
Fix crash when selections exceed the container's bounds
2021-04-02 13:49:44 +02:00
Antonio Scandurra
ae447ca1d9
Layout lines and line numbers sequentially
...
Doing things in parallel has a constant factor associated with it (e.g.,
spawning threads and coordinating them) that dwarves its benefits on a
code path like this where things take < 2-3ms when done sequentially.
2021-04-02 10:20:29 +02:00
Antonio Scandurra
e487aa5cbd
Don't render glyphs located outside of BufferElement's bounds
2021-04-01 11:19:50 +02:00
Antonio Scandurra and Nathan Sobo
d5a9bab4a0
Fix tabs layout
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-03-31 17:57:00 +02:00
Antonio Scandurra and Nathan Sobo
c55d99022e
Handle non-precise scroll events in BufferElement
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-03-31 16:25:21 +02:00
Antonio Scandurra
d853dbb048
Render borders correctly when only a subset of the border is visible
2021-03-31 14:53:34 +02:00
Nathan Sobo and Max Brunsfeld
dbf9a5a466
Restore blink_cursors
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-03-30 18:12:45 -06:00
Nathan Sobo and Max Brunsfeld
77b6a29f5f
Optimize grouping of path sprites by layer/atlas
...
Avoid filtering sprites redundantly on every layer and allocating intermediate vectors to group by atlas.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-03-30 18:03:00 -06:00
Nathan Sobo and Max Brunsfeld
4cdce070c4
Reduce selection corner radius
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-03-30 16:57:21 -06:00
Nathan Sobo and Max Brunsfeld
02ace16176
Handle selection corners that are smaller than the corner radius
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-03-30 16:21:24 -06:00
Max Brunsfeld
011d4d8437
wip
2021-03-30 12:36:18 -07:00
Max Brunsfeld and Nathan Sobo
f8cc3996b2
Paint selections using new path API
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-03-30 11:52:58 -07:00
Antonio Scandurra
1903f63c45
WIP: Add anti-aliasing to paths and render them after spriting them
2021-03-30 16:37:12 +02:00
Antonio Scandurra
98845663a9
Render stencils to atlas
2021-03-30 11:28:35 +02:00
Max Brunsfeld and Nathan Sobo
0b12779e62
WIP: Render path winding numbers to stencil buffer
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-03-29 16:28:35 -07:00
Antonio Scandurra
a88b63d83c
Ensure FoldMap always contains at least one transform
...
Previously, when splicing an edit that deleted all transforms, we would
leave the `FoldMap` empty, thus violating a bunch of downstream
invariants and e.g. causing the `BufferRows` iterator to not return any
buffer row.
This commit ensures we always have at least one transform (an isomorphic
one, specifically) and adds additional test coverage for the
`FoldMap::buffer_rows` method by adding it to the randomized tests.
2021-03-29 10:18:28 +02:00
Antonio Scandurra
a2790481a6
Pass the right bounds when painting gutter
...
x and y were flipped around, yikes.
2021-03-26 17:21:44 +01:00
Antonio Scandurra
2c24ec2e46
Update old usages of ctx.spawn to detach the associated task
...
This lets us open buffers and renders tabs and editors correctly, modulo
a small bug when rendering the gutter that I am going to fix next.
2021-03-26 14:15:01 +01:00
Antonio Scandurra
61d4da9934
Introduce layer clipping
2021-03-26 10:28:05 +01:00
Antonio Scandurra
e44ea6b379
Fix cursor blinking
2021-03-25 17:41:03 +01:00
Antonio Scandurra
596fc47a68
Start on painting the editor
2021-03-25 17:36:29 +01:00
Antonio Scandurra
0f6927eb4b
Re-export font_kit primitives from a new fonts module
...
...also, rename the old `fonts` to `font_cache`.
2021-03-25 10:58:33 +01:00
Antonio Scandurra
0906b2a2f4
Remove unused dependencies and avoid instantiating FontCache in tests
2021-03-25 10:48:32 +01:00
Antonio Scandurra and Nathan Sobo
9178e91cc0
Extract platform-dependant FontSystem
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-03-24 16:51:28 +01:00
Nathan Sobo
d13510bfe3
💄
2021-03-22 21:00:07 -06:00
Antonio Scandurra and Nathan Sobo
859c0f53cb
WIP: Introduce layers in renderer
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-03-22 18:55:53 +01:00
Antonio Scandurra and Nathan Sobo
f330fdb6a7
Clarify variable name
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-03-22 15:27:48 +01:00
Nathan Sobo
119aa452b6
Overhaul the entire element system
...
Now the Element trait is designed to be wrapped in a Lifecycle enum that gets placed inside an ElementBox. This allows the framework to store data on behalf of the Element implementation, such as sizes, bounds, and also implementation-specific LayoutState and PaintState types. This makes it easier to reason about which data is available in each Element method.
2021-03-21 20:54:23 -06:00
Nathan Sobo and Antonio Scandurra
046fe3fff9
Dispatch keystrokes and fix rerendering when window invalidated
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-03-21 11:38:23 -06:00
Nathan Sobo and Antonio Scandurra
f5df3681f8
Add file_finder module
...
Still need to wire up key bindings to make it toggle.
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-03-21 10:50:07 -06:00
Nathan Sobo
d14c943150
Start on Scene
2021-03-19 13:31:25 -06:00
Nathan Sobo
cfe3aae2de
WIP: Get everything compiling again and keep window open
2021-03-19 12:12:10 -06:00
Nathan Sobo
605bdd62dd
WIP: Start on rendering scenes via presenter
2021-03-18 21:33:16 -06:00
Nathan Sobo
e809d6119a
Return tasks from spawn and spawn_stream
...
Also, eliminate the background spawning methods. We can spawn futures
on the executor and then spawn those on the app if we need to wait for
the result of running one.
2021-03-18 20:10:32 -06:00
Nathan Sobo
f849857309
Handle command line arguments and populate worktree
2021-03-18 17:54:35 -06:00
Nathan Sobo
9bab29c72f
Get workspace module in and compiling
2021-03-18 15:52:46 -06:00
Nathan Sobo
171dd0c243
WIP
2021-03-18 13:17:25 -06:00
Nathan Sobo
23308e17a9
WIP on rebuilding with extracted UI framework
2021-03-18 13:13:31 -06:00
Nathan Sobo
356bc41752
WIP
2021-03-09 21:00:51 -07:00
Nathan Sobo
222f9d373d
WIP
2021-02-20 16:05:36 -07:00
Nathan Sobo
b400449a58
Start rebuilding with a cleanly-separated UI framework
2021-02-20 10:02:34 -07:00