Commit Graph
78 Commits
Author SHA1 Message Date
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 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
Max Brunsfeld 011d4d8437 wip 2021-03-30 12:36:18 -07:00
Antonio ScandurraandMax Brunsfeld da1960c3e8 Snap path sprites to pixel grid
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-03-30 19:37:49 +02: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
Nathan SoboandMax Brunsfeld b538f5cfb7 WIP
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-03-29 22:56:47 -06:00
Nathan SoboandMax Brunsfeld 64af4c694a WIP: Render paths into stencil buffers
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-03-29 22:46:26 -06:00
Max BrunsfeldandNathan 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 ScandurraandMax Brunsfeld 6222150688 WIP: Start on rendering paths
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-03-29 19:51:39 +02:00
Antonio ScandurraandMax Brunsfeld 11f469b8e2 Construct Metal command encoder inside of Renderer
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-03-29 19:48:14 +02:00
Max Brunsfeld 8a119a51bf Avoid nested structs in vertex function return types
This is required to compile successfully on macos versions <= 10.15 (catalina)
2021-03-28 19:04:36 -07:00
Antonio Scandurra 466016a374 Snap sprites to pixel grid in Renderer
Previously, we were doing so in the `SpriteCache` but that would cause
floating point errors that caused glyphs to sometimes be positioned
midway through a pixel.
2021-03-26 11:07:16 +01:00
Antonio Scandurra 61d4da9934 Introduce layer clipping 2021-03-26 10:28:05 +01:00
Antonio Scandurra 63f9719c99 💄 2021-03-26 09:58:55 +01:00
Antonio Scandurra 466f6e0479 Center line around its bounding box 2021-03-25 17:21:26 +01:00
Antonio Scandurra 4dc1b1e179 Fix test_render_glyph (but still leave it commented out for now) 2021-03-25 15:10:21 +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 ScandurraandNathan Sobo 5f3dbb05d6 Honor vertical subpixel positions
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-24 18:35:48 +01:00