// XAAL toolkit // Copyright (C) 2009 Ville Karavirta // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . package xaal.objects.animation.graphical; import java.util.HashMap; import java.util.Iterator; import xaal.objects.AddCoordinate; import xaal.objects.Xaal; import xaal.objects.animation.GraphicalOperation; import xaal.objects.graphical.Coordinate; import xaal.objects.graphical.GraphicalPrimitive; public class RotateOperation extends GraphicalOperation implements AddCoordinate { private String type = "simple"; private Coordinate coordinate; private int degree; public Coordinate getCoordinate() { return coordinate; } public void addCoordinate(Coordinate coordinate) { this.coordinate = coordinate; } public RotateOperation(Xaal xaalDoc) { super(xaalDoc); } public String getType() { return type; } public void setType(String type) { this.type = type; } public int getDegree() { return degree; } public void setDegree(int degree) { this.degree = degree; } public void setDegree(String degree) { try { setDegree(Integer.parseInt(degree)); } catch (NumberFormatException e) { return; } } public void apply(HashMap state) { Iterator i = getGraphicals(); while (i.hasNext()) { GraphicalPrimitive gp = (GraphicalPrimitive) i.next(); int rotation = 0; if (gp.hasProperty("rotation")) { rotation = Integer.parseInt(gp.getProperty("rotation")); } gp.setProperty("rotation", "" + (rotation + this.degree)); } } }