641e3eda98
Correct and simplify textBuf drawing using the new ViewsFromTo+ new ring funcs
2022-07-23 03:08:44 +04:00
76992472d4
Correct arg quote handling in windows+place return at end of cmdBuf
2022-07-22 20:07:30 +04:00
b6f39bd1ba
Use Esc[ bytes for ansi detection+move ansi to its own package
2022-07-22 19:58:20 +04:00
0d2e747739
Optimize idle cpu usage by implementing our own fps limiter
2022-07-22 18:52:35 +04:00
90b0bc0ae9
Scroll by lines that respects ring buf+iterator prevN/nextN+it.Len
2022-07-20 02:18:36 +04:00
b4f06bda54
Ring buffer iterator
2022-07-19 21:21:54 +04:00
0fdebbeafe
Comment
2022-07-19 18:16:49 +04:00
874c62d579
Scroll by lines+mutex when writing to text buffer
2022-07-19 18:10:23 +04:00
e2feafa89d
New ansi system to support anything later+ 8/16 bit color
2022-07-17 01:29:48 +04:00
70cf0e6008
Implement NextAnsiCode
2022-07-16 22:21:07 +04:00
648a9c7500
Avoid unnecessary []byte->string conversions
2022-07-16 21:03:57 +04:00
6f1fc396cb
Use a byte buffer for textBuf
2022-07-16 21:01:29 +04:00
3fb4ce4c06
Super basic ansi foreground color code processing
2022-07-16 00:20:41 +04:00
1847289fe5
Wrapped text drawing
2022-07-15 21:09:32 +04:00
cdcfe4c13d
Use ring.Buffer in textBuf+display only needed chars+show bottom of buffer
2022-07-15 20:54:23 +04:00
cd249fcd54
Fixes to write cmdBuf
2022-07-15 15:37:29 +04:00
7f7f90d4c6
Syntax highlighting setup
2022-07-15 15:27:39 +04:00
ecd6bdae3e
Tidy
2022-07-15 14:24:36 +04:00
744e9abfb3
Home/End
2022-07-15 13:41:19 +04:00
82acbe939e
Proper cursor move and insert/delete operations at cursor
2022-07-15 13:38:33 +04:00
1122d27f57
Remove some stuff
2022-07-12 19:09:11 +04:00
1572ba4743
Std out/in/err of processes
2022-07-12 19:06:03 +04:00
dd09750b04
Simple scroll+better cmd running
2022-07-12 17:22:04 +04:00
755770d3be
Basic cmd running
2022-07-12 17:12:20 +04:00
2821505d47
Cmd buffer and text buffer
2022-07-12 16:58:23 +04:00
68962238e2
Ability to input text and show cursor+return last char pos from glyph renderer
2022-07-12 13:10:20 +04:00
8dfedbe030
Debug around pprof
2022-07-12 11:21:47 +04:00
38dafbfd65
Fast path shaping non-joining chars
2022-07-11 11:29:12 +04:00
851387d6d8
Fix calcNeededAtlasSize
2022-07-11 11:13:42 +04:00
908ff7e562
Use accurate space advance+correct grid drawing
2022-07-11 09:41:58 +04:00
dec853adca
New line height in atlas based on character lengths
2022-07-10 21:49:33 +04:00
f21e1ec201
Fix horizontal positioning by making sure space advance is int
2022-07-10 21:43:04 +04:00
254113c12e
Much tighter atlas packing
2022-07-10 21:27:23 +04:00
c84702270e
Horizontal position issues was because of the font! Also:
...
turn GlyphFromRunes into a function and use g.Advance
to have basic support for variable width fonts
2022-07-10 17:24:06 +04:00
7fa94806a4
Accurate vertical positioning of text+return fractional bearing/descent
2022-07-10 12:42:31 +04:00
cb2ead0907
Avoid heap allocating in GetTextRuns+Perf notes+pprof by default
2022-07-08 08:44:57 +04:00
d8289139d3
Make TextRun struct to clean GetTextRuns
2022-07-08 08:09:12 +04:00
9388bc0c92
Advance by char width+better debug tools
2022-07-08 07:58:08 +04:00
2da4b7a53d
Disable DepthTest when drawing glyphs+move shared glyph draw logic
...
With depth testing enabled nearby glyphs can z-fight
and so some pixels might be discarded before fragment shader
even runs, which causes us to see only part of a letter.
As such we always draw with blending enabled and depth testing
disabled so that any overlaps simply causes the char pixels to show.
2022-07-08 06:33:20 +04:00
16bfe7f05b
Use per-char width instead of fixed advance in font atlas
...
This gives us more (much?) efficient packing of letters
and we load exact size of the letters.
It looks visually a lot better too!
This wasn't good with normal smapling, but using texelFetch its
great.
2022-07-07 15:33:51 +04:00
d23e833b54
Use texelFetch+debug grid in atlas
2022-07-06 17:53:55 +04:00
afcd514f98
Proper runs and glyph shaping. Arabic rendering properly!
2022-07-05 10:42:51 +04:00
0368ee9caf
Alhamdullah basic arabic rendering :D
2022-07-05 08:20:45 +04:00
ed1ec0d67e
Basic run extraction
2022-07-05 07:29:33 +04:00
603409e58e
Detect script of runes
2022-07-05 07:12:11 +04:00
c40d1dfdf1
Fix decoding decomp info+include rune equivalence
2022-07-05 06:39:32 +04:00
a762283b1d
Alhamdullah start proper unicode support+context aware rendering
2022-07-04 10:16:03 +04:00
0ff7f051f6
Handle tabs
2022-07-04 02:45:59 +04:00
c82fd6aac7
Correct alpha handling in glyph shader
2022-07-04 01:56:47 +04:00
3d7d09744d
Don't allocate when drawing by reusing glyp rend buffer
2022-07-04 01:10:37 +04:00