Skip to content

Commit 66f971d

Browse files
committed
update
1 parent ab6eab9 commit 66f971d

9 files changed

Lines changed: 92 additions & 32 deletions

assets/js/AllPalettes.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,15 @@ let palSources = [
1414
"week05_empty",
1515
"week05_full",
1616
"week05_star",
17-
"week05_type"
17+
"week05_type",
1818
// "week26_circle",
1919
// "sudoku_time",
2020
// "sudoku_level",
2121
// "sudoku_hint",
2222
// "sudoku_mistake",
23+
"palette_week47_attributes",
24+
"palette_week47_duration",
25+
"palette_week47_smell"
2326

2427
]
2528

@@ -52,7 +55,7 @@ function cleanSlate() {
5255
document.getElementById("MarksPaletteList").innerHTML = ''
5356

5457
d3.select("#composition").selectAll("*").remove()
55-
d3.select("#fakePreviewSvg").selectAll("*").remove()
58+
// d3.select("#fakePreviewSvg").selectAll("*").remove()
5659

5760
}
5861

assets/js/imageHandler.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ let reducedDim = [0, 0]
22
let tfileName = ""
33

44
function loadImg(src) {
5-
5+
console.log(src);
66
let im = new Image();
77
im.crossOrigin = "Anonymous";
88

@@ -35,6 +35,8 @@ function loadImg(src) {
3535
// fillSvg(sampleData)
3636
// addAPalette()
3737

38+
resetView(can, im)
39+
3840
};
3941

4042
im.src = src

assets/js/main.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ async function loadEx2() {
160160

161161
loadImg(sampleImageList[i])
162162

163+
163164
}
164165
}
165166

@@ -1175,7 +1176,7 @@ async function loadStateFromJson(source) {
11751176
} else {
11761177
throw new Error("source must be a File or a URL string");
11771178
}
1178-
1179+
console.log(json);
11791180
const pending = [];
11801181

