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 package org.vectomatic.dom.svg;
31
32
33
34
35
36 public class OMRGBColor {
37 private OMCSSPrimitiveValue red;
38 private OMCSSPrimitiveValue green;
39 private OMCSSPrimitiveValue blue;
40 public OMRGBColor(float r, float g, float b) {
41 red = new OMCSSPrimitiveValue(r);
42 green = new OMCSSPrimitiveValue(g);
43 blue = new OMCSSPrimitiveValue(b);
44 }
45
46 @Override
47 public int hashCode() {
48 return (int)red.getFloatValue(OMCSSPrimitiveValue.CSS_NUMBER) + 256 * (int)green.getFloatValue(OMCSSPrimitiveValue.CSS_NUMBER) + 65536 * (int)blue.getFloatValue(OMCSSPrimitiveValue.CSS_NUMBER);
49 }
50
51 @Override
52 public boolean equals(Object obj) {
53 if (obj instanceof OMRGBColor) {
54 OMRGBColor c = (OMRGBColor)obj;
55 return red.getFloatValue(OMCSSPrimitiveValue.CSS_NUMBER) == c.getRed().getFloatValue(OMCSSPrimitiveValue.CSS_NUMBER)
56 && green.getFloatValue(OMCSSPrimitiveValue.CSS_NUMBER) == c.getGreen().getFloatValue(OMCSSPrimitiveValue.CSS_NUMBER)
57 && blue.getFloatValue(OMCSSPrimitiveValue.CSS_NUMBER) == c.getBlue().getFloatValue(OMCSSPrimitiveValue.CSS_NUMBER);
58 }
59 return false;
60 }
61
62
63 public final OMCSSPrimitiveValue getRed() {
64 return this.red;
65 }
66 public final OMCSSPrimitiveValue getGreen() {
67 return this.green;
68 }
69 public final OMCSSPrimitiveValue getBlue() {
70 return this.blue;
71 }
72 public String getDescription() {
73 StringBuilder builder = new StringBuilder("OMRGBColor(r=");
74 builder.append(red);
75 builder.append(", g=");
76 builder.append(green);
77 builder.append(", b=");
78 builder.append(blue);
79 builder.append(")");
80 return builder.toString();
81 }
82
83 }