import swarm.Globals;
import swarm.simtoolsgui.GUISwarmImpl;
import swarm.gui.PixmapCImpl;
import swarm.gui.PixmapImpl;
import swarm.gui.PixmapC;
import swarm.gui.Pixmap;
import swarm.gui.Raster;
import swarm.gui.RasterImpl;
import swarm.gui.ColormapImpl;
import swarm.gui.Colormap;
import swarm.defobj.Zone;

public class TestPixmap extends GUISwarmImpl {
    static void main (String args[]) {
        Globals.env.initSwarm ("TestCanvas", "0.0", "bug-swarm@swarm.org",
                               args);

        TestPixmap testPixmap = new TestPixmap (Globals.env.globalZone);

        testPixmap.buildObjects ();
        testPixmap.buildActions ();
        testPixmap.activateIn (null);
        testPixmap.go ();
    }

    public TestPixmap (Zone aZone) {
        super (aZone);
    }

    public Object buildObjects () {
        super.buildObjects ();

        Colormap colormap = new ColormapImpl (getZone ());
        colormap.setColor$ToName ((byte) 0, "red");

        Raster r = new RasterImpl (getZone ());
        r.setWindowTitle ("My raster");
        r.setWidth$Height (200, 200);
        r.erase ();
        r.setColormap (colormap);
        r.pack ();

        PixmapC pixmapC = new PixmapCImpl (new PixmapImpl ());

        pixmapC.createBegin (getZone ());
        String appDir = Globals.env.arguments.getAppDataPath ();

        pixmapC.setDirectory (appDir);
        pixmapC.setFile ("ant.png");
        Pixmap pixmap = (Pixmap) pixmapC.createEnd ();
        pixmap.setRaster (r);

        pixmap.drawX$Y (50, 50);

        return this;
    }
}

