KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > nightlabs > editor2d > command > ShearCommand


1 /**
2  * <p> Project: com.nightlabs.editor2d </p>
3  * <p> Copyright: Copyright (c) 2004 </p>
4  * <p> Company: NightLabs GmbH (Germany) </p>
5  * <p> Creation Date: 14.04.2005 </p>
6  * <p> Author: Daniel Mazurek </p>
7 **/

8 package com.nightlabs.editor2d.command;
9
10 import java.awt.geom.AffineTransform JavaDoc;
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 JavaDoc calcAffineTransform()
41   {
42     AffineTransform JavaDoc at = new AffineTransform JavaDoc();
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