Commit graph

516 commits

Author SHA1 Message Date
Antonio Scandurra
462e5852c2 Use an "always active" tracking area to detect mouseMoved events
This ensures that we can still receive mouse moved events (e.g. for
setting the cursor style) for panels that float above other windows
even if the application isn't active.
2022-09-15 15:45:08 +02:00
Antonio Scandurra
147268157c Animate popup window as if it were an NSMenu 2022-09-15 12:15:40 +02:00
Antonio Scandurra
9efa39e81e Merge branch 'main' into capture 2022-09-15 12:02:07 +02:00
Antonio Scandurra
44553875d0 Allow contacts popover to be activated even if app isn't foregrounded 2022-09-15 11:44:51 +02:00
Antonio Scandurra
1c9c7ef7ae Add the ability to specify a level when creating windows
This lets some windows stay on top of others, independently of
whether the application is in the foreground.
2022-09-14 17:40:04 +02:00
Antonio Scandurra
c1f448d8a8 Use viewDidChangeEffectiveAppearance to detect appearance changes 2022-09-14 15:49:08 +02:00
Antonio Scandurra
d10f6f60ad Toggle contacts popover when clicking on status bar icon 2022-09-14 15:43:51 +02:00
Antonio Scandurra
9b8492a3ba Extract a common App::register_platform_window 2022-09-14 11:58:05 +02:00
Antonio Scandurra
f67e2bea29 Refresh windows when OS appearance changes 2022-09-14 11:47:43 +02:00
K Simmons
a7d0732f95 fixed release build issue 2022-09-13 15:26:10 -07:00
K Simmons
0b5952e1bd Fix incorrect rendering of toolbar in right anchored dock
Make dock keybinding activate the dock if it wasn't hidden, and hide it if it was already active
Make clicking the expanded dock wash, hide the dock
Fix some issues with programmatically activating other panes, not hiding the dock
Tweak dock anchor menu text
Swap dock hide button for thin variant
Fix dock sidebar interactions
Add clicked state to search button and fix presenter issue sending clicked events when mouse not overlapping MouseRegion

Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-09-13 15:17:27 -07:00
K Simmons
6bc17cc9a4 Fix remaining test failures 2022-09-13 13:17:49 -07:00
Antonio Scandurra
97ccb16c97 Rework status bar item to use a custom view 2022-09-13 16:20:34 +02:00
Antonio Scandurra
b3dd09a0f2 🎨 2022-09-13 14:50:18 +02:00
Antonio Scandurra
a34eaa3606 Pass reused parameter to Presenter::dispatch_event for status items 2022-09-13 14:49:49 +02:00
Antonio Scandurra
11d47f5c72 Use a transparent layer for status bar
This allows the compositor to blend the GPUI view with the background.
2022-09-13 14:11:50 +02:00
Antonio Scandurra
a9c2881831 Set contents scale and drawable size when creating status metal layer 2022-09-13 14:11:50 +02:00
Antonio Scandurra
2acd215bb8 Wire up event handling for status items 2022-09-13 14:11:50 +02:00
Antonio Scandurra
6578af6f3b WIP: Start rendering GPUI views to macOS status bar 2022-09-13 14:11:48 +02:00
Antonio Scandurra
f50c6af001 Encapsulate metal layer into Renderer 2022-09-13 14:10:13 +02:00
Antonio Scandurra
e803dd9f72 Remove platform::WindowContext trait
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio Scandurra
1c810d7e8d WIP: Show status bar item with a backing metal layer
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio Scandurra
2b9fe0a2e6 WIP 2022-09-13 14:10:13 +02:00
Antonio Scandurra
c03300df29 WIP: Start on App::add_status_bar_item
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio Scandurra
21c91a29e7 Add the ability to hide the titlebar when creating windows
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio Scandurra
ca618b02b6 Render surfaces correctly when encoded in 420YpCbCr8BiPlanarFullRange 2022-09-13 14:10:13 +02:00
Antonio Scandurra
d407f521db WIP: render screen-sharing frames 2022-09-13 14:10:13 +02:00
Antonio Scandurra
a02e388ea2 Honor scale factor when rendering 2022-09-13 14:10:13 +02:00
Antonio Scandurra
fcf6aa15eb Return results for fallible media APIs 2022-09-13 14:10:13 +02:00
Antonio Scandurra
79a7a0e0e7 Capture screen in BGRA8 and render it in capture example app 2022-09-13 14:10:13 +02:00
Nathan Sobo
37da841716 Start on using CVMetalTextureCache 2022-09-13 14:10:13 +02:00
Nathan Sobo
531ffc01c9 Pass CVImageBuffers into GPUI instead of IOSurfaces 2022-09-13 14:10:13 +02:00
Nathan Sobo
0430bbf7d9 WIP: Start on Renderer::render_surfaces but really it's nothing 2022-09-13 14:10:13 +02:00
Antonio Scandurra
c4110edb78 Extract io_surface crate and invoke custom callback on frame sample
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio Scandurra
e12eaf8c58 Start on Scene::push_surface
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-13 14:10:13 +02:00
Antonio Scandurra
30a3c0fb46 WIP 2022-09-13 14:10:13 +02:00
Antonio Scandurra
45519cdd27 WIP 2022-09-13 14:10:13 +02:00
Nathan Sobo
7918bf39f5 Make capture example its own crate 2022-09-13 14:10:13 +02:00
Nathan Sobo
ad0f75f386 Add capture example to GPUI
Added a linker arg to the GPUI build script. Not sure if we'll want to bake
this into GPUI or do it via another crate, but this is convenient for
exploration for now.
2022-09-13 14:10:13 +02:00
K Simmons
df59b28aaf Extract panel resize code from sidebar into Resizable element
Make resizable work in vertical axis
Make dock resizable
Have dock preserve size based on Anchor position
Make pane buttons work more correctly in pathological cases
Sync status bar dock button with dock visibility/anchor position

Co-Authored-By Mikayla Maki <mikayla@zed.dev>
2022-09-12 18:32:15 -07:00
Mikayla Maki
31a3fdb23e Started to make the dock better, major issue's resizing child elements 2022-09-12 14:53:26 -07:00
K Simmons
f2b72eb6d2 WIP working on resizable dock 2022-09-12 14:24:57 -07:00
K Simmons
444417203b Move workspace overlay elements into an actual overlay in order to get proper stacking context depths
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-09-11 15:34:12 -07:00
K Simmons
6b26965074 Permanent fix to repeat MouseRegion Tag failure in Workspace
Polish tab bar buttons

Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-09-11 15:34:10 -07:00
K Simmons
69ecbb644d DOCK WORKING!
Update editor element to use mouse regions instead of dispatch event for mouse events
Fix bug in presenter where mouse region handlers were stored on click and called instead of more up to date handlers from subsequent renders
Changed MouseRegion to require discriminants in all cases
Add scroll wheel event to MouseRegion
Polished a bunch of dock inconsistencies

Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-09-11 15:32:20 -07:00
K Simmons
28965dc5b6 Make MouseRegion Click handlers, also handle Down events by default. 2022-09-11 14:19:35 -07:00
Mikayla Maki
d189972a0d Merge branch 'terminal-scrolling-sensitivity' into terminal-polishing 2022-09-02 15:48:49 -07:00
Mikayla Maki
1502c19208 Polished scrolling significantly 2022-09-02 15:47:35 -07:00
Mikayla Maki
7730039e31 Sketched out program manager API 2022-09-01 20:07:30 -07:00
K Simmons
227cc66594 Simulate mouse up if mouse was released outside window, don't report dragged payload if it was dragged from a different window 2022-08-31 14:06:38 -07:00