Commit Graph
96 Commits
Author SHA1 Message Date
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 SoboandAntonio Scandurra 8c51bb253d Render sprited icons at 2x resolution since we don't align to pixel grid
This provides the sampler with a bit more data when positioning sprites at subpixel positions.

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-04-28 09:32:38 -06:00
Nathan Sobo 69cc2b0483 WIP 2021-04-27 18:35:24 -06:00
Nathan SoboandMax Brunsfeld eca9f495a1 Render a close tab button on tab hover
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-27 11:58:59 -06:00
Nathan SoboandAntonio Scandurra 3d1e44ca29 Capture hover events on tabs
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-04-27 09:23:44 -06:00
Nathan Sobo fc4b7e2a2a Introduce MouseEventHandler
Still need to give elements the ability to re-render their parent view. Once that is in place, I think we can implement hoverable close tab buttons.
2021-04-26 21:52:18 -06:00
Antonio Scandurra cf23b0e4a2 Prompt for paths asynchronously to avoid double borrow 2021-04-14 16:30:03 +02:00
Max Brunsfeld c83f02dd04 Implement multi-selection copy/cut/paste 2021-04-13 17:28:51 -07:00
Antonio ScandurraandMax Brunsfeld 13514aae6c Allow metadata to be associated with text written to clipboard
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-04-13 19:03:56 +02:00
Antonio Scandurra f4c1ffc329 Start on copy-paste 2021-04-13 14:58:10 +02:00
Max BrunsfeldandNathan Sobo d4436f3018 Don't try to handle errors when opening platform windows
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-12 15:14:25 -07:00
Max BrunsfeldandNathan Sobo 3247f49954 Allow menu items to specify arguments for their commands
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-12 14:09:49 -07:00
Nathan Sobo b9b511148b Make gpui::platform module private 2021-04-10 00:22:45 -06:00
Nathan Sobo 619e2b7e01 Remove platform::mac::runner 2021-04-10 00:19:25 -06:00
Nathan Sobo 448dace281 Pass the on_finish_launching callback to Platform::run 2021-04-09 21:33:17 -06:00
Max Brunsfeld 079050541f Get app running and test passing after gpui App+Platform restructure 2021-04-09 16:56:32 -07:00
Nathan SoboandMax Brunsfeld 301163bab7 Add lifecycle methods to Platform trait
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-09 13:03:26 -06:00
Max Brunsfeld 00d7dafbba Merge branch 'master' into menus 2021-04-09 10:34:21 -07:00
Max Brunsfeld 7ebcbdc0cb Implement File > Open menu item 2021-04-08 22:25:54 -07:00
Max Brunsfeld f656b387b3 Call SetActivationPolicy at the proper time
If this method is called too early, the menu bar won't be
clickable on startup until the window loses focus. Calling
it once the application finishes launching seems to fix
the issue.

See https://github.com/glfw/glfw/issues/1648
2021-04-08 16:11:45 -07:00
Max Brunsfeld 334de06322 Create an API for assigning the menubar contents 2021-04-08 16:01:36 -07:00
Nathan Sobo 9f6f27f305 Order debug JSON and allow elements to be named; copy to clipboard 2021-04-07 21:54:14 -06:00
Max Brunsfeld 0a12774680 Add a stub of a native 'File' menu 2021-04-07 17:49:44 -07:00
Max Brunsfeld 7e5186e4a0 Start work on a native application menu
Add an application menu with a quit command, bound to command-q
2021-04-07 17:48:22 -07:00
Nathan Sobo 13ee86e334 Remove unused method 2021-04-06 20:47:09 -06:00
Nathan Sobo 2a9e71d725 Vertically center glyphs in Line::paint based on ascender/descender for line 2021-04-06 09:15:21 -06:00
Antonio Scandurra 5f1f49b011 Reduce path atlas size by using a single channel for the texture 2021-04-06 13:53:20 +02:00
Antonio Scandurra e0c43dac25 Implement SVG rendering 2021-04-06 13:46:33 +02:00
Max Brunsfeld dba3c82530 Remove stray print statements 2021-04-02 15:00:20 -07:00
Max Brunsfeld 575f5910fa Use a real FontSystem in test platform 2021-04-02 14:35:44 -07:00
Max Brunsfeld dd31b870c3 Remove small pieces of unused code 2021-04-02 14:26:53 -07:00
Antonio Scandurra 72ced45df0 Remove unused edge_to_point calculation in quad shader 2021-04-02 13:53:11 +02:00
Antonio Scandurra d10fc6ce3f Fix crash when selections exceed the container's bounds 2021-04-02 13:49:44 +02:00
Nathan Sobo c525d7c712 💄 naming 2021-03-31 20:43:15 -06:00
Max Brunsfeld 3bd6b92244 Introduce a GPUI test platform, get most tests running
There are still two tests that don't pass:
* `gpui::app::tests::test_finish_pending_tasks` hangs
* `editor::buffer_view::tests::test_fold` has an assertion failure
2021-03-31 17:03:58 -07:00
Max Brunsfeld 2efc90adc6 Ensure that path windings are rendered to the right atlas texture
Fixes #5
2021-03-31 14:52:41 -07:00
Antonio ScandurraandNathan Sobo 97e0db205d Don't blend alpha channels
We want to use the source alpha to determine the color of the final
pixel, but we want the final pixels to be fully opaque.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-31 16:24:28 +02:00
Antonio ScandurraandNathan Sobo 385d15cd0c Round clip bounds to whole pixels
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-31 16:23:37 +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
Antonio Scandurra 073ff96a9f Snap quads to pixel grid to avoid antialiasing them around the edges 2021-03-31 14:53:15 +02:00
Antonio Scandurra bbf8762447 💄 2021-03-31 10:32:53 +02:00
Antonio Scandurra f5e5d7180f Remove conditional from winding number computation 2021-03-31 10:30:16 +02:00
Nathan Sobo 5c444b2bfa Call did_modify_range on only once per render 2021-03-30 23:07:14 -06:00
Nathan SoboandMax Brunsfeld 6ba08b510f Avoid generic parameter
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-03-30 18:05:13 -06:00
Nathan SoboandMax 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 SoboandMax Brunsfeld 3103d28285 Clear the path atlases on every frame and fix spelling
@as-cii you were right about the plural of "atlas" after all.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-03-30 16:56:11 -06:00
Nathan SoboandMax Brunsfeld 8dabb15248 Decrease max windings to avoid problems with anti-aliasing
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-03-30 16:34:01 -06:00
Nathan Sobo c4f23e411a Fix double-borrow when synthesizing drag events 2021-03-30 14:25:47 -06:00
Nathan Sobo 5c4b08f05f Use correct texture size when drawing paths into atlas 2021-03-30 14:03:29 -06:00
Nathan Sobo 4773f5034b Bump max path windings to 128
This eliminates artifacts while still seeming to work with anti-aliasing.
2021-03-30 14:02:59 -06:00