1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.imaging.color;
18
19
20
21
22
23
24
25
26
27
28
29 public final class ColorCmyk {
30
31
32
33
34
35
36
37
38
39
40
41 public static final ColorCmyk CYAN = new ColorCmyk(100, 0, 0, 0);
42
43
44
45
46
47
48
49
50
51
52
53 public static final ColorCmyk MAGENTA = new ColorCmyk(0, 100, 0, 0);
54
55
56
57
58
59
60
61
62
63
64
65 public static final ColorCmyk YELLOW = new ColorCmyk(0, 0, 100, 0);
66
67
68
69
70
71
72
73
74
75
76
77 public static final ColorCmyk BLACK = new ColorCmyk(0, 0, 0, 100);
78
79
80
81
82
83
84
85
86
87
88
89 public static final ColorCmyk WHITE = new ColorCmyk(0, 0, 0, 0);
90
91
92
93
94
95
96
97
98
99
100
101 public static final ColorCmyk RED = new ColorCmyk(0, 100, 100, 0);
102
103
104
105
106
107
108
109
110
111
112
113 public static final ColorCmyk GREEN = new ColorCmyk(100, 0, 100, 0);
114
115
116
117
118
119
120
121
122
123
124
125 public static final ColorCmyk BLUE = new ColorCmyk(100, 100, 0, 0);
126
127 public final double c;
128 public final double m;
129 public final double y;
130 public final double k;
131
132 public ColorCmyk(final double c, final double m, final double y, final double k) {
133 this.c = c;
134 this.m = m;
135 this.y = y;
136 this.k = k;
137 }
138
139 @Override
140 public boolean equals(final Object o) {
141 if (this == o) {
142 return true;
143 }
144 if (o == null || getClass() != o.getClass()) {
145 return false;
146 }
147
148 final ColorCmyk colorCmyk = (ColorCmyk) o;
149 if (Double.compare(colorCmyk.c, c) != 0) {
150 return false;
151 }
152 if (Double.compare(colorCmyk.k, k) != 0) {
153 return false;
154 }
155 if (Double.compare(colorCmyk.m, m) != 0) {
156 return false;
157 }
158 if (Double.compare(colorCmyk.y, y) != 0) {
159 return false;
160 }
161
162 return true;
163 }
164
165 @Override
166 public int hashCode() {
167 int result;
168 long temp;
169 temp = Double.doubleToLongBits(c);
170 result = (int) (temp ^ temp >>> 32);
171 temp = Double.doubleToLongBits(m);
172 result = 31 * result + (int) (temp ^ temp >>> 32);
173 temp = Double.doubleToLongBits(y);
174 result = 31 * result + (int) (temp ^ temp >>> 32);
175 temp = Double.doubleToLongBits(k);
176 return 31 * result + (int) (temp ^ temp >>> 32);
177 }
178
179 @Override
180 public String toString() {
181 return "{C: " + c + ", M: " + m + ", Y: " + y + ", K: " + k + "}";
182 }
183 }