mirror of
https://github.com/idrawjs/idraw
synced 2026-05-24 10:08:34 +00:00
feat: add @idraw/kernal context2d CanvasDrawImage
This commit is contained in:
parent
49691f81d1
commit
0861c811a6
2 changed files with 64 additions and 18 deletions
|
|
@ -18,7 +18,38 @@ describe('@idraw/kernal: lib/context-2d', () => {
|
|||
expect(ctx2d.globalCompositeOperation).toStrictEqual(globalCompositeOperation);
|
||||
expect(ctx2d.$getAllAttrs()).toStrictEqual({ globalCompositeOperation });
|
||||
expect(ctx2d.$getAllRecords()).toStrictEqual([ { name: 'globalCompositeOperation', type: 'attr', args: [ globalCompositeOperation ] } ]);
|
||||
expect(1).toStrictEqual(1);
|
||||
});
|
||||
|
||||
|
||||
test('Context2d.drawImage', async () => {
|
||||
const ctx2d = new Context2d();
|
||||
const img = new Image();
|
||||
const dx = 11;
|
||||
const dy = 12;
|
||||
const dw = 51;
|
||||
const dh = 52;
|
||||
const sx = 61;
|
||||
const sy = 62;
|
||||
const sw = 101
|
||||
const sh = 102;
|
||||
ctx2d.drawImage(img, dx, dy);
|
||||
ctx2d.drawImage(img, dx, dy, dw, dh);
|
||||
ctx2d.drawImage(img, sx, sy, sw, sh, dx, dy, dw, dh);
|
||||
expect(ctx2d.$getAllRecords()).toStrictEqual([{
|
||||
name: 'drawImage',
|
||||
type: 'method',
|
||||
args: [img, dx, dy]
|
||||
},
|
||||
{
|
||||
name: 'drawImage',
|
||||
type: 'method',
|
||||
args: [img, dx, dy, dw, dh]
|
||||
},
|
||||
{
|
||||
name: 'drawImage',
|
||||
type: 'method',
|
||||
args: [img, sx, sy, sw, sh, dx, dy, dw, dh]
|
||||
}]);
|
||||
});
|
||||
})
|
||||
|
||||
|
|
|
|||
|
|
@ -1,22 +1,22 @@
|
|||
// import { TypeContext, TypeBoardSizeOptions } from '@idraw/types';
|
||||
|
||||
// interface CanvasRenderingContext2D extends
|
||||
// CanvasCompositing,
|
||||
// CanvasDrawImage,
|
||||
// CanvasDrawPath,
|
||||
// CanvasFillStrokeStyles,
|
||||
// CanvasFilters,
|
||||
// CanvasImageData,
|
||||
// CanvasImageSmoothing,
|
||||
// CanvasPath,
|
||||
// CanvasPathDrawingStyles,
|
||||
// CanvasRect,
|
||||
// CanvasShadowStyles,
|
||||
// CanvasState,
|
||||
// CanvasText,
|
||||
// CanvasTextDrawingStyles,
|
||||
// CanvasTransform,
|
||||
// CanvasUserInterface {};
|
||||
interface CanvasRenderingContext2D extends
|
||||
// CanvasCompositing, // OK
|
||||
// CanvasDrawImage, // OK
|
||||
CanvasDrawPath,
|
||||
CanvasFillStrokeStyles,
|
||||
CanvasFilters,
|
||||
CanvasImageData,
|
||||
CanvasImageSmoothing,
|
||||
CanvasPath,
|
||||
CanvasPathDrawingStyles,
|
||||
CanvasRect,
|
||||
CanvasShadowStyles,
|
||||
CanvasState,
|
||||
CanvasText,
|
||||
CanvasTextDrawingStyles,
|
||||
CanvasTransform,
|
||||
CanvasUserInterface {};
|
||||
|
||||
|
||||
type ContextRecord = {
|
||||
|
|
@ -67,6 +67,21 @@ class Context2d {
|
|||
}
|
||||
|
||||
|
||||
drawImage(
|
||||
image: CanvasImageSource, sx: number, sy: number,
|
||||
sw?: number, sh?: number, dx?: number, dy?: number, dw?: number, dh?: number
|
||||
): void{
|
||||
const args = Array.from(arguments);
|
||||
this._records.push({
|
||||
name: 'drawImage',
|
||||
type: 'method',
|
||||
args: args,
|
||||
});
|
||||
}
|
||||
|
||||
// drawImage(image: CanvasImageSource, dx: number, dy: number, dw: number, dh: number): void {
|
||||
// }
|
||||
|
||||
|
||||
$getAllRecords(): ContextRecord[] {
|
||||
return this._records;
|
||||
|
|
|
|||
Loading…
Reference in a new issue