Skip to content

Commit d9aeaef

Browse files
author
Kevin Busch
committed
Made canvas sketch's redrawSketch public and updated react component to call it when redraw incrementer changes
1 parent 154ba27 commit d9aeaef

2 files changed

Lines changed: 23 additions & 24 deletions

File tree

src/atoms/forms/canvas-sketch/canvas-sketch.ts

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,22 @@ class CanvasSketch {
137137
*/
138138
public redrawCurrentState(): void {
139139
this._redrawBackgroundImage();
140-
this._redrawSketch();
140+
this.redrawSketch();
141+
}
142+
143+
/**
144+
* Clears the sketch canvas and redraws all current stack objects to it
145+
*/
146+
public redrawSketch(): void {
147+
if (!this._isBrowserSupported) {
148+
return;
149+
}
150+
151+
this._clearSketchCanvas();
152+
153+
const stackToDraw = this._getStackToDraw();
154+
155+
this._drawObjects(stackToDraw);
141156
}
142157

143158
/**
@@ -172,7 +187,7 @@ class CanvasSketch {
172187
this._config.objectStack = objects;
173188
this._config.currentObjectIndex = newCurrentObjectIndex;
174189

175-
this._redrawSketch();
190+
this.redrawSketch();
176191
}
177192

178193
/**
@@ -415,14 +430,14 @@ class CanvasSketch {
415430
this._toolConfig = {
416431
canvas: this._config.sketchCanvas,
417432
context: this._sketchContext,
418-
redraw: this._redrawSketch,
433+
redraw: this.redrawSketch,
419434
};
420435
this._drawToolConfig = Object.assign({
421436
onFinishStroke: (strokeSettings: CanvasDrawToolSettings) => { },
422437
uiSettings: this._drawToolUiSettings,
423438
}, this._toolConfig);
424439

425-
this.imageTool = new ImageCanvasTool(Object.assign({}, this._toolConfig, { redraw: this._redrawSketch }));
440+
this.imageTool = new ImageCanvasTool(Object.assign({}, this._toolConfig, { redraw: this.redrawSketch }));
426441
this.lineDrawTool = new LineCanvasDrawTool(this._drawToolConfig);
427442
this.pencilDrawTool = new PencilCanvasDrawTool(this._drawToolConfig);
428443
this.panTool = new PanCanvasTool(Object.assign({}, this._toolConfig, { panTo: this._panTo }));
@@ -471,21 +486,6 @@ class CanvasSketch {
471486
}
472487
}
473488

474-
/**
475-
* Clears the sketch canvas and redraws all current stack objects to it
476-
*/
477-
private _redrawSketch(): void {
478-
if (!this._isBrowserSupported) {
479-
return;
480-
}
481-
482-
this._clearSketchCanvas();
483-
484-
const stackToDraw = this._getStackToDraw();
485-
486-
this._drawObjects(stackToDraw);
487-
}
488-
489489
/**
490490
* Clears the background image canvas and redraws the background image to it
491491
*/

src/atoms/forms/canvas-sketch/react-canvas-sketch.tsx

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -191,18 +191,17 @@ const ReactCanvasSketch: React.FunctionComponent<ReactCanvasSketchProps> = (
191191
props.value.objects,
192192
]);
193193

194+
const { redrawIncrement } = props;
194195
// redraw the sketch canvas when redraw increment changes
195196
useEffect(() => {
196197
if (canvasSketch == null) {
197198
return;
198199
}
199200

200-
const { value } = { ...props };
201-
202-
canvasSketch.redrawSketchAt(value.objects, value.currentObjectIndex);
201+
canvasSketch.redrawSketch();
203202
}, [
204-
props,
205-
canvasSketch
203+
canvasSketch,
204+
redrawIncrement,
206205
]);
207206

208207
// redraw the background image when it changes

0 commit comments

Comments
 (0)