6038 Commits

Author SHA1 Message Date
Mitchell Hashimoto
851b1fe2ac font: noop shaper 2024-05-01 20:31:50 -07:00
Mitchell Hashimoto
22702b6941 renderer/metal: re-enable triple buffer 2024-05-01 20:31:49 -07:00
Mitchell Hashimoto
bb138becc5 terminal: resize causes full screen redraw 2024-05-01 20:31:49 -07:00
Mitchell Hashimoto
037f8d3a5e terminal: set dirty bit for screen swap 2024-05-01 20:31:49 -07:00
Mitchell Hashimoto
b166ca7e30 renderer/Metal: only rebuild rows that are dirty 2024-05-01 20:31:49 -07:00
Mitchell Hashimoto
7e52f94278 terminal: on clone, only mark rows dirty that were previously dirty 2024-05-01 20:31:49 -07:00
Mitchell Hashimoto
d47f14f86a terminal: dirty tracking on screen clone 2024-05-01 20:31:49 -07:00
Mitchell Hashimoto
3f9e3c39a4 terminal: track dirty state of palette and reverse colors 2024-05-01 20:31:49 -07:00
Mitchell Hashimoto
f867fabf8e terminal: new coordinate type 2024-05-01 20:31:49 -07:00
Mitchell Hashimoto
4f2ee95ecd renderer/metal: docs 2024-05-01 20:31:49 -07:00
Mitchell Hashimoto
fb25f5cea1 terminal: more dirty tests 2024-05-01 20:31:49 -07:00
Mitchell Hashimoto
cfcd16354a terminal: many more dirty checks 2024-05-01 20:31:49 -07:00
Mitchell Hashimoto
1c05939f17 terminal: deleteChars dirty 2024-05-01 20:31:49 -07:00
Mitchell Hashimoto
a53dbaaa31 terminal: more dirty tests 2024-05-01 20:31:48 -07:00
Mitchell Hashimoto
19ddbbc7d6 terminal: eraseRowBounded dirty tracking 2024-05-01 20:31:48 -07:00
Mitchell Hashimoto
0749b67832 terminal: index dirty tests one todo 2024-05-01 20:31:48 -07:00
Mitchell Hashimoto
b46e028069 terminal: scrollDown dirty tests 2024-05-01 20:31:48 -07:00
Mitchell Hashimoto
bd1a7d3db1 terminal: scrollDown dirty tests 2024-05-01 20:31:48 -07:00
Mitchell Hashimoto
58aa4cc10b terminal: dirty tests for insertLines 2024-05-01 20:31:48 -07:00
Mitchell Hashimoto
f7a57bd2c8 terminal: dirty tests on t/b/l/r margins 2024-05-01 20:31:48 -07:00
Mitchell Hashimoto
981f031951 terminal: remove unused debug log 2024-05-01 20:31:48 -07:00
Mitchell Hashimoto
11c195e493 terminal: dirty tracking on print with tests 2024-05-01 20:31:48 -07:00
Mitchell Hashimoto
7b750b7ed9 terminal: add dirty bits to the page structure 2024-05-01 20:31:48 -07:00
Mitchell Hashimoto
a8b97d4061 font/coretext: only pad shaped text ltr 2024-05-01 20:27:40 -07:00
Mitchell Hashimoto
0338e09cf9 Merge pull request #1725 from mitchellh/shaper-cache
Cache font shaping results
2024-05-01 19:55:03 -07:00
Mitchell Hashimoto
6683b159ce font/shaper: run hash should include font index 2024-05-01 19:53:27 -07:00
Mitchell Hashimoto
bc0e4c6d8f renderer/metal: don't log 2024-05-01 19:49:50 -07:00
Mitchell Hashimoto
74236d2db6 renderer/metal: log some cache info 2024-05-01 19:49:22 -07:00
Mitchell Hashimoto
406824bcd4 renderer/opengl: use shaper cache 2024-05-01 19:43:48 -07:00
Mitchell Hashimoto
d7de26ef58 renderer/metal: integrate shaping cache 2024-05-01 19:01:08 -07:00
Mitchell Hashimoto
0a69615670 font/shaper: add Cache 2024-05-01 18:55:22 -07:00
Mitchell Hashimoto
81a12b0d86 font/shaper: add hash to text runs 2024-05-01 18:28:53 -07:00
Mitchell Hashimoto
187653e9cd Merge pull request #1698 from jparise/exec-command-path
termio: pass full command to shell integration
2024-04-30 14:10:58 -07:00
Mitchell Hashimoto
f99823ec38 Merge pull request #1713 from BvngeeCord/main
sprites: dont thicken via font-thicken, add cursor thickness adjustment
2024-04-30 14:09:04 -07:00
Mitchell Hashimoto
1072354747 build: add -Dfont-backend=coretext_harfbuzz to force Harfbuzz w/ CT 2024-04-30 14:03:38 -07:00
Mitchell Hashimoto
6858646843 font/coretext: tests for #1721 2024-04-30 11:55:18 -07:00
Mitchell Hashimoto
16ba474a28 Merge pull request #1721 from mitchellh/coretext
font: runs do not split on bg color change
2024-04-30 11:29:07 -07:00
Mitchell Hashimoto
313c7f4cf1 font: runs do not split on bg color change
We previously split text runs for shaping on bg color changes. As
pointed out in Discord, this is not necessary, since we can always color
cells according to their desired background even if the text in the cell
shapes to something else.
2024-04-30 11:23:41 -07:00
Mitchell Hashimoto
0b9c78f808 Merge pull request #1715 from g-cassie/coretext-minor-fixes
coretext - minor fixes
2024-04-30 10:22:46 -07:00
Gordon Cassie
e77f9962a8 revert on comment removal 2024-04-30 10:21:31 -07:00
Gordon Cassie
e564454ff1 More log statements. 2024-04-30 10:21:08 -07:00
Gordon Cassie
b76f5976ee Remove unnecessary allocation. 2024-04-30 10:20:50 -07:00
Gordon Cassie
abd782a7aa Fix typo. 2024-04-30 10:20:31 -07:00
Mitchell Hashimoto
9d91ab7837 Merge pull request #1720 from mitchellh/coretext-bugs
font/coretext: shaping ligatures adds padding cells for replaced cells
2024-04-30 10:19:39 -07:00
Mitchell Hashimoto
9b4e362a33 font/coretext: shaping ligatures adds padding cells for replaced cells
Fixes #1708

Harfbuzz does this automatically. Our tests for harfbuzz test this. We
had a todo in CoreText to mimic this but wasn't sure if it was useful.
Turns out, it is important (see bug!)
2024-04-30 10:14:43 -07:00
Mitchell Hashimoto
d15b5e3e49 renderer/metal: skip frame update if our cell buffer is too small
See the comment in the diff for when this can happen.
2024-04-29 12:28:17 -07:00
Mitchell Hashimoto
cbc1ec73ed renderer/metal: only delete values from the same array 2024-04-28 14:38:36 -07:00
Mitchell Hashimoto
71b90bb2e0 renderer/metal: font changes needs to reset cell contents 2024-04-28 14:10:54 -07:00
Mitchell Hashimoto
a08cb7405a Merge pull request #1717 from mitchellh/metalv2
Metal Improvements (plus temporary, purposeful regression)
2024-04-28 10:10:50 -07:00
Mitchell Hashimoto
b1f324e87a renderer/metal: frame index must fit up to buffer count 2024-04-28 10:02:07 -07:00