Commit Graph

15211 Commits

Author SHA1 Message Date
Kovid Goyal
dd7630514e Micro-optimization 2025-02-03 10:56:49 +05:30
Kovid Goyal
cf2fffaf95 Fix continuation char marking when rewrapping historybuf 2025-02-03 10:56:49 +05:30
Kovid Goyal
eb1adf4764 Decouple some API in historybuf so that we can access more than just the next line eventually 2025-02-03 10:56:48 +05:30
Kovid Goyal
8daec0f1ff DRYer 2025-02-03 10:56:48 +05:30
Kovid Goyal
b450e71b92 Move rewrap code into its own module
Makes it easier to modify in the future when adding multicell support
2025-02-03 10:56:48 +05:30
Kovid Goyal
5b0e1b5b5c Fix wrap marker when continuing to a new line with a multicell command 2025-02-03 10:56:48 +05:30
Kovid Goyal
95fbc6e9ba Forgot a couple of octants 2025-02-03 10:56:48 +05:30
Kovid Goyal
39dc31e021 Render the octant characters using box drawing 2025-02-03 10:56:48 +05:30
Kovid Goyal
4a845f840d Scale multicell box char line thickness 2025-02-03 10:56:48 +05:30
Kovid Goyal
c67475271f Remove box drawing python code 2025-02-03 10:56:48 +05:30
Kovid Goyal
6a18db45f0 Finish porting of box drawing chars to C 2025-02-03 10:56:48 +05:30
Kovid Goyal
95e64a023f More box chars 2025-02-03 10:56:48 +05:30
Kovid Goyal
9426ed0140 More box chars 2025-02-03 10:56:48 +05:30
Kovid Goyal
a726e4af90 More box chars 2025-02-03 10:56:48 +05:30
Kovid Goyal
7bd0b46a71 More box chars 2025-02-03 10:56:48 +05:30
Kovid Goyal
68167b9ddb More box chars 2025-02-03 10:56:48 +05:30
Kovid Goyal
0bd5ba50b6 More box chars 2025-02-03 10:56:47 +05:30
Kovid Goyal
0d80d24c58 ... 2025-02-03 10:56:47 +05:30
Kovid Goyal
b409205dd8 More box chars 2025-02-03 10:56:47 +05:30
Kovid Goyal
947e934761 More box chars 2025-02-03 10:56:47 +05:30
Kovid Goyal
a1ce619b92 More work on box drawing 2025-02-03 10:56:47 +05:30
Kovid Goyal
596cbf0cef ... 2025-02-03 10:56:47 +05:30
Kovid Goyal
32fbe89709 More work on box drawing porting 2025-02-03 10:56:47 +05:30
Kovid Goyal
e047a9c66d More work on box char porting 2025-02-03 10:56:47 +05:30
Kovid Goyal
46eefef54b ... 2025-02-03 10:56:47 +05:30
Kovid Goyal
9f0a3611cb Log an error for unknown box drawing chars 2025-02-03 10:56:47 +05:30
Kovid Goyal
fdb9b17943 start work on porting box drawing to C 2025-02-03 10:56:47 +05:30
Kovid Goyal
ec3a6cc26e Fix disabling of ligatures under cursor in multicell 2025-02-03 10:56:47 +05:30
Kovid Goyal
bbcb7dc24c Fix cursor rendering when on first cell of multicell 2025-02-03 10:56:47 +05:30
Kovid Goyal
f67c58034c Add tests for ch_and_idx 2025-02-03 10:56:47 +05:30
Kovid Goyal
72d88e75aa Always zero memory from arena 2025-02-03 10:56:47 +05:30
Kovid Goyal
dc1bed1bd1 Use XXHash for hash table hashing of arbitrary sized keys
Much faster than FNV
2025-02-03 10:56:46 +05:30
Kovid Goyal
b602915d5b ... 2025-02-03 10:56:46 +05:30
Kovid Goyal
b7e8d6d103 Use an arena for TextCache as well 2025-02-03 10:56:46 +05:30
Kovid Goyal
1047142ee0 ... 2025-02-03 10:56:46 +05:30
Kovid Goyal
0902f6aee0 Use an arena allocator for the sprite position map 2025-02-03 10:56:46 +05:30
Kovid Goyal
d781c671a1 Fix rendering of scaled url exclusions 2025-02-03 10:56:46 +05:30
Kovid Goyal
08d03a3e3a ... 2025-02-03 10:56:46 +05:30
Kovid Goyal
81a5f29979 Option to control underline exclusion 2025-02-03 10:56:46 +05:30
Kovid Goyal
1707e603f3 Implement underline exclusion 2025-02-03 10:56:46 +05:30
Kovid Goyal
eb322913c3 Remove a switch in the cell vertex shader 2025-02-03 10:56:46 +05:30
Kovid Goyal
e8fa5a3717 ... 2025-02-03 10:56:46 +05:30
Kovid Goyal
27c862970b Simplify sprite management code
Now if decorations are needed they are created *before* the index for
the sprite is assigned.
2025-02-03 10:56:46 +05:30
Kovid Goyal
70b0aecf32 Track the underline region for every decoration group 2025-02-03 10:56:46 +05:30
Kovid Goyal
b249fba93d misc fixes for decoration rendering 2025-02-03 10:56:46 +05:30
Kovid Goyal
c3361cd26b ... 2025-02-03 10:56:46 +05:30
Kovid Goyal
3f04b31725 Fix build on older compiler 2025-02-03 10:56:46 +05:30
Kovid Goyal
88f796a94c Read decorations indices from a separate texture 2025-02-03 10:56:45 +05:30
Kovid Goyal
b2a4db2028 Revert metadata row for sprites
Store in a separate VAO instead more performant as it uses less VRAM and
allows shader lookup co-ords to be passed to fragment shaders without
calculation in the fragment shader.
2025-02-03 10:56:45 +05:30
Kovid Goyal
9e9ab3e6f9 pass decorations location as sprite metadata 2025-02-03 10:56:45 +05:30