pooyanrg commited on
Commit
184bd48
·
1 Parent(s): 3f7fcb1
Files changed (1) hide show
  1. js/interactive_grid.js +14 -11
js/interactive_grid.js CHANGED
@@ -1,5 +1,6 @@
1
  const gridSize = 14;
2
- var cellSize = null;
 
3
  var inputImage = null;
4
  var image_bef = null;
5
  var image_aft = null;
@@ -81,14 +82,14 @@ function drawGridBefore() {
81
  for (let row = 0; row < gridSize; row++) {
82
  for (let col = 0; col < gridSize; col++) {
83
  ctx_bef.beginPath();
84
- ctx_bef.rect(col * cellSize, row * cellSize, cellSize, cellSize);
85
  ctx_bef.strokeStyle = 'black';
86
  ctx_bef.lineWidth = 1;
87
  ctx_bef.stroke();
88
 
89
  if (grid_bef[row][col]) {
90
  ctx_bef.fillStyle = 'rgba(0, 255, 0, 0.5)';
91
- ctx_bef.fillRect(col * cellSize, row * cellSize, cellSize, cellSize);
92
  }
93
  }
94
  }
@@ -102,14 +103,14 @@ function drawGridAfter() {
102
  for (let row = 0; row < gridSize; row++) {
103
  for (let col = 0; col < gridSize; col++) {
104
  ctx_aft.beginPath();
105
- ctx_aft.rect(col * cellSize, row * cellSize, cellSize, cellSize);
106
  ctx_aft.strokeStyle = 'black';
107
  ctx_aft.lineWidth = 1;
108
  ctx_aft.stroke();
109
 
110
  if (grid_aft[row][col]) {
111
  ctx_aft.fillStyle = 'rgba(0, 255, 0, 0.5)';
112
- ctx_aft.fillRect(col * cellSize, row * cellSize, cellSize, cellSize);
113
  }
114
  }
115
  }
@@ -133,7 +134,8 @@ function initializeEditorBefore() {
133
  canvas_before.addEventListener('mouseup', handleMouseUp);
134
  canvas_before.addEventListener('mouseleave', handleMouseLeave);
135
 
136
- cellSize = canvas_before.width / gridSize;
 
137
 
138
  canvas_before.addEventListener('click', (event) => {
139
  const rect = canvas_before.getBoundingClientRect();
@@ -141,8 +143,8 @@ function initializeEditorBefore() {
141
  const scaleY = canvas_before.height / rect.height;
142
  const x = (event.clientX - rect.left) * scaleX;
143
  const y = (event.clientY - rect.top) * scaleY;
144
- const row = Math.floor(y / cellSize);
145
- const col = Math.floor(x / cellSize);
146
 
147
  // If the cell is already selected, it's always allowed to deselect it
148
  if (grid_bef[row][col]) {
@@ -180,7 +182,8 @@ function initializeEditorAfter() {
180
  canvas_after.addEventListener('mouseup', handleMouseUp);
181
  canvas_after.addEventListener('mouseleave', handleMouseLeave);
182
 
183
- cellSize = canvas_after.width / gridSize;
 
184
 
185
  canvas_after.addEventListener('click', (event) => {
186
  const rect = canvas_after.getBoundingClientRect();
@@ -188,8 +191,8 @@ function initializeEditorAfter() {
188
  const scaleY = canvas_after.height / rect.height;
189
  const x = (event.clientX - rect.left) * scaleX;
190
  const y = (event.clientY - rect.top) * scaleY;
191
- const row = Math.floor(y / cellSize);
192
- const col = Math.floor(x / cellSize);
193
 
194
  // If the cell is already selected, it's always allowed to deselect it
195
  if (grid_aft[row][col]) {
 
1
  const gridSize = 14;
2
+ var cellSizeX = null;
3
+ var cellSizeY = null;
4
  var inputImage = null;
5
  var image_bef = null;
6
  var image_aft = null;
 
82
  for (let row = 0; row < gridSize; row++) {
83
  for (let col = 0; col < gridSize; col++) {
84
  ctx_bef.beginPath();
85
+ ctx_bef.rect(col * cellSizeX, row * cellSizeY, cellSizeX, cellSizeY);
86
  ctx_bef.strokeStyle = 'black';
87
  ctx_bef.lineWidth = 1;
88
  ctx_bef.stroke();
89
 
90
  if (grid_bef[row][col]) {
91
  ctx_bef.fillStyle = 'rgba(0, 255, 0, 0.5)';
92
+ ctx_bef.fillRect(col * cellSizeX, row * cellSizeY, cellSizeX, cellSizeY);
93
  }
94
  }
95
  }
 
103
  for (let row = 0; row < gridSize; row++) {
104
  for (let col = 0; col < gridSize; col++) {
105
  ctx_aft.beginPath();
106
+ ctx_aft.rect(col * cellSizeX, row * cellSizeY, cellSizeX, cellSizeY);
107
  ctx_aft.strokeStyle = 'black';
108
  ctx_aft.lineWidth = 1;
109
  ctx_aft.stroke();
110
 
111
  if (grid_aft[row][col]) {
112
  ctx_aft.fillStyle = 'rgba(0, 255, 0, 0.5)';
113
+ ctx_aft.fillRect(col * cellSizeX, row * cellSizeY, cellSizeX, cellSizeY);
114
  }
115
  }
116
  }
 
134
  canvas_before.addEventListener('mouseup', handleMouseUp);
135
  canvas_before.addEventListener('mouseleave', handleMouseLeave);
136
 
137
+ cellSizeX = canvas_before.width / gridSize;
138
+ cellSizeY = canvas_before.height / gridSize;
139
 
140
  canvas_before.addEventListener('click', (event) => {
141
  const rect = canvas_before.getBoundingClientRect();
 
143
  const scaleY = canvas_before.height / rect.height;
144
  const x = (event.clientX - rect.left) * scaleX;
145
  const y = (event.clientY - rect.top) * scaleY;
146
+ const row = Math.floor(y / cellSizeY);
147
+ const col = Math.floor(x / cellSizeX);
148
 
149
  // If the cell is already selected, it's always allowed to deselect it
150
  if (grid_bef[row][col]) {
 
182
  canvas_after.addEventListener('mouseup', handleMouseUp);
183
  canvas_after.addEventListener('mouseleave', handleMouseLeave);
184
 
185
+ cellSizeX = canvas_after.width / gridSize;
186
+ cellSizeY = canvas_after.height / gridSize;
187
 
188
  canvas_after.addEventListener('click', (event) => {
189
  const rect = canvas_after.getBoundingClientRect();
 
191
  const scaleY = canvas_after.height / rect.height;
192
  const x = (event.clientX - rect.left) * scaleX;
193
  const y = (event.clientY - rect.top) * scaleY;
194
+ const row = Math.floor(y / cellSizeY);
195
+ const col = Math.floor(x / cellSizeX);
196
 
197
  // If the cell is already selected, it's always allowed to deselect it
198
  if (grid_aft[row][col]) {