-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript.js
69 lines (57 loc) · 1.46 KB
/
script.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
class Picker{
constructor(){
this.colorPkr = document.createElement("canvas");
this.canvas = this.colorPkr.getContext("2d");
this.rgbGen();
};
rgbGen(){
let end = 255;
let step = 5;
for (let r = 0; r < end; r++){
for (let g = 0; g < end; g++){
for(let b = 0; b < end; b++){
this.canvas.fillStyle = "rgb(${r}, ${g}, ${b})"
this.canvas.fillRect(r,g,1,1);
}
}
}
};
getCanvasElement(){
return this.colorPkr;
}
slider(id="", min=0, max=1, step=1){
var s = document.createElement("input");
s.min = min;
s.max = max;
s.step = step;
s.id = id;
s.class = "slider";
return s;
};
};
class Layer {
constructor(){
this.layer = new Array();
this.layer.push(new Picker().getCanvasElement());
};
getLayer(){
return this.layer;
};
};
class LayerStack{
constructor(){
this.layerCount = 0;
this.initLayer = new Layer();
this.add(this.initLayer);
};
add(layer){
this.insertAfter(layer['layer'][0], document.getElementById("layers"));
this.layerCount += 1;
};
insertAfter(newNode, referenceNode) {
referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
}
};
l1 = new Layer();
LS = new LayerStack();
LS.add(l1.getLayer());