1 27 28 package org.nightlabs.editor2d.command; 29 30 import java.awt.geom.AffineTransform ; 31 32 import org.eclipse.draw2d.PositionConstants; 33 34 35 public class ShearCommand 36 extends AbstractTransformCommand 37 { 38 39 public ShearCommand() 40 { 41 super(); 42 } 43 44 protected double shear; 45 public double getShear() { 46 return shear; 47 } 48 public void setShear(double shear) { 49 this.shear = shear; 50 } 51 52 protected int direction; 53 public int getDirection() { 54 return direction; 55 } 56 public void setDirection(int direction) { 57 this.direction = direction; 58 } 59 60 protected AffineTransform calcAffineTransform() 61 { 62 AffineTransform at = new AffineTransform (); 63 switch (direction) 64 { 65 case(PositionConstants.EAST): 66 case(PositionConstants.WEST): 67 at.shear(shear, 1.0d); 68 break; 69 case(PositionConstants.NORTH): 70 case(PositionConstants.SOUTH): 71 at.shear(1.0d, shear); 72 setAffineTransform(at); 73 break; 74 } 75 return at; 76 } 77 78 public void execute() 79 { 80 setAffineTransform(calcAffineTransform()); 81 super.execute(); 82 } 83 84 } 85 | Popular Tags |