Daniel Imms
28fcffe46c
Optimize _clipImageData
...
This makes clip image data around twice as fast, it's a little tricky to
measure it though. Changes:
- Work on Uint32Array instead of Uint8 so it's 1 assignment per pixel
instead of 1 per channel.
- Perform the clipping in-place using the original image data to avoid
allocation a new buffer.
Fixes #4197
2022-10-12 10:16:26 -07:00
Daniel Imms
1b13127f0b
Merge pull request #4195 from Tyriar/4190
...
Create onSpecificOptionChange and onMultipleOptionChange helpers
2022-10-09 11:04:59 -07:00
Daniel Imms
a37ea14d10
Use options service in renderers
2022-10-09 10:57:49 -07:00
Daniel Imms
8d7137417b
Split renderer safe vs unsafe api on activate
2022-10-09 10:12:19 -07:00
Daniel Imms
e47296c1b9
Use options service directly in renderers
2022-10-09 09:28:18 -07:00
Daniel Imms
96b26b2e4a
Merge pull request #4193 from silamon/fixdemoagain
...
Fix demo again
2022-10-09 09:23:07 -07:00
Daniel Imms
8ac88bc6bf
Move Terminal option updates into owning components
2022-10-09 09:07:01 -07:00
Daniel Imms
7eead44048
Add onMultipleOptionChange
2022-10-09 08:14:56 -07:00
Daniel Imms
49a0904857
Move onSpecificOptionChange adoption
2022-10-09 08:07:43 -07:00
Simon Lamon
a4c62792df
revert formatting changes
2022-10-09 15:03:54 +00:00
Simon Lamon
1c345bef48
Handle onWillFire if it fails, so it loads dom renderer
2022-10-09 15:01:15 +00:00
Daniel Imms
415100e8b8
Adopt onSpecificOptionChange
2022-10-09 07:46:10 -07:00
Simon Lamon
627410a537
Add broken demo to investigate
2022-10-09 14:26:08 +00:00
Daniel Imms
cad9c4164c
onOptionChange/onSpecificOptionChange tests
2022-10-09 07:16:56 -07:00
Daniel Imms
a87b6c3f2e
Implement IOptionsService.onSpecificOptionChange
...
Part of #4190
2022-10-09 07:09:35 -07:00
Daniel Imms
a2a855d747
Merge pull request #4192 from silamon/ubuntudeprecation
...
Switch to Ubuntu 20.04
2022-10-09 06:25:11 -07:00
Simon Lamon
bd661fdb07
Fix demo again
2022-10-09 11:29:33 +00:00
Simon Lamon
f983b3cac1
Ubuntu 18.04 deprecation
2022-10-09 10:15:13 +00:00
Daniel Imms
0ba12301a6
Merge pull request #4188 from Tyriar/4184
...
Create theme service
2022-10-08 15:51:44 -07:00
Daniel Imms
97e084aa50
Remove document from test
2022-10-08 15:44:21 -07:00
Daniel Imms
e0fb3b4d19
Remove ColorManager
2022-10-08 15:23:29 -07:00
Daniel Imms
a1050d1a11
Merge ColorManager into ThemeService
2022-10-08 15:20:15 -07:00
Daniel Imms
7f9e3b1225
Remove resolved todo
2022-10-08 14:09:00 -07:00
Daniel Imms
48f15cb543
Remove remaining setColors methods
2022-10-08 14:07:28 -07:00
Daniel Imms
6e35bcd767
Use theme service in more places
2022-10-08 13:55:23 -07:00
Daniel Imms
80e474c6ad
Viewport listen to theme service
2022-10-08 13:31:31 -07:00
Daniel Imms
4dee0c5d4b
Build out theme service more
2022-10-08 12:15:21 -07:00
Daniel Imms
a22ad76bd8
Merge pull request #4189 from Tyriar/ensure_canvas_changed
...
Ensure stale bitmap is not used when drawing new characters
2022-10-08 12:04:27 -07:00
Daniel Imms
4f5154fd21
Ensure stale bitmap is not used when drawing new characters
...
This would cause a problem where the first time a glyph is used it would
not be visible because it was using the old invalidated bitmap.
2022-10-08 11:56:29 -07:00
Daniel Imms
cc6def57e4
Use readonly color set in canvas addon
2022-10-08 11:46:41 -07:00
Daniel Imms
c4750eaf77
Create basic theme service
...
Part of #4184
2022-10-08 11:43:19 -07:00
Daniel Imms
8db2244f5d
Merge pull request #4187 from Tyriar/4183_on_naming
...
Lint rule for on=event emitter and rename all methods with on prefix to handle
2022-10-08 11:14:15 -07:00
Daniel Imms
5d8e4a0af4
Add lint rule to ensure _on prefix is only for event emitters
2022-10-08 11:05:52 -07:00
Daniel Imms
eecf52e949
Add lint rule to ensure on prefix is only for event emitters
...
Fixes #4183
2022-10-08 10:57:31 -07:00
Daniel Imms
d8c31d7ad0
Merge pull request #4185 from Tyriar/4167_register_emitter
...
Fix a bunch of memory retention problems
2022-10-08 10:35:04 -07:00
Daniel Imms
d8cf3af555
Fix Marker.dispose
2022-10-08 10:23:19 -07:00
Daniel Imms
d3976c05f1
Fix marker dispose unit tests
2022-10-08 09:27:58 -07:00
Daniel Imms
94c3d11239
Fix compile
2022-10-08 09:11:28 -07:00
Daniel Imms
00f6d3a88c
Register all event emitters, make some services disposable
2022-10-08 09:00:14 -07:00
Daniel Imms
f61d8c91a3
Properly register disposables in SearchAddon
2022-10-08 08:30:39 -07:00
Daniel Imms
ac659cb412
Prevent overriding of Disposable.dispose
...
A common mistake made was overriding dispose and not calling super.dispose,
so a TS trick is now used to move it to a readonly property instead of a
member method which prevents it being overridden.
2022-10-08 08:27:10 -07:00
Daniel Imms
34475f24c3
Release canvas texture atlas
2022-10-08 08:11:28 -07:00
Daniel Imms
8116e035b4
Register webgl renderers
2022-10-08 08:06:43 -07:00
Daniel Imms
56b37a73ac
Free WebglAddon
2022-10-08 07:37:55 -07:00
Daniel Imms
fc8043a25a
Ensure webgl texture atlas is released on dispose
2022-10-08 07:32:51 -07:00
Daniel Imms
f88c0e7480
Polish emitter registering in canvas renderer
...
Part of #4167
2022-10-08 07:24:35 -07:00
Daniel Imms
d948b31304
Merge pull request #4181 from Tyriar/clear_race
...
Fix race condition that could when clearing atlas on 2+ terminals
2022-10-07 16:34:27 -07:00
Daniel Imms
9a4d5dbe26
Merge pull request #4182 from Tyriar/delete_canvas_atlas
...
Remove the canvas char atlas
2022-10-07 16:32:51 -07:00
Daniel Imms
8e7093f03b
Remove the canvas char atlas
...
This was unused and removing from cache was broken apparently
2022-10-07 16:20:01 -07:00
Daniel Imms and Megan Rogge
c4eef2f470
Fix race condition that could when clearing atlas on 2+ terminals
...
This is the proper fix for microsoft/vscode#162996 , after a bunch of
investigation we found that this is causing the problem:
VS Code clears the texture atlas on OS resume to fix an issue where the texture
could be corrupted. This calls clearTextureAtlas twice which should be fine, but
it's not because inside WebglRenderer.clear we're calling updateModel which is
meant to only ever be called in an animation frame. This calls potentially both
renderers to have stale views of the texture atlas for those rows and our perf
caching of cells (the main purpose of the model) doesn't know it's stale.
Co-Authored-By: Megan Rogge <merogge@microsoft.com >
2022-10-07 16:17:11 -07:00