11811182
const state = JSON.parse(json, (key, value) => {
@@ -1244,7 +1245,7 @@ async function loadStateFromJson(source) {
12441245
function initState(state) {
12451246
cleanSlate()
12461247

1247-
console.log(state);
1248+
12481249
megaPalettes = state.megaPalettes
12491250
megaGlyph = state.megaGlyph
12501251
dataBinding = state.dataBinding
@@ -1292,6 +1293,7 @@ function initState(state) {
12921293
document.getElementById("layout-" + layout).click()
12931294

12941295
updateDotsAndSvgs()
1296+
tdrawRefactor()
12951297

12961298

12971299
}
@@ -1303,6 +1305,7 @@ async function preloadBgImg() {
13031305
"assets/tempData/sources/Stefanie_DearData_05+back.jpg"
13041306
]
13051307
for (let i = 0; i < preloadList.length; i++) {
1308+
13061309
preload[preloadList[i]] = await getImage(preloadUrl[i])
13071310

13081311
}

assets/js/serverStuff.js

Lines changed: 63 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ const serverBaseUrl = "https://randou.liris.cnrs.fr/vizapi/descript-sketches/"
33
let username = ""
44
let password = ""
55
let credentials = ""
6-
let useServer = false
6+
let useServer = true
77
let imgList
88

99
async function getPaletteList() {
@@ -12,13 +12,14 @@ async function getPaletteList() {
1212

1313

1414
for (const [key, value] of Object.entries(palettes)) {
15-
15+
console.log(value.name);
1616
let t = await loadStateFromJson(serverBaseUrl + "palettes/" + value.name)
1717

18-
console.log(t);
1918

2019
if (!t.preloadName) {
21-
t.originImg = await getImage(t.originImg)
20+
// console.log(t.originImg);
21+
// if (!t.originImg.includes("Giorgia_DearData_47_Back"))
22+
t.originImg = await getImage(t.originImg)
2223
} else {
2324
if (t.preloadName !== "") {
2425
t.originImg = preload[t.preloadName];
@@ -69,14 +70,15 @@ async function uploadPalette(palette, name) {
6970
if (tfileName !== "") {
7071

7172
if (!imgList.map(d => d.name).includes(tfileName)) {
72-
73-
pushImage(palette.originImg, tfileName)
73+
await pushImage(palette.originImg, tfileName)
7474

7575
}
76-
tt.originImg = serverBaseUrl + "images/" + tfileName + ".png"
76+
tt.originImg = serverBaseUrl + "images/" + tfileName
7777
}
7878
} else {
79-
tt.originImg = serverBaseUrl + "images/" + name + ".png"
79+
console.log(tt.originImg);
80+
// await pushImage(palette.originImg, name)
81+
tt.originImg = currImg.src
8082
}
8183
}
8284

@@ -99,8 +101,56 @@ async function uploadPalette(palette, name) {
99101
})
100102
}
101103

104+
async function pushImage(img, name) {
105+
if (credentials === "") {
106+
await login();
107+
}
108+
img.crossOrigin = "anonymous";
109+
110+
111+
112+
const MAX_SIZE = 1024;
113+
114+
let width = img.naturalWidth;
115+
let height = img.naturalHeight;
116+
117+
if (width > MAX_SIZE || height > MAX_SIZE) {
118+
const scale = Math.min(
119+
MAX_SIZE / width,
120+
MAX_SIZE / height
121+
);
122+
123+
width = Math.round(width * scale);
124+
height = Math.round(height * scale);
125+
}
126+
127+
const canvas = document.createElement("canvas");
128+
canvas.width = width;
129+
canvas.height = height;
130+
131+
const ctx = canvas.getContext("2d");
132+
ctx.drawImage(img, 0, 0, width, height);
133+
134+
135+
const blob = await new Promise(resolve =>
136+
canvas.toBlob(resolve, "image/png")
137+
);
138+
139+
const data = new FormData();
140+
data.append("file", blob, name + ".png");
141+
142+
await fetch(serverBaseUrl + "images", {
143+
method: "POST",
144+
headers: {
145+
"Authorization": `Basic ${credentials}`,
146+
},
147+
body: data
148+
});
149+
}
150+
102151

103-
function pushImage(img, name) {
152+
/*
153+
async function pushImage(img, name) {
104154
105155
if (credentials === "") {
106156
login()
@@ -111,26 +161,20 @@ function pushImage(img, name) {
111161
112162
const blob = new Blob([img], {type: 'image/png'})
113163
114-
/*
115-
data.append('file', {
116-
uri: img.src,
117-
name: name + "png",
118-
type: 'image/png',
119-
})
120-
*/
121-
122164
123165
data.append(
124166
"file",
125167
blob,
126168
name + ".png"
127169
);
128170
129-
fetch(serverBaseUrl + "images", {
171+
await fetch(serverBaseUrl + "images", {
130172
method: 'POST',
131173
headers: {
132174
"Authorization": `Basic ${credentials}`,
133175
},
134176
body: data
135177
})
136-
}
178+
179+
180+
}*/

assets/js/zoomAndPanCanvas.js

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ function enableZoomPan(canvas, image) {
4646
canvas.addEventListener("wheel", (e) => {
4747
e.preventDefault();
4848

49-
const factor = e.deltaY < 0 ? 1.1 : 1 / 1.1;
49+
const factor = e.deltaY < 0 ? 1.03 : 1 / 1.03;
5050

5151
const rect = canvas.getBoundingClientRect();
5252

@@ -77,17 +77,22 @@ function enableZoomPan(canvas, image) {
7777

7878
window.addEventListener("mousemove", (e) => {
7979
if (!isDragging) return;
80-
sampling = false
81-
const dx = e.clientX - lastX;
82-
const dy = e.clientY - lastY;
80+
sampling = false;
81+
82+
const rect = canvas.getBoundingClientRect();
83+
const scaleX = canvas.width / rect.width;
84+
const scaleY = canvas.height / rect.height;
85+
86+
const dx = (e.clientX - lastX) * scaleX;
87+
const dy = (e.clientY - lastY) * scaleY;
8388

8489
x0 -= dx / zoom;
8590
y0 -= dy / zoom;
8691

8792
lastX = e.clientX;
8893
lastY = e.clientY;
8994

90-
redraw(canvas,image);
95+
redraw(canvas, image);
9196
});
9297

9398
window.addEventListener("mouseup", () => {

assets/tempData/palettes/palette_week47_attributes.json

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

assets/tempData/palettes/palette_week47_duration.json

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

assets/tempData/palettes/palette_week47_smell.json

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

index.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,11 @@
5151
<div style="display: flex;border-bottom: 2px solid #333;width: 100vw;height: 39px;background-color: #424242">
5252
<h3 style="display: inline;font-weight: 700;margin-left:10px;color: #eeeeee;line-height: 29px">Descript</h3>
5353
<div style="display: flex;font-weight: 700;margin-left:140px;color: #eeeeee">
54-
<div>
54+
<!-- <div>
5555
<input type="checkbox" id="server" style="display: inline-block" name="server" value="server" checked onchange="switchUseServer(this.checked)">
5656
<p style="margin-right: 9px;line-height: 17px;width: 80px;display: inline-block">Use server</p>
5757
58-
</div>
58+
</div>-->
5959
<p style="margin-right: 9px;line-height: 17px;width: 80px">Load an Example...</p>
6060
<select id="stateSelector" style="color: #424242"></select>
6161
<!-- <img onclick="loadState()" src="assets/images/buttons/right.png" style="filter:invert(1);width: 25px;height: 26px;cursor: pointer">-->
@@ -248,7 +248,7 @@ <h3 style="width: 100%;text-align: center"> Loading...</h3>
248248
<div style="display: flex;width: 90%;margin-left:5px;justify-content: space-evenly; ">
249249
<div style="display: flex">
250250
<p style="margin-bottom: 0;;margin-right: 5px;margin-top: 3px;font-weight: 550">Size: </p>
251-
<input type="range" min="1" max="10" style="width: 120px;margin-bottom: 0" value="1"
251+
<input type="range" min="1" max="30" style="width: 120px;margin-bottom: 0" value="1"
252252
id="strokewidth">
253253

254254
</div>

0 commit comments

Comments
 (0)