1 8 package com.nightlabs.editor2d.command; 9 10 import java.awt.geom.AffineTransform ; 11 12 import org.eclipse.draw2d.PositionConstants; 13 14 15 public class ShearCommand 16 extends AbstractTransformCommand 17 { 18 19 public ShearCommand() 20 { 21 super(); 22 } 23 24 protected double shear; 25 public double getShear() { 26 return shear; 27 } 28 public void setShear(double shear) { 29 this.shear = shear; 30 } 31 32 protected int direction; 33 public int getDirection() { 34 return direction; 35 } 36 public void setDirection(int direction) { 37 this.direction = direction; 38 } 39 40 protected AffineTransform calcAffineTransform() 41 { 42 AffineTransform at = new AffineTransform (); 43 switch (direction) 44 { 45 case(PositionConstants.EAST): 46 case(PositionConstants.WEST): 47 at.shear(shear, 1.0d); 48 break; 49 case(PositionConstants.NORTH): 50 case(PositionConstants.SOUTH): 51 at.shear(1.0d, shear); 52 setAffineTransform(at); 53 break; 54 } 55 return at; 56 } 57 58 public void execute() 59 { 60 setAffineTransform(calcAffineTransform()); 61 super.execute(); 62 } 63 64 } 65 | Popular Tags |