Commit Graph
339 Commits
Author SHA1 Message Date
Daniel Imms 0d7e18d236 Add CellColorResolver to share load color code 2022-10-04 14:41:27 -07:00
Daniel Imms 83c09c34db Share selection render model code 2022-10-04 14:23:09 -07:00
Daniel Imms 03e3105c55 Fix fg/bg overrides in canvas 2022-10-04 14:10:27 -07:00
Daniel Imms 590a8219e3 Merge remote-tracking branch 'upstream/master' into shared_cache 2022-10-02 13:42:44 -07:00
Daniel Imms d22f7c9edd Merge pull request #4166 from Tyriar/event_with_emitter
Create new event with emitter object to simplify code
2022-10-02 13:41:37 -07:00
Daniel Imms 0bc5ca8f80 Fix imports 2022-10-02 11:08:06 -07:00
Daniel Imms f38a49b4d5 Move remaining webgl atlas to shared 2022-10-02 08:48:55 -07:00
Daniel Imms 26c974f9b6 Shuffle some utils 2022-10-02 08:37:13 -07:00
Daniel Imms 333b0e28ac Add ITextureAtlas and use that instead of WebglCharAtlas 2022-10-02 07:48:43 -07:00
Daniel Imms d669c6e9d6 Fix remaining references 2022-10-01 18:03:43 -07:00
Daniel Imms c5f9eacbb1 Move other render parts to shared folder 2022-10-01 17:41:16 -07:00
Daniel Imms 6fcc496547 Move cache utils to core shared/ folder
Part of #4065
2022-10-01 17:36:16 -07:00
Daniel Imms 2a602ef231 Ensure texture atlas comparison uses rgba not object
Fixes #4128
2022-10-01 10:20:37 -07:00
Daniel Imms 2e8b793ba0 Format files 2022-10-01 08:56:56 -07:00
Daniel Imms ed15a8e170 Create new event with emitter object to simplify code 2022-10-01 08:45:40 -07:00
Daniel Imms 8e378c07e9 Merge pull request #4165 from Tyriar/4164
Define all events and emitters consistently
2022-10-01 08:28:18 -07:00
Daniel Imms 1a22c44f2b Make all emitters readonly 2022-10-01 08:02:32 -07:00
Daniel Imms cf9949840b Use readonly over getter for exposing events
Fixes #4164
2022-10-01 07:52:26 -07:00
Daniel Imms 52ed65d7bd Move w objects to $ prefix variables
Fixes #4138
2022-10-01 07:26:07 -07:00
Daniel Imms c548977a3e Fix imports 2022-09-24 16:16:14 -07:00
Daniel Imms aec1f2b2be Fix import 2022-09-24 11:58:17 -07:00
Daniel Imms c42f290eb8 Do char atlas warmup via new IdleTaskQueue 2022-09-24 11:10:54 -07:00
Daniel Imms d62b4531c3 Optimize contexts for reading frequently
This was a recommendation from Edge.
Docs here: https://html.spec.whatwg.org/multipage/canvas.html#concept-canvas-will-read-frequently
2022-09-24 06:58:01 -07:00
Daniel Imms 78128762f9 Perform texture atlas warm up in an idle callback
Part of #4103
2022-09-22 13:06:08 -07:00
Mihai Parparita a39a468f19 Make terminal rendering work in popout windows
Add support for the parent element (what is passed to Terminal.open)
being in a different (same origin) window. Accesses to DOM APIs such
as requestAnimationFrame and devicePixelRatio thus need to be scoped
to the corrent window, instead of assuming that it's the same as the
window/global scope where the code is running.

This is done by inferring a parent window at the creation time, and
then storing it in CoreBrowserService, which is already passed to most
places that need it.

To catch future regressions, an ESLint rule that checks for global
accesses is added (it uses AST selectors via the no-restricted-syntax
rule).

This should also be applicable when the parent element is an iframe.

