Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite AtlasEngine to allow arbitrary overhangs #14959

Merged
Merged
Show file tree
Hide file tree
Changes from 37 commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
f24a9ea
A minor AtlasEngine refactoring
lhecker Mar 6, 2023
6ba233a
Fix transparency, scrolling, dirty rects
lhecker Mar 7, 2023
7ddddfe
Improve performance, Fix OOM when drawing whitespace
lhecker Mar 8, 2023
1eafcd4
Fix glyph rounding error, Fix custom shaders
lhecker Mar 8, 2023
01e596c
Adapter selection, Overlapping gridlines, QuadInstance simplification
lhecker Mar 15, 2023
c270284
Better dirty rect tracking and partial rerendering (WIP)
lhecker Mar 15, 2023
339b892
Mostly fix dirty rects, Reduce memory/PCIe usage
lhecker Mar 16, 2023
d44974a
Merge remote-tracking branch 'origin/main' into dev/lhecker/atlas-eng…
lhecker Mar 20, 2023
694daa7
Fix dirty area calculation, Add ATLAS_DEBUG_SHOW_DIRTY
lhecker Mar 20, 2023
badbd49
Finally fix broken rendering in BackendD3D
lhecker Mar 21, 2023
0d44fe4
Fix dirty rects in BackendD2D, Investigate broken support for hinted …
lhecker Mar 21, 2023
6232dfd
Implement line renditions for BackendD2D
lhecker Mar 23, 2023
da40a01
Fix D2D emoji rendering, Add support for line renditions
lhecker Mar 25, 2023
5d16e7e
Merge remote-tracking branch 'origin/main' into dev/lhecker/atlas-eng…
lhecker Mar 25, 2023
4879a36
Fix glyph measurements, Fix font axis support, Begin implementing sof…
lhecker Mar 27, 2023
2c06f8b
Fix glyph retry crash, Hyperlink hovering, Swap chain startup crash, …
lhecker Mar 28, 2023
c32bfec
Silence spell check
lhecker Mar 28, 2023
f068688
Simplify dxgi adapter invalidation, Fix dirty rect on backend recreation
lhecker Mar 28, 2023
f95d435
DWM folks said to test for IsCurrent(), Added basic soft font support
lhecker Mar 30, 2023
0f3b1d3
Implement line renditions for soft fonts
lhecker Mar 30, 2023
ec5f208
Merge remote-tracking branch 'origin/main' into dev/lhecker/atlas-eng…
lhecker Mar 30, 2023
20cb489
Fix AuditMode failures
lhecker Mar 30, 2023
4caf341
Fix background opacity in BackendD2D
lhecker Mar 31, 2023
d0fcc5b
Slightly reduce memory usage, Clean up AntialiasingMode, Document IDW…
lhecker Mar 31, 2023
4803617
Fix line endings, Remove weird IDWriteFontFace_SoftFont, Add flat_set…
lhecker Apr 2, 2023
4ef2b3f
Implement inverted cursors for D2D, Make _appendQuad a prettier & fas…
lhecker Apr 3, 2023
4aa71a1
Merge remote-tracking branch 'origin/main' into dev/lhecker/atlas-eng…
lhecker Apr 3, 2023
f8f0ea1
Fix background color alpha
lhecker Apr 3, 2023
2e03220
Merge remote-tracking branch 'origin/main' into dev/lhecker/atlas-eng…
lhecker Apr 4, 2023
7f1707b
Integrate changes to linear_flat_set from main
lhecker Apr 4, 2023
2602fa3
Fix AuditMode failures
lhecker Apr 4, 2023
d9b66ab
Some cleanup, Ligature per-cell coloring
lhecker Apr 6, 2023
b60bbc9
Merge remote-tracking branch 'origin/main' into dev/lhecker/atlas-eng…
lhecker Apr 7, 2023
da93dbd
Improve vertical coloring of overhangs, Fix hyperlink underline
lhecker Apr 7, 2023
1b9cd8d
Fix overlap split for double width glyphs
lhecker Apr 7, 2023
039e27f
Fix AuditMode, Fix DRCS baseline, Fix DECDWL color bitmaps
lhecker Apr 7, 2023
93722f8
Lots and lots and lots of fixes
lhecker Apr 11, 2023
9a5a8ec
Move swap chain responsibility from backends to AtlasEngine
lhecker Apr 15, 2023
26a5ab3
Merge remote-tracking branch 'origin/main' into dev/lhecker/atlas-eng…
lhecker Apr 21, 2023
270c1ba
Begin writing documentation, Fix some ATLAS_ATTR_COLD on BackendD2D
lhecker Apr 21, 2023
900b6a9
Change the inverted cursor rendering approach
lhecker Apr 25, 2023
b1590cc
Improve inverted cursor via hole punching
lhecker Apr 25, 2023
990f57a
Fix hole punching algorithm, Implement semi-reverse cursors
lhecker Apr 26, 2023
ab13e16
Add an Emoji shortcut
lhecker Apr 26, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/actions/spelling/allow/apis.txt
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,7 @@ userenv
USEROBJECTFLAGS
Viewbox
virtualalloc
vsnwprintf
wcsstr
wcstoui
WDJ
Expand Down
1 change: 1 addition & 0 deletions .github/actions/spelling/expect/expect.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1783,6 +1783,7 @@ STARTWPARMS
STARTWPARMSA
STARTWPARMSW
Statusline
stb
stdafx
STDAPI
stdc
Expand Down
25 changes: 25 additions & 0 deletions NOTICE.md
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,31 @@ OTHER DEALINGS IN THE SOFTWARE.
For more information, please refer to <http://unlicense.org/>
```

## stb

**Source**: [https://github.com/nothings/stb](https://github.com/nothings/stb)

### License

```
This is free and unencumbered software released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or distribute this
software, either in source code form or as a compiled binary, for any purpose,
commercial or non-commercial, and by any means.
In jurisdictions that recognize copyright laws, the author or authors of this
software dedicate any and all copyright interest in the software to the public
domain. We make this dedication for the benefit of the public at large and to
the detriment of our heirs and successors. We intend this dedication to be an
overt act of relinquishment in perpetuity of all present and future rights to
this software under copyright law.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
```

## ConEmu
**Source**: [https://github.com/Maximus5/ConEmu](https://github.com/Maximus5/ConEmu)

Expand Down
37 changes: 37 additions & 0 deletions oss/stb/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
This software is available under 2 licenses -- choose whichever you prefer.
------------------------------------------------------------------------------
ALTERNATIVE A - MIT License
Copyright (c) 2017 Sean Barrett
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
------------------------------------------------------------------------------
ALTERNATIVE B - Public Domain (www.unlicense.org)
This is free and unencumbered software released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or distribute this
software, either in source code form or as a compiled binary, for any purpose,
commercial or non-commercial, and by any means.
In jurisdictions that recognize copyright laws, the author or authors of this
software dedicate any and all copyright interest in the software to the public
domain. We make this dedication for the benefit of the public at large and to
the detriment of our heirs and successors. We intend this dedication to be an
overt act of relinquishment in perpetuity of all present and future rights to
this software under copyright law.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
4 changes: 4 additions & 0 deletions oss/stb/MAINTAINER_README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
### Notes for Future Maintainers

Search for files prefixed with `stb_` in this project.
At the time of writing, the only file being used is `stb_rect_pack.h`.
15 changes: 15 additions & 0 deletions oss/stb/cgmanifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"$schema": "https://json.schemastore.org/component-detection-manifest.json",
"Registrations": [
{
"component": {
"type": "git",
"git": {
"repositoryUrl": "https://github.com/nothings/stb",
"commitHash": "5736b15f7ea0ffb08dd38af21067c314d6a3aae9"
}
}
}
],
"Version": 1
}
Loading