2 * Back 2 Browser Bytecode Translator Copyright (C) 2012 Jaroslav Tulach
3 * <jaroslav.tulach@apidesign.org>
5 * This program is free software: you can redistribute it and/or modify it under
6 * the terms of the GNU General Public License as published by the Free Software
7 * Foundation, version 2 of the License.
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
14 * You should have received a copy of the GNU General Public License along with
15 * this program. Look for COPYING file in the top folder. If not, see
16 * http://opensource.org/licenses/GPL-2.0.
18 package net.java.html.canvas;
20 import java.util.Objects;
23 * Image represents an Image defined by a Path.
31 private Object cached;
32 private int cacheHash;
34 void Image(String src) {
38 void cache(Object toCache) {
39 cacheHash = hashCode();
40 this.cached = toCache;
43 private boolean isCached() {
44 return cacheHash == hashCode();
48 return isCached() ? cached : null;
51 public String getSrc() {
56 public int hashCode() {
58 hash = 59 * hash + Objects.hashCode(this.src) ^ (cached==null? 1231 : 1237);
63 public boolean equals(Object obj) {
67 if (getClass() != obj.getClass()) {
70 final Image other = (Image) obj;
71 if (!Objects.equals(this.src, other.src)) {
74 if ((cached==null) != (other.getCached()==null)){