Commit Graph
30 Commits
Author SHA1 Message Date
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
Antonio ScandurraandNathan Sobo bc977fc873 Render different variants according to subpixel positioning
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-24 18:20:25 +01:00
Antonio ScandurraandNathan Sobo 9178e91cc0 Extract platform-dependant FontSystem
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-24 16:51:28 +01:00
Antonio Scandurra e0e4cff815 Align glyphs correctly using font-kit's raster_bounds 2021-03-24 11:46:17 +01:00
Nathan Sobo 7523df05cf Space out sprites in atlas
This prevents us from accidentally sampling a neighboring sprite.
2021-03-23 19:02:03 -06:00
Nathan Sobo e5d586a942 Get glyphs sort of rendering 2021-03-23 18:54:09 -06:00
Nathan Sobo 28b84c081d Fix noise in atlas texture 2021-03-23 17:27:28 -06:00
Antonio ScandurraandNathan Sobo ad7974608b WIP
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-23 19:11:56 +01:00
Nathan Sobo 247afa1666 WIP 2021-03-23 09:13:35 -06:00
Antonio ScandurraandNathan Sobo 764bfba2e2 WIP: Start on rendering glyphs
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-23 15:15:41 +01:00
Antonio Scandurra bac543657c Declare float literals consistently in shader 2021-03-23 10:45:09 +01:00
Antonio Scandurra 3de0ce6079 Remove artifact when a border side was not rendered
This introduces an extra conditional in the shader, there's probably a
way of writing it without ifs but I like how the logic reads with it and
it shouldn't be that big of a deal performance-wise.
2021-03-23 10:33:31 +01:00
Antonio Scandurra 32c070250c Scale corner_radius by the scale factor when rendering shadows 2021-03-23 10:14:07 +01:00
Nathan Sobo 548b542766 Get the file finder rendering with a drop shadow 2021-03-22 20:54:52 -06:00
Antonio ScandurraandNathan Sobo bfc57cb4f6 Start on rendering shadows
This still doesn't work properly because shadows are rendered beneath
quads and we still don't have a layering mechanism.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-22 18:05:16 +01:00
Antonio ScandurraandNathan Sobo 45c1337c84 Support rendering borders
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-22 16:24:26 +01:00
Antonio ScandurraandNathan Sobo f330fdb6a7 Clarify variable name
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-22 15:27:48 +01:00
Antonio Scandurra 123b7c55f6 Render quads with anti-aliased rounded corners 2021-03-22 13:50:43 +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 SoboandAntonio 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 SoboandAntonio 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 SoboandAntonio Scandurra 04665800c0 Scale quads by scale factor before writing to Metal buffer
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-03-21 09:19:12 -06:00
Nathan SoboandAntonio Scandurra 31fb707eea Fix translation to device coords in shader
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-03-21 09:01:50 -06:00
Nathan SoboandAntonio Scandurra 1f647ef24c Clean up
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-03-21 09:00:47 -06:00
Nathan Sobo e5ffe43bb6 Get basic graphics rendering via Metal
Also, handle window resize.
2021-03-20 22:19:26 -06:00
Nathan Sobo 292b41ad57 Start on metal rendering infrastructure 2021-03-20 09:38:36 -06:00
Nathan Sobo 605bdd62dd WIP: Start on rendering scenes via presenter 2021-03-18 21:33:16 -06:00
Nathan Sobo 222f9d373d WIP 2021-02-20 16:05:36 -07:00
Nathan Sobo b400449a58 Start rebuilding with a cleanly-separated UI framework 2021-02-20 10:02:34 -07:00