477740360d
Start work on partial rendering for List element
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-08-31 21:57:56 -07:00
Antonio Scandurra and Nathan Sobo
2db49ce27f
Maintain logical scroll top when splicing List elements
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-31 16:35:57 +02:00
Antonio Scandurra and Nathan Sobo
917a80ec36
🎨
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-30 17:24:51 +02:00
Max Brunsfeld
5262dcd3cb
Don't change cursor on mouse move while mouse button is held down
2021-08-27 10:34:11 -07:00
Antonio Scandurra and Nathan Sobo
53dc08dfc5
Remove lock from element states
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-27 18:04:21 +02:00
Antonio Scandurra and Nathan Sobo
d5b7e2d4e3
Pass a MutableAppContext in render
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-27 17:25:13 +02:00
Antonio Scandurra
a9963f1b32
Synthesize a mouse moved event also when the mouse is dragged
2021-08-27 16:31:12 +02:00
Antonio Scandurra and Nathan Sobo
5fe5685641
Replace notify_all with an explicit refresh_windows effect
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-26 15:00:00 +02:00
Antonio Scandurra and Nathan Sobo
1aa1e6c6ab
Move pooling of line wrappers into FontCache
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-25 17:28:25 +02:00
Antonio Scandurra
399ecaabc6
Wrap lines in Text element
2021-08-25 14:59:52 +02:00
Antonio Scandurra
54b4a4bf6a
Allow editor to be created in auto-height mode
2021-08-24 14:17:15 +02:00
Antonio Scandurra and Nathan Sobo
2c3ba00d3e
Remove vestiges of after_layout
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-23 15:23:06 +02:00
Antonio Scandurra and Nathan Sobo
6dddb72e82
WIP: Create infrastructure for testing element layout
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-23 15:20:23 +02:00
Nathan Sobo
24639ec900
WIP
2021-08-22 11:58:19 -06:00
Nathan Sobo
d68e0b0b97
Remove after_layout from Element trait
...
Now that layout takes a MutableAppContext we don't need an after_layout phase.
2021-08-20 16:40:45 -06:00
Max Brunsfeld and Antonio Scandurra
a7ac37a318
Make titlebar_height available during render
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-08-20 10:45:42 -07:00
Nathan Sobo
149fb574c7
Expose titlebar_height in LayoutContext
2021-08-06 09:11:16 -06:00
11285f3762
Pass a MutableAppContext to Element::layout and ::dispatch_event
...
We need to mutate the app in these cases to relay layout state, so this just makes things easier. We won't be able to perform layout in parallel but it's questionable whether we'll ever actually do that. If we do, we can revisit.
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-07-23 10:52:08 -06:00
Max Brunsfeld
6ef447866a
Rename context parameters to cx in gpui
2021-05-28 15:32:35 -07:00
Nathan Sobo and Max Brunsfeld
f408521d12
Gracefully handle a view being updated and removed in the same tick
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-05-06 15:13:26 -06:00
Nathan Sobo
45a01d1526
Don't store views on windows
...
Instead, store all views in a single top-level map that's keyed by window id and view id. This ensures we'll keep a view alive even if its window is gone, so long as we're holding a handle. This can happen with things like spawned tasks. We don't want to panic during a spawned task after we close the window.
2021-05-05 22:48:16 -06:00
1cb3fdbf7d
Synthesize a mouse moved event in the previous position after painting a scene
...
This ensures that we correctly update the hover state of elements whose position has changed relative to the mouse cursor even though the mouse hasn't actually moved.
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-04-28 13:02:39 -06:00
Nathan Sobo and Max Brunsfeld
bb95d58c79
Relay hover events to tabs
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-04-27 11:37:14 -06:00
Nathan Sobo
4638391412
Remove MutableAppContext::downgrade
2021-04-10 00:14:26 -06:00
Nathan Sobo
cbb23a93a6
Log prettified element debug JSON to on cmd-alt-i
2021-04-07 21:54:14 -06:00
Nathan Sobo
0664321125
Add ability to debug element trees as JSON
2021-04-07 21:54:14 -06:00
Nathan Sobo and Max Brunsfeld
c43d7cfb39
Use a condvar instead of a channel to implement finish_pending_tasks
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-04-02 13:53:06 -06: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
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
0c59937a65
Wire up events and fix synthetic dragging
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-03-21 09:44:14 -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
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