Projekt

Obecné

Profil

Stáhnout (1.88 KB) Statistiky
| Větev: | Tag: | Revize:
1
/**
2
* This class represents creation of symbols.
3
*/
4
function MarkSymbol() {
5
	var CONST_MARK_SYMBOLS = ["", "", "", "", "", "", "", "", "", "",
6
	"", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
7
	"", "", "", "", "", "", "", "", "", "", "", "", "", "",
8
	"", "+", "-", "*", "÷", "×", "=", "±", "Ø", "~", "«", "»", "¤", "", "§",
9
	"", "!", "#", "$", "%", "&", "@", "A", "B", "C", "D", "E", "F", "G", "H",
10
	"I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W",
11
	"X", "Y", "Z",   "©", "®", "α", "β", "γ", "δ", "ε", "ζ", "η", "θ", "ι", "κ",
12
	"λ", "μ", "ν", "ξ", "π", "ρ", "σ", "τ", "υ", "φ", "χ", "ψ", "ω", "Ω", "Φ",
13
	"Σ", "Λ", "Δ", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
14
	
15
	var CONST_MARK_COLORS = ["#DC143C", "#B23AEE", "#63B8FF", "#3D9140", "#B3EE3A",
16
	"#FFD700", "#B7B7B7", "#FF8000"];
17

    
18
	var removeMarkSymbolMap = [];
19
	var symbolIndex = -1;
20
	var colorIndex = -1;
21
	var startColorIndex = 0;
22

    
23
	/**
24
	* Returns symbol with unique char and color.
25
	*/
26
	this.getMarkSymbol = function() {
27
		if (removeMarkSymbolMap.length > 0) {
28
			//vyjme a vrati prvni prvek pole
29
			return removeMarkSymbolMap.shift();
30
		}
31
		
32
		symbolIndex++;
33
		colorIndex++;
34
		
35
		if (colorIndex == CONST_MARK_COLORS.length) {
36
			colorIndex = 0;
37
		}
38
		
39
		if (symbolIndex == CONST_MARK_SYMBOLS.length) {
40
			if (startColorIndex == CONST_MARK_COLORS.length) {
41
				startColorIndex = 0;
42
			}
43
			
44
			symbolIndex = 0;
45
			startColorIndex++;
46
			colorIndex = startColorIndex;
47
		}
48
		
49
		return [CONST_MARK_SYMBOLS[symbolIndex], CONST_MARK_COLORS[colorIndex]];
50
	};
51

    
52
	/**
53
	 * Save removed symbol (char + color) to the list of removes symbols.
54
	 *
55
	 * @param symbol symbol to be removed
56
	 */
57
	this.removeSymbol = function(symbol) {
58
		removeMarkSymbolMap.push(symbol);
59
	};
60
}
(12-12/19)