summaryrefslogtreecommitdiff
path: root/src/drivers/DriverTypeA.java
blob: 4ad936ee70d380459df9b129cc0632d17554f998 (plain)
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
package org.manzerbredes.open_klm.drivers;

/**
 * Driver of type A (driver with is own functionalities).
 * Each driver must implement a Driver Type (to bind it's functionalities to
 * the user interface).
 * 
 * @author Manzerbredes
 *
 */
public interface DriverTypeA{
	
	
	/**
	 * Defined Region Helper
	 * 
	 * @author Manzerbredes
	 *
	 */
	public enum Region{
		LEFT(1), MIDDLE(2), RIGHT(3);
		
		private int current;
		
		Region(int current){
			this.current=current;
		}
		
		public int intValue(){
			return this.current;
		}
	}
	
	/**
	 * Defined Color Helper
	 * 
	 * @author Manzerbredes
	 *
	 */
	public enum Color{
		OFF(0),RED(1),ORANGE(2),YELLOW(3),GREEN(4),SKY(5), BLUE(6),PURPLE(7),WHITE(8);
		
		private int current;
		
		Color(int current){
			this.current=current;
		}
		
		public int intValue(){
			return this.current;
		}
	}

	/**
	 * Defined Level Helper
	 * 
	 * @author Manzerbredes
	 *
	 */
	public enum Intensity{
		HIGH(0), MEDIUM(1), LOW(2), LIGHT(3);
		
		private int current;
		
		Intensity(int current){
			this.current=current;
		}
		
		public int intValue(){
			return this.current;
		}
	}

	/**
	 * Defined Mode Helper
	 * 
	 * @author Manzerbredes
	 *
	 */
	public enum Mode{
		NORMAL(1), GAMING(2), BREATHE(3), DEMO(4), WAVE(5);
		
		private int current;
		
		Mode(int current){
			this.current=current;
		}
		
		public int intValue(){
			return this.current;
		}
	}


	/**
	 * Set color of the region
	 * @param region
	 * @param color
	 * @param intensity
	 */
	public void setRegionColor(Region region, Color color, Intensity intensity);
	
	/**
	 * Set global keyboard color
	 * @param color
	 * @param intensity
	 */
	public void setColor(Color color, Intensity intensity);
	
	/**
	 * Set global secondary color (for waves)
	 * @param color
	 * @param intensity
	 */
	public void setSecondaryColor(Color color, Intensity intensity);
	
	/**
	 * Set secondary color (for waves) by region
	 * @param region
	 * @param color
	 * @param intensity
	 */
	public void setSecondaryRegionColor(Region region, Color color, Intensity intensity);
	
	/**
	 * Set keyboard mode
	 * @param mode
	 */
	public void setMode(Mode mode);

}