Commit Graph

85 Commits

Author SHA1 Message Date
dd61b2a871 Rendering based on lines 2022-08-01 05:22:11 +04:00
031f80f438 Rename struct program->nterm+improve comments 2022-08-01 04:22:05 +04:00
f3a9a70c73 Fix scrolling back causing empty lines sometimes 2022-08-01 03:41:14 +04:00
05fb837400 Make SepLinePos part of program struct 2022-08-01 03:30:46 +04:00
06599748eb Alhamdullah working scrolling that respects wrapped text 2022-08-01 03:27:54 +04:00
4df40db7f7 Somewhat doing proper scrollback with wrapping 2022-07-29 08:51:50 +04:00
10372dd743 Fix paragraph viewing bugs+indexing helpers for ring buffer 2022-07-24 20:56:20 +04:00
854fb7ac64 Starting using lines to render+rect glyph draw funcs 2022-07-24 07:37:43 +04:00
4c458c3c55 Make ParseLines much faster using bytes.IndexByte 2022-07-24 05:37:20 +04:00
bea69429f9 Detect lines as they come in+sprintf in assert so it gets optimized away on release mode :) 2022-07-24 05:06:07 +04:00
46f958c935 Remove insert/delete from ring+track total written elements to ring 2022-07-24 03:21:09 +04:00
a531d5904b Fix bug in ViewsFromTo where from might clip first value 2022-07-24 02:38:12 +04:00
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