Crossfire JXClient, Trunk
Face.java
Go to the documentation of this file.
1 /*
2  * This file is part of JXClient, the Fullscreen Java Crossfire Client.
3  *
4  * JXClient is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * JXClient is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with JXClient; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17  *
18  * Copyright (C) 2005-2008 Yann Chachkoff
19  * Copyright (C) 2006-2017,2019-2023 Andreas Kirschbaum
20  * Copyright (C) 2010-2012,2014-2018,2020-2023 Nicolas Weeger
21  */
22 
23 package com.realtime.crossfire.jxclient.faces;
24 
25 import javax.swing.Icon;
26 import org.jetbrains.annotations.NotNull;
27 import org.jetbrains.annotations.Nullable;
28 
37 public class Face {
38 
42  public static final int SQUARE_SIZE = 32;
43 
47  private final int faceNum;
48 
52  @NotNull
53  private final String faceName;
54 
58  private final int faceChecksum;
59 
63  private int tileWidth = 1;
64 
68  private int tileHeight = 1;
69 
73  @Nullable
75 
82  public Face(final int faceNum, @NotNull final String faceName, final int faceChecksum) {
83  this.faceNum = faceNum;
84  this.faceName = faceName;
85  this.faceChecksum = faceChecksum;
86  }
87 
92  public void setFaceImages(@NotNull final FaceImages faceImages) {
93  this.faceImages = faceImages;
94  final Icon imageIcon = faceImages.getOriginalImageIcon();
95  final int width = imageIcon.getIconWidth();
96  final int height = imageIcon.getIconHeight();
97  tileWidth = (width+SQUARE_SIZE-1)/SQUARE_SIZE;
98  tileHeight = (height+SQUARE_SIZE-1)/SQUARE_SIZE;
99  }
100 
105  public int getFaceNum() {
106  return faceNum;
107  }
108 
114  @Nullable
116  return faceImages;
117  }
118 
123  @NotNull
124  public String getFaceName() {
125  return faceName;
126  }
127 
132  public int getFaceChecksum() {
133  return faceChecksum;
134  }
135 
136  @NotNull
137  @Override
138  public String toString() {
139  return faceName;
140  }
141 
146  public int getTileWidth() {
147  return tileWidth;
148  }
149 
154  public int getTileHeight() {
155  return tileHeight;
156  }
157 
158  @Override
159  public int hashCode() {
160  return faceChecksum;
161  }
162 
163  @Override
164  public boolean equals(@Nullable final Object obj) {
165  if (obj == null) {
166  return false;
167  }
168  if (obj.getClass() != Face.class) {
169  return false;
170  }
171  final Face face = (Face)obj;
172  return faceNum == face.faceNum;
173  }
174 
175 }
com.realtime.crossfire.jxclient.faces.Face.getFaceName
String getFaceName()
Definition: Face.java:124
com.realtime.crossfire.jxclient.faces.Face.Face
Face(final int faceNum, @NotNull final String faceName, final int faceChecksum)
Definition: Face.java:82
com.realtime.crossfire.jxclient.faces.Face.tileWidth
int tileWidth
Definition: Face.java:63
com.realtime.crossfire.jxclient.faces.Face.getFaceImages
FaceImages getFaceImages()
Definition: Face.java:115
com.realtime.crossfire.jxclient.faces.Face.equals
boolean equals(@Nullable final Object obj)
Definition: Face.java:164
com.realtime.crossfire.jxclient.faces.Face.tileHeight
int tileHeight
Definition: Face.java:68
com.realtime.crossfire.jxclient.faces.Face.faceNum
final int faceNum
Definition: Face.java:47
com.realtime.crossfire.jxclient.faces.Face.faceChecksum
final int faceChecksum
Definition: Face.java:58
com.realtime.crossfire.jxclient.faces.FaceImages.getOriginalImageIcon
ImageIcon getOriginalImageIcon()
Definition: FaceImages.java:69
com.realtime.crossfire.jxclient.faces.Face.getTileHeight
int getTileHeight()
Definition: Face.java:154
com.realtime.crossfire.jxclient.faces.Face.toString
String toString()
Definition: Face.java:138
com.realtime.crossfire.jxclient.faces.Face.SQUARE_SIZE
static final int SQUARE_SIZE
Definition: Face.java:42
com.realtime.crossfire.jxclient.faces.Face.getTileWidth
int getTileWidth()
Definition: Face.java:146
com.realtime.crossfire.jxclient.faces.Face.setFaceImages
void setFaceImages(@NotNull final FaceImages faceImages)
Definition: Face.java:92
com.realtime.crossfire.jxclient.faces.Face.hashCode
int hashCode()
Definition: Face.java:159
com.realtime.crossfire.jxclient.faces.Face.getFaceNum
int getFaceNum()
Definition: Face.java:105
com.realtime.crossfire.jxclient.faces.Face.faceImages
FaceImages faceImages
Definition: Face.java:74
com.realtime.crossfire.jxclient.faces.Face.getFaceChecksum
int getFaceChecksum()
Definition: Face.java:132
com.realtime.crossfire.jxclient.faces.Face
Definition: Face.java:37
com.realtime.crossfire.jxclient.faces.FaceImages
Definition: FaceImages.java:32
com.realtime.crossfire.jxclient.faces.Face.faceName
final String faceName
Definition: Face.java:53