Nathan Sobo
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 Sobo
5c4b08f05f
Use correct texture size when drawing paths into atlas
2021-03-30 14:03:29 -06:00
Max Brunsfeld
011d4d8437
wip
2021-03-30 12:36:18 -07:00
Antonio Scandurra
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 Sobo
b538f5cfb7
WIP
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-03-29 22:56:47 -06:00
Nathan Sobo
64af4c694a
WIP: Render paths into stencil buffers
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-03-29 22:46:26 -06:00
Max Brunsfeld
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 Scandurra
6222150688
WIP: Start on rendering paths
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-03-29 19:51:39 +02:00
Antonio Scandurra
11f469b8e2
Construct Metal command encoder inside of Renderer
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-03-29 19:48:14 +02: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
5f3dbb05d6
Honor vertical subpixel positions
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-24 18:35:48 +01:00
Antonio Scandurra
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 Scandurra
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
e5d586a942
Get glyphs sort of rendering
2021-03-23 18:54:09 -06:00
Antonio Scandurra
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 Scandurra
764bfba2e2
WIP: Start on rendering glyphs
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-23 15:15:41 +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 Scandurra
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 Scandurra
45c1337c84
Support rendering borders
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-22 16:24:26 +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 Sobo
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 Sobo
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 Sobo
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