Fixes #3758
2022-09-08 16:59:31 -07:00
Daniel Imms 9ef2397918 Merge pull request #4101 from JasonXJ/render-bug
WebglRenderer always clears _glyphRenderer if _model is cleared
2022-09-07 09:01:41 -07:00
Jason Lin 4752f99e03 Webgl cursor renderer makes sure a char is not drawn outside of the cell 2022-09-06 14:12:15 +10:00
Jason Lin e5ad3ce9b9 Polish 2022-09-05 17:32:02 +10:00
Jason Lin faf5f72c1f Clear glyph render when the webgl model is cleared 2022-09-05 13:32:04 +10:00
Daniel Imms e8e2f16cff Merge remote-tracking branch 'upstream/master' into pr/silamon/4004 2022-09-02 13:05:52 -07:00
Daniel Imms 1b38a004a3 Merge pull request #3992 from SvanT/master
Bump minimum target to es2015
2022-09-02 12:43:40 -07:00
Daniel Imms d673e02afe Merge pull request #4089 from Tyriar/lgtm
Fix lgtm recommendations
2022-08-31 06:26:56 -07:00
Daniel Imms f309affff2 Tweak handling of _contextRestorationTimeout 2022-08-31 05:44:48 -07:00
Kenneth Russell 9459553665 Handle WebGL context loss/restore events in WebGL renderer.
If the context is restored within a brief period of time (3 seconds),
recreate members dependent on WebGL state, and fire onRequestRedraw to
the renderer's listeners.

Handle changes to the char atlas better in the demo client.

Tested in Chrome Canary on macOS by running the demo in one window,
and visiting the internal URL about:gpucrash in another window. The
terminal now recovers and redraws properly.
2022-08-30 19:42:22 -07:00
Daniel Imms 4a6e7bee21 Fix lgtm recommendations 2022-08-30 14:09:39 -07:00
Daniel Imms ef759a6d7b Merge pull request #4086 from Tyriar/padding_powerline
Only remove padding from restricted powerline chars
2022-08-30 08:53:03 -07:00
Daniel Imms 5c6d16ef0a Only remove padding from restricted powerline chars 2022-08-28 13:33:09 -07:00
Daniel Imms f7e0f69598 Fix rounding error gap in webgl renderer
Fixes #4054
Fixes #4076
2022-08-28 13:22:29 -07:00
Daniel Imms 3b4ecd0709 Optimize gc in rectangle renderer 2022-08-28 09:20:24 -07:00
Daniel Imms 4a50ca81c6 Optimize gc for WebglRenderer._updateModel and BufferLine.loadCell
RectangleRenderer not done yet
2022-08-28 09:06:42 -07:00
Daniel Imms 1d945fdffc Create 2 and 4 key map objects, use in color and glyph caches 2022-08-28 08:34:51 -07:00
Daniel Imms 23ee719f6e Remove more garbage collection issues from cell render loop
Part of #4079
2022-08-28 08:02:35 -07:00
Daniel Imms 1b64a09f50 Correct conditions after moving to work object 2022-08-27 21:35:56 -07:00
Daniel Imms 5e3f63e876 Avoid garbage collection in webgl decoration hot code
Part of #4079
2022-08-27 20:06:58 -07:00
Daniel Imms 4ecc098de4 Get width of emoji/combined chars 2022-08-27 06:38:15 -07:00
Daniel Imms e76918eddc Take char width into account when drawing underlines/strokethrough
Fixes #4063
2022-08-27 06:34:38 -07:00
Daniel Imms 2526409ca5 Merge pull request #4074 from Tyriar/4059
Only draw character outline if it has a descent
2022-08-26 14:38:40 -07:00
Daniel Imms 7ffd9e1f7f Only draw character outline if it has a descent
Fixes #4059
2022-08-26 14:16:02 -07:00
Daniel Imms 8bbbc98ac8 Merge pull request #4073 from Tyriar/4072
Show entire glyph for extra powerline symbols
2022-08-26 08:33:53 -07:00
Daniel Imms f6860442fb Show entire glyph for extra powerline symbols
Fixes #4072
2022-08-26 08:12:00 -07:00