keyboard accelerators
[fanfix.git] / src / jexer / bits / CellAttributes.java
index a3d912cc433805c2a771af156732bc06fe999d7d..d1aea2cfded151f64b7fab265f48e328afa1ebd7 100644 (file)
@@ -242,12 +242,32 @@ public class CellAttributes {
             && (backColor == that.backColor));
     }
 
+    /**
+     * Hashcode uses all fields in equals().
+     *
+     * @return the hash
+     */
+    @Override
+    public int hashCode() {
+        int A = 13;
+        int B = 23;
+        int hash = A;
+        hash = (B * hash) + (bold ? 1 : 0);
+        hash = (B * hash) + (blink ? 1 : 0);
+        hash = (B * hash) + (underline ? 1 : 0);
+        hash = (B * hash) + (reverse ? 1 : 0);
+        hash = (B * hash) + (protect ? 1 : 0);
+        hash = (B * hash) + foreColor.hashCode();
+        hash = (B * hash) + backColor.hashCode();
+        return hash;
+    }
+
     /**
      * Set my field values to that's field.
      *
      * @param rhs another CellAttributes instance
      */
-    public void setTo(Object rhs) {
+    public void setTo(final Object rhs) {
         CellAttributes that = (CellAttributes) rhs;
 
         this.bold      = that.bold;