Canvas readme

This commit is contained in:
Daniel Imms
2022-07-28 04:37:42 -07:00
parent cbddd2029e
commit 73b3e31b38
3 changed files with 22 additions and 12 deletions
+21 -1
View File
@@ -1,3 +1,23 @@
## xterm-addon-canvas
TODO: Doc
An addon for [xterm.js](https://github.com/xtermjs/xterm.js) that enables a canvas-based renderer using a 2d context to draw. This addon requires xterm.js v5+.
### Install
```bash
npm install --save xterm-addon-canvas
```
### Usage
```ts
import { Terminal } from 'xterm';
import { CanvasAddon } from 'xterm-addon-canvas';
const terminal = new Terminal();
terminal.open(element);
terminal.loadAddon(new CanvasAddon());
```
See the full [API](https://github.com/xtermjs/xterm.js/blob/master/addons/xterm-addon-canvas/typings/xterm-addon-canvas.d.ts) for more advanced usage.
@@ -12,8 +12,6 @@ import { ITerminalAddon, Terminal } from 'xterm';
export class CanvasAddon implements ITerminalAddon {
private _terminal?: Terminal;
private _renderer?: CanvasRenderer;
// private _onContextLoss = new EventEmitter<void>();
// public get onContextLoss(): IEvent<void> { return this._onContextLoss.event; }
public activate(terminal: Terminal): void {
if (!terminal.element) {
@@ -27,7 +25,6 @@ export class CanvasAddon implements ITerminalAddon {
const screenElement: HTMLElement = (terminal as any)._core.screenElement;
const linkifier = (terminal as any)._core.linkifier2;
this._renderer = instantiationService.createInstance(CanvasRenderer, colors, screenElement, linkifier);
// this._renderer.onContextLoss(() => this._onContextLoss.fire());
renderService.setRenderer(this._renderer);
renderService.onResize(bufferService.cols, bufferService.rows);
}
@@ -42,12 +39,4 @@ export class CanvasAddon implements ITerminalAddon {
this._renderer?.dispose();
this._renderer = undefined;
}
// public get textureAtlas(): HTMLCanvasElement | undefined {
// return this._renderer?.textureAtlas;
// }
// public clearTextureAtlas(): void {
// this._renderer?.clearCharAtlas();
// }
}
+1
View File
@@ -16,6 +16,7 @@ import { Terminal } from 'xterm';
import { WebglAddon } from 'xterm-addon-webgl';
const terminal = new Terminal();
terminal.open(element);
terminal.loadAddon(new WebglAddon());
```