Skip to content

Commit 062f948

Browse files
authored
Merge pull request #17 from brunopicinin/fix-reset-state-on-new-image
Bugfix: reset state correctly when dropping a new image
2 parents d21543b + c55fc08 commit 062f948

File tree

1 file changed

+15
-12
lines changed

1 file changed

+15
-12
lines changed

script.js

+15-12
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,13 @@ offScreenCanvas.width = canvas.width;
2323
offScreenCanvas.height = canvas.height;
2424

2525
var img = new Image();
26-
var rgb_color = "#FF00FF";
26+
var rgb_color = color_choices[0];
2727
var fill_color = 'rgba(0,0,0,0.35)';
2828

2929
var scaleFactor = 1;
3030
var scaleSpeed = 0.01;
3131

3232
var points = [];
33-
var regions = [];
3433
var masterPoints = [];
3534
var masterColors = [];
3635

@@ -39,8 +38,14 @@ setDrawMode('polygon');
3938
var constrainAngles = false;
4039
var showNormalized = false;
4140

42-
var modeMessage = document.querySelector('#mode');
43-
// var coords = document.querySelector('#coords');
41+
function resetState() {
42+
points = [];
43+
masterPoints = [];
44+
masterColors = [];
45+
rgb_color = color_choices[0];
46+
document.querySelector('#json').innerHTML = '';
47+
document.querySelector('#python').innerHTML = '';
48+
}
4449

4550

4651
var isFullscreen = false;
@@ -340,6 +345,10 @@ canvas.addEventListener('drop', function(e) {
340345
reader.readAsDataURL(file);
341346

342347
img.onload = function() {
348+
// reset state to initial values
349+
resetState();
350+
351+
// draw loaded image on canvas
343352
scaleFactor = 0.25;
344353
canvas.style.width = img.width * scaleFactor + 'px';
345354
canvas.style.height = img.height * scaleFactor + 'px';
@@ -351,8 +360,6 @@ canvas.addEventListener('drop', function(e) {
351360
offScreenCtx.drawImage(img, 0, 0);
352361
blitCachedCanvas();
353362
};
354-
// show coords
355-
// document.getElementById('coords').style.display = 'inline-block';
356363
});
357364

358365
function writePoints(parentPoints) {
@@ -571,16 +578,12 @@ document.querySelector('#discard-current').addEventListener('click', function(e)
571578

572579
function clearAll() {
573580
highlightButtonInteraction('#clear')
581+
resetState();
582+
// reset main and offscreen canvases
574583
mainCtx.clearRect(0, 0, canvas.width, canvas.height);
575584
offScreenCtx.clearRect(0, 0, offScreenCanvas.width, offScreenCanvas.height);
576585
mainCtx.drawImage(img, 0, 0);
577586
offScreenCtx.drawImage(img, 0, 0);
578-
points = [];
579-
masterPoints = [];
580-
masterColors = [];
581-
rgb_color = color_choices[0];
582-
document.querySelector('#json').innerHTML = '';
583-
document.querySelector('#python').innerHTML = '';
584587
}
585588

586589
document.querySelector('#clear').addEventListener('click', function(e) {

0 commit comments

Comments
 (0)