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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
package tim.prune.function;
import tim.prune.App;
import tim.prune.DataSubscriber;
import tim.prune.GenericFunction;
import tim.prune.I18nManager;
import tim.prune.UpdateMessageBroker;
import tim.prune.data.Photo;
import tim.prune.undo.UndoRotatePhoto;
/**
* Class to provide the function to rotate a photo
* either clockwise or anticlockwise
*/
public class RotatePhoto extends GenericFunction
{
/** Direction of rotation */
private boolean _direction = true;
/**
* Constructor
* @param inApp application object for callback
* @param inDir true for clockwise, false for anticlockwise
*/
public RotatePhoto(App inApp, boolean inDir)
{
super(inApp);
_direction = inDir;
}
/** Get the name key */
public String getNameKey() {
return _direction?"function.rotatephotoright":"function.rotatephotoleft";
}
/**
* Begin the function
*/
public void begin()
{
Photo photo = _app.getTrackInfo().getCurrentPhoto();
if (photo != null)
{
UndoRotatePhoto undo = new UndoRotatePhoto(photo, _direction);
photo.rotate(_direction);
UpdateMessageBroker.informSubscribers(DataSubscriber.PHOTOS_MODIFIED);
_app.completeFunction(undo, I18nManager.getText("confirm.rotatephoto"));
}
}
}
|