Loading...
Searching...
No Matches
src
js
add_mouse_listeners.h
1
3
const
char
* add_mouse_listeners = R
"JS(/* src/js/add_mouse_listeners.js */
4
function add_coord_monitor(frame, monitor){
5
6
7
8
const BBOX_KEY='data-bbox';
9
if (frame.hasAttribute(BBOX_KEY)){
10
const bbox = frame.getAttribute(BBOX_KEY).split(',');
11
const xLL = parseFloat(bbox[0]);
12
const yLL = parseFloat(bbox[1]);
13
const xUR = parseFloat(bbox[2]);
14
const yUR = parseFloat(bbox[3]);
15
console.log(bbox);
16
set_image_coord_tracker(frame, (x,y) => {
17
const width = xUR-xLL;
18
const height = yUR-yLL;
19
monitor.textContent = ''+Math.round(xLL + x*width)+','+Math.round(yLL + (1.0-y)*height)
20
})
21
}
22
else {
23
console.warn('element having class[', clsName, '] is missing attribute "' + BBOX_VARNAME, '"')
24
console.warn(frame)
25
}
26
27
}
28
29
function add_data_monitor(frame, monitor){
30
var data_arrays = panel.getElementsByClassName('DATA_ARRAY')
31
if (data_arrays.length>0){
32
var data_array = data_arrays[0]
33
const encoding = data_array.getAttribute('data-encoding').split(',');
34
// Under constr...
35
set_image_coord_tracker(frame, (x,y) => {
36
const width = xUR-xLL;
37
const height = yUR-yLL;
38
console.info(''+x+','+y)
39
})
40
}
41
42
}
43
44
function add_coord_tracker(){
45
46
47
//var elems = document.getElementsByClassName('MOUSE');
48
const elems = document.querySelectorAll(".MOUSE");
49
50
elems.forEach(panel => {
51
52
const frame = panel.querySelector(".IMAGE_BORDER");
53
const monitor = panel.querySelector('.MONITOR')
54
55
// Coordinate monitor
56
add_coord_monitor(frame, monitor)
57
58
var metadata = panel.querySelector(".SHARED");
59
var epsg = metadata.getAttribute('EPSGx');
60
if (metadata.hasAttribute('EPSG')){
61
epsg = metadata.getAttribute('EPSG');
62
console.info('EPSG='+epsg)
63
}
64
65
})
66
}
67
)JS";
Generated by
1.9.8