import java.awt.event.*;
import java.awt.AWTEvent;
import javax.swing.*;
//import java.awt.*;

/**
 *
 * a Simple command manipulates a Pixmap via a Pixmap member
 * function. The pixmap member function is encapsulated
 * in a PixmapOperator object
 *
 * @see PixmapOperator
 *
 * @author Syam Gadde
 * @author Owen Astrachan
 *
 */

class SimpCommand extends Command implements ActionListener
{
    /**
     * @param app the application that can fire this command
     * @param op the encapsulated Pixmap operation
     */
    
    public SimpCommand(PixController control, PixmapOperator op)
    {
	myControl = control;
	myOp = op;
    }

    public void actionPerformed(ActionEvent ev)
    {
	execute(ev);
    }	

    public void execute(AWTEvent evt)
    {
	Pixmap pix = myControl.getActiveMap();
	if (pix == null) return;

	myOp.operate(pix);
    }
    
    private PixController myControl; // associated controller
    private PixmapOperator myOp;     // encapsulated Pixmap operation
}
