TranslateCommand.java :  » Game » tp01-inf111 » controller » transformation » Java Open Source

Java Open Source » Game » tp01 inf111 
tp01 inf111 » controller » transformation » TranslateCommand.java
/*
   This file is part of j2dcg.
   j2dcg 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 2 of the License, or
   (at your option) any later version.
   j2dcg 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 j2dcg; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/
package controller.transformation;

import java.awt.geom.AffineTransform;
import java.util.Iterator;
import java.util.List;

import controller.Command;
import controller.MementoTracker;

import model.Shape;

/**
 * <p>Title: TranslateCommand</p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2004 Eric Paquette</p>
 * <p>Company: (TS) - cole de Technologie Suprieure</p>
 * <p>Created on: 2004-03-15</p>
 * @author Eric Paquette
 * @version $Revision: 1.2 $
 */
public class TranslateCommand extends Command {

  public TranslateCommand(int aX, int aY, List<?> aObjects) {
    x = aX;
    y = aY;
    objects = aObjects;
  }
  /* (non-Javadoc)
   * @see controller.Command#execute()
   */
  public void execute() {
    Iterator<?> iter = objects.iterator();
    Shape shape;
    while(iter.hasNext()){
      shape = (Shape)iter.next();
      mt.addMememto(shape);
      AffineTransform t = shape.getAffineTransform();
      t.translate(x,y);
      shape.setAffineTransform(t);
    }
  }

  /* (non-Javadoc)
   * @see controller.Command#undo()
   */
  public void undo() {
    mt.setBackMementos();
  }

  private MementoTracker mt = new MementoTracker();
  private List<?> objects;
  private int x;
  private int y;
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.