private Status _originalStatus = Status.NOT_CONNECTED;
/** Current photo status */
private Status _currentStatus = Status.NOT_CONNECTED;
+ /** rotation flag (clockwise from 0 to 3) */
+ private int _rotation = 0;
// TODO: Need to store caption for image?
// thumbnail for image (from exif)
private byte[] _exifThumbnail = null;
CONNECTED
};
-
/**
* Constructor
* @param inFile File object for photo
{
_dataPoint = inPoint;
// set status according to point
- if (inPoint == null)
- {
+ if (inPoint == null) {
setCurrentStatus(Status.NOT_CONNECTED);
}
- else
- {
+ else {
setCurrentStatus(Status.CONNECTED);
}
}
_currentStatus = inStatus;
}
+ /**
+ * @return true if photo is connected to a point
+ */
+ public boolean isConnected()
+ {
+ return _currentStatus != Status.NOT_CONNECTED;
+ }
+
/**
* @return byte array of thumbnail data
*/
return (inOther != null && inOther.getFile() != null && getFile() != null
&& inOther.getFile().equals(getFile()));
}
+
+ /**
+ * @param inRotation initial rotation value (from exif)
+ */
+ public void setRotation(int inRotation)
+ {
+ if (inRotation >= 0 && inRotation <= 3) {
+ _rotation = inRotation;
+ }
+ }
+
+ /**
+ * Rotate the image by 90 degrees
+ * @param inRight true to rotate right, false for left
+ */
+ public void rotate(boolean inRight)
+ {
+ int dir = inRight?1:3;
+ _rotation = (_rotation + dir) % 4;
+ }
+
+ /**
+ * @return rotation status
+ */
+ public int getRotationDegrees()
+ {
+ return _rotation * 90;
+ }
}