Commit Graph
97 Commits
Author SHA1 Message Date
Nathan Sobo 10147df5c3 Fix crash when closing windows 2021-05-05 11:34:49 -06:00
e955af12f8 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 63e5080199 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 5da9755007 WIP 2021-04-27 18:35:24 -06:00
Nathan SoboandMax Brunsfeld be6859003a 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 e0bb313d67 Capture hover events on tabs
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-04-27 09:23:44 -06:00
Nathan Sobo 26185a24d6 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 2a1e5657c7 Prompt for paths asynchronously to avoid double borrow 2021-04-14 16:30:03 +02:00
Max Brunsfeld 21cea414d1 Implement multi-selection copy/cut/paste 2021-04-13 17:28:51 -07:00
Antonio ScandurraandMax Brunsfeld 5d6d5018ca 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 3183d379fc Start on copy-paste 2021-04-13 14:58:10 +02:00
Max BrunsfeldandNathan Sobo 0ca928ad22 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 af3499750c 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 e59e364a88 Make gpui::platform module private 2021-04-10 00:22:45 -06:00
Nathan Sobo 1c80ad0621 Remove platform::mac::runner 2021-04-10 00:19:25 -06:00
Nathan Sobo df223714f3 Pass the on_finish_launching callback to Platform::run 2021-04-09 21:33:17 -06:00
Max Brunsfeld 7f27ece707 Get app running and test passing after gpui App+Platform restructure 2021-04-09 16:56:32 -07:00
Nathan SoboandMax Brunsfeld e2cf66480f Add lifecycle methods to Platform trait
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-09 13:03:26 -06:00
Max Brunsfeld 46b6efc549 Merge branch 'master' into menus 2021-04-09 10:34:21 -07:00
Max Brunsfeld 4c184f50f7 Implement File > Open menu item 2021-04-08 22:25:54 -07:00
Max Brunsfeld e6279311df 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 fffbc0de29 Create an API for assigning the menubar contents 2021-04-08 16:01:36 -07:00
Nathan Sobo 5220ebaed2 Order debug JSON and allow elements to be named; copy to clipboard 2021-04-07 21:54:14 -06:00
Max Brunsfeld bc4f5ea3df Add a stub of a native 'File' menu 2021-04-07 17:49:44 -07:00
Max Brunsfeld f673c6aa6e 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 0f97a62659 Remove unused method 2021-04-06 20:47:09 -06:00
Nathan Sobo 2107e726f4 Vertically center glyphs in Line::paint based on ascender/descender for line 2021-04-06 09:15:21 -06:00
Antonio Scandurra b5b8445a47 Reduce path atlas size by using a single channel for the texture 2021-04-06 13:53:20 +02:00
Antonio Scandurra d2e30bc457 Implement SVG rendering 2021-04-06 13:46:33 +02:00
Max Brunsfeld b95aa282eb Remove stray print statements 2021-04-02 15:00:20 -07:00
Max Brunsfeld 668336946c Use a real FontSystem in test platform 2021-04-02 14:35:44 -07:00
Max Brunsfeld 0eda8b3c48 Remove small pieces of unused code 2021-04-02 14:26:53 -07:00
Antonio Scandurra d1d992be59 Remove unused edge_to_point calculation in quad shader 2021-04-02 13:53:11 +02:00
Antonio Scandurra f503e32f29 Fix crash when selections exceed the container's bounds 2021-04-02 13:49:44 +02:00
Nathan Sobo 2efe48c127 💄 naming 2021-03-31 20:43:15 -06:00
Max Brunsfeld 7fee9ce687 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 7fb0951d42 Ensure that path windings are rendered to the right atlas texture
Fixes #5
2021-03-31 14:52:41 -07:00
Antonio ScandurraandNathan Sobo 3649a3d939 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 05de08d783 Round clip bounds to whole pixels
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-31 16:23:37 +02:00
Antonio Scandurra e68e06838c Render borders correctly when only a subset of the border is visible 2021-03-31 14:53:34 +02:00
Antonio Scandurra 150b60de72 Snap quads to pixel grid to avoid antialiasing them around the edges 2021-03-31 14:53:15 +02:00
Antonio Scandurra 437a2eeee2 💄 2021-03-31 10:32:53 +02:00
Antonio Scandurra bc9a6b4ea7 Remove conditional from winding number computation 2021-03-31 10:30:16 +02:00
Nathan Sobo 58ababd95f Call did_modify_range on only once per render 2021-03-30 23:07:14 -06:00
Nathan SoboandMax Brunsfeld 14eda8978c Avoid generic parameter
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-03-30 18:05:13 -06:00
Nathan SoboandMax Brunsfeld 7b4478ee56 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 5119a001fb 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 1ed0bd8c27 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 8d05d7bf21 Fix double-borrow when synthesizing drag events 2021-03-30 14:25:47 -06:00
Nathan Sobo 48fe2587df Use correct texture size when drawing paths into atlas 2021-03-30 14:03:29 -06